-
Notifications
You must be signed in to change notification settings - Fork 286
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
create-neon README #697
create-neon README #697
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# Create Neon | ||
|
||
The `create-neon` tool bootstraps [Neon](https://neon-bindings.com) projects, which allows developers to build binary Node modules written in [Rust](https://www.rust-lang.org). | ||
|
||
## Usage | ||
|
||
You can conveniently use this tool with the [`npm init`](https://docs.npmjs.com/cli/v7/commands/npm-init) syntax: | ||
|
||
```sh | ||
$ npm init neon my-project | ||
``` |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,82 @@ | ||
# {{package.name}} | ||
|
||
{{#if package.description}} | ||
{{package.description}} | ||
*{{package.name}}:* {{package.description}} | ||
|
||
{{/if}} | ||
This project was bootstrapped by [create-neon](https://www.npmjs.com/package/create-neon). | ||
|
||
## Building {{package.name}} | ||
|
||
Building {{package.name}} requires a [supported version of Node and Rust](https://github.com/neon-bindings/neon#platform-support). | ||
|
||
You can build the project with npm. In the project directory, run: | ||
|
||
```sh | ||
$ npm install | ||
``` | ||
|
||
## Exploring {{package.name}} | ||
|
||
After building {{package.name}}, you can explore its exports at the Node REPL: | ||
|
||
```sh | ||
$ npm install | ||
$ node | ||
> require('.').hello() | ||
"hello node" | ||
``` | ||
|
||
## Available Scripts | ||
|
||
In the project directory, you can run: | ||
|
||
### `npm install` | ||
|
||
Builds the project from source. | ||
|
||
### `npm test` | ||
|
||
Runs the unit tests by calling `cargo test`. You can learn more about [adding tests to your Rust code](https://doc.rust-lang.org/book/ch11-01-writing-tests.html) from the [Rust book](https://doc.rust-lang.org/book/). | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can you add |
||
## Project Layout | ||
|
||
The directory structure of this project is: | ||
|
||
``` | ||
{{package.name}}/ | ||
├── Cargo.toml | ||
├── README.md | ||
├── index.node | ||
├── package.json | ||
└── src | ||
└── lib.rs | ||
``` | ||
|
||
### Cargo.toml | ||
|
||
The Cargo [manifest file](https://doc.rust-lang.org/cargo/reference/manifest.html), which informs the `cargo` command. | ||
|
||
### README.md | ||
|
||
This file. | ||
|
||
### index.node | ||
|
||
The binary module generated by building the project. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can you add a bit explaining that this is a C dynamic shared library generated by |
||
|
||
### package.json | ||
|
||
The npm [manifest file](https://docs.npmjs.com/cli/v7/configuring-npm/package-json), which informs the `npm` command. | ||
|
||
### src/lib.rs | ||
|
||
The Rust library's main module. | ||
|
||
## Learn More | ||
|
||
To learn more about Neon, see the [Neon documentation](https://neon-bindings.com). | ||
|
||
To learn more about Rust, see the [Rust documentation](https://www.rust-lang.org). | ||
|
||
To learn more about Node, see the [Node documentation](https://nodejs.org). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would call this installing and not building. Building can be documented as
npm run build
. In many cases, users will want to runnpm run build
instead ofnpm install
because it will be more efficient.npm install
needs to check the dependency tree and potentially install updates.