@sogouda/bindings
: A set of JavaScript/TypeScript bindings for Sogouda
This project was bootstrapped by create-neon
.
Building @sogouda/bindings
requires a supported version of Node and Rust.
To run the build, run:
$ npm run build
This command uses the @neon-rs/cli
utility to assemble the binary Node addon from the output of cargo
.
After building @sogouda/bindings
, you can explore its exports at the Node console:
$ npm i
$ npm run build
$ node
> require('.').hello()
'hello node'
In the project directory, you can run:
Installs the project, including running 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=beetle
Similar to npm run build
but generates a debug build with cargo
.
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.
Runs the unit tests by calling cargo test
. You can learn more about adding tests to your Rust code from the Rust book.
The directory structure of this project is:
@sogouda/bindings/
├── Cargo.toml
├── README.md
├── src/
| └── lib.rs
├── index.node
├── package.json
└── target/
Entry | Purpose |
---|---|
Cargo.toml |
The Cargo manifest file, which informs the cargo command. |
README.md |
This file. |
src/ |
The directory tree containing the Rust source code for the project. |
lib.rs |
Entry point for the Rust source code. |
index.node |
The main module, a Node addon generated by the build and pointed to by "main" in package.json . |
package.json |
The npm manifest file, which informs the npm command. |
target/ |
Binary artifacts generated by the Rust build. |
Learn more about: