A set of JavaScript/TypeScript bindings for Sogouda
MPL-2.0 License
@sogouda/bindings
@sogouda/bindings
: A set of JavaScript/TypeScript bindings for Sogouda
This project was bootstrapped by create-neon
.
@sogouda/bindings
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
.
@sogouda/bindings
After building @sogouda/bindings
, you can explore its exports at the Node console:
$ npm i
$ npm run build
$ node
> require('.').start()
In the project directory, you can run:
npm install
Installs the project, including running npm run build
.
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
npm 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 test
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 . |
index.d.ts |
Type definitions for index.node . |
package.json |
The npm manifest file, which informs the npm command. |
target/ |
Binary artifacts generated by the Rust build. |
Learn more about: