@nmshd/rs-crypto-node v0.13.0
crypto-layer-node
!WARNING Currently this node plugin crashes quite ungracefully. (See #Debugging)
!WARNING File storage works with fs locks and closing is sluggish. Closing and reopening a provider with the same file store might result in an db lock error.
Crypto Layer TS interface for nodejs.
This project was bootstrapped by create-neon.
Building crypto-layer-node
Building crypto-layer-node requires a supported version of Node and Rust.
To run the build, run:
npm i
npm run buildThis command uses the @neon-rs/cli utility to assemble the binary Node addon from the output of cargo.
Debugging
Compile the library with debug:
npm run debugActivate logging:
RUST_LOG=trace$env:RUST_LOG="trace"Available levels are
trace,debug,info,warnanderror.It is possible to filter according to modules (see the docs).
Activate full backtrace:
RUST_BACKTRACE=full$env:RUST_BACKTRACE="full"
Available Scripts
In the project directory, you can run:
npm run build
Builds the Node addon (index.node) from source, generating a release build with cargo --release.
Additional cargo build arguments may be passed to npm run build and similar commands. For example, to enable a cargo feature:
npm run build -- --feature=beetlenpm run debug
Similar to npm run build but generates a debug build with cargo.
npm run cross
Similar to npm run build but uses cross-rs to cross-compile for another platform. Use the CARGO_BUILD_TARGET environment variable to select the build target.
npm run release
Initiate a full build and publication of a new patch release of this library via GitHub Actions.
npm run dryrun
Initiate a dry run of a patch release of this library via GitHub Actions. This performs a full build but does not publish the final result.
npm test
Runs the unit tests written with jest.
The project must be compiled with npm run debug (recommended) or npm run build beforehand.
Consider running the tests with logging and full backtrace:
RUST_LOG=info RUST_BACKTRACE=full npm testProject Layout
The directory structure of this project is:
node-plugin/
├── Cargo.toml
├── README.md
├── lib/
├── src/
| ├── index.mts
| └── index.cts
├── crates/
| └── crypto-layer-ts/
| └── src/
| └── lib.rs
├── platforms/
├── package.json
└── target/| Entry | Purpose |
|---|---|
Cargo.toml | The Cargo manifest file, which informs the cargo command. |
README.md | This file. |
lib/ | The directory containing the generated output from tsc. |
src/ | The directory containing the TypeScript source files. |
index.mts | Entry point for when this library is loaded via ESM import syntax. |
index.cts | Entry point for when this library is loaded via CJS require. |
crates/ | The directory tree containing the Rust source code for the project. |
lib.rs | Entry point for the Rust source code. |
platforms/ | The directory containing distributions of the binary addon backend for each platform supported by this library. |
package.json | The npm manifest file, which informs the npm command. |
target/ | Binary artifacts generated by the Rust build. |
Learn More
Learn more about:
8 months ago
8 months ago
8 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago
11 months ago
11 months ago
11 months ago