@chartshq/datamodel
Version:
An environment with `node`, `rustup` and `wasm-pack` set up.
65 lines (40 loc) • 1.74 kB
Markdown
## Pre-requirements
An environment with `node`, `rustup` and `wasm-pack` set up.
## How to install
```sh
npm install
```
## How to run in debug mode
```sh
# Builds the project and opens it in a new browser tab. Auto-reloads when the project changes.
npm start
```
## How to build in release mode
```sh
# Builds the project and places it into the `dist` folder.
npm run build
```
## How to run unit tests
```sh
# Runs all dev tests after a new build
npm run test:dev
# Runs ts tests with an available build
npm run ut:ts
# Runs rs tests with a new dev build
npm run ut:rs
# Runs ts tests with a new dev build
npm run test:dev-ts
# Get ts coverage
npm run cov:ts
# Get rs coverage
npm run cov:rs
```
## What does each file do?
* `Cargo.toml` contains the standard Rust metadata. You put your Rust dependencies in here. You must change this file with your details (name, description, version, authors, categories)
* `package.json` contains the standard npm metadata. You put your JavaScript dependencies in here. You must change this file with your details (author, name, version)
* `webpack.config.js` contains the Webpack configuration. You shouldn't need to change this, unless you have very special needs.
* `webpack.config.coverage.js` contains the Webpack configuration for coverage purposes ie. building without any minification.
* The `js` folder contains your JavaScript code (`index.js` is used to hook everything into Webpack, you don't need to change it).
* The `src` folder contains your Rust code.
* The `static` folder contains any files that you want copied as-is into the final build. It contains an `index.html` file which loads the `index.js` file.
* The `tests` folder contains your Rust unit tests.