We welcome help on this project, but please create all PRs with feature branches onto Master.
Download latest stable cmake from: https://cmake.org/download/
Install:
cd ./cmake-3.15.4
./bootstrap
make -j
sudo make install
The repository contains a few submodules:
To begin development, first clone the repository and related submodules
git clone --recursive https://github.com/s0l0ist/node-seal.git
cd node-seal
npm install
Inside package.json, we have several scripts to help generate the Web Assembly code.
First, initialize the Emscripten SDK build environment. This sets up a known working version of the SDK to build the project:
npm run em:update # Updates the tag information
Finally, configure the Microsoft SEAL build settings:
npm run build # Will build the two MS-SEAL variants (allows, throws), supporting `node`, `web`, and `worker` emscripten environments. Mac M1+ machines will need to install rosetta (`softwareupdate --install-rosetta`) for the closure compiler.
npm run test # Will run jest tests on the *.ts files
npm run coverage # Check coverage
npm run compile # Test compile before bundling, useful for debugging
To clean all generated artifacts:
npm run clean
If you want to build your own bundle, perform the steps above and then the following:
npm run rollup # Compiles all TS files, generates declarations, performs minification and places them into `./dist`
npm run publish:test # Simulates publishing the bundle to `node-seal`