Skip to content

Latest commit

 

History

History
68 lines (46 loc) · 1.76 KB

CONTRIBUTING.md

File metadata and controls

68 lines (46 loc) · 1.76 KB

Contributing

We welcome help on this project, but please create all PRs with feature branches onto Master.

Requirements

Cmake > 3.12

Download latest stable cmake from: https://cmake.org/download/

Install:

cd ./cmake-3.15.4
./bootstrap
make -j
sudo make install

Development

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`