
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
node-sword-interface
Advanced tools
node-sword-interface is a nodejs module that wraps the SWORD library which gives access to Bible text modules and related ressources. It has been created for use within the Ezra Bible App Bible study software, but it can also be used for any other nodejs-based software that needs to interface with the SWORD library. node-sword-interface supports Bible modules and dictionary modules that are keyed with Strong's numbers. node-sword-interface works on Windows, macOS, Linux and Android (via nodejs-mobile).
The currently used SWORD version is SVN Rev. 3894 (1.9.x / sword trunk from November 2023).
node-sword-interface focusses on discovery, installation/removal and text loading of SWORD modules. It currently covers the following usecases:
The following example can be executed (after building node-sword-interface) using the following command:
node examples/install_kjv.js
const NodeSwordInterface = require('node-sword-interface');
var interface = new NodeSwordInterface();
async function installKJV() {
console.log("Updating repository configuration ...");
await interface.updateRepositoryConfig();
console.log("Installing King James module");
// Install the King James Version (Uses the internet connection to download and install the module)
await interface.installModule('KJV');
}
installKJV().then(() => {
console.log("Installation of KJV successfully completed!");
});
The following example can be executed (after building node-sword-interface) using the following command:
node examples/print_kjv_matthew.js
const NodeSwordInterface = require('node-sword-interface');
var interface = new NodeSwordInterface();
function printKjvInfo() {
// Print some module information
var kjv = interface.getLocalModule('KJV');
console.log(kjv.description);
console.log(kjv.about);
}
function printMatthew() {
// Get the verses of the Gospel of Matthew
var verses = interface.getBookText('KJV', 'Mat');
// Do something with the verses
for (var i = 0; i < verses.length; i++) {
var currentVerse = verses[i];
var verseReference = currentVerse.chapter + ':' + currentVerse.verseNr;
console.log(verseReference + ' ' + currentVerse.content);
}
}
printKjvInfo();
printMatthew();
The Javascript API of node-sword-interface is documented here.
Before installing node-sword-interface you need to make sure that the following dependencies are installed:
Below you find the OS-specific instructions for installing the dependencies.
These installation instructions are working on Debian/Ubuntu based Linux distributions.
To install the dependencies issue the following command on a Debian/Ubuntu based distribution:
sudo apt-get install build-essential nodejs npm libcurl4-gnutls-dev zlib1g-dev pkg-config cmake subversion
xcode-select --install/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"brew install pkg-config cmake npm
Once the dependencies are available you can install and build the latest node-sword-interface release from npmjs.com by issuing the following command:
npm install node-sword-interface
On Windows, you need to add --arch=ia32 at the end of the command:
npm install node-sword-interface --arch=ia32
FAQs
Javascript (N-API) interface to SWORD library
The npm package node-sword-interface receives a total of 1,807 weekly downloads. As such, node-sword-interface popularity was classified as popular.
We found that node-sword-interface demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.