/jsonapi-rust

Rust library for serialization, deserialization and working with JSON-API data

Primary LanguageRustMIT LicenseMIT

jsonapi-rust

Build Status codecov Crates.io Status License Documentation

This is an implementation of the JSON-API v1 specification at jsonapi.org.

Documentation

Use

Add this crate to your Cargo.toml file,

[dependencies]
jsonapi = "*"

Using git

[dependencies]
jsonapi = { git = "https://github.com/michiel/jsonapi-rust", branch = "master" }

Examples of most serialization and deserialization cases can be found in the tests/ directory or the documentation.

Development

Testing

The command cargo test will run all tests. For more verbose output or output with cargo watch,

RUST_BACKTRACE=1 cargo test -- --nocapture
RUST_BACKTRACE=1 cargo watch "test -- --nocapture"

Clippy

To run clippy, find a last known working version of nightly that runs with clippy,

rustup install nightly-2017-03-01
rustup run nightly-2017-03-01 cargo install clippy
rustup run nightly-2017-03-01 cargo clippy

Dependency scanning

Check for outdated packages

cargo outdated

Check packages for known vulnerabilities

cargo audit ; echo $?

Changes and changelog generation

Commit messages are written using conventional format. The Changelog is updated using the clog tool. The configuration is found in .clog.toml.