Make decodal the published library crate

This commit is contained in:
2026-06-25 22:51:16 +09:00
parent 6e2363632b
commit 87fef44c68
20 changed files with 159 additions and 96 deletions
+8 -12
View File
@@ -9,27 +9,25 @@ Run the normal Rust checks from the repository root.
```sh
cargo fmt --check
cargo test
cargo check -p decodal-core --no-default-features
cargo check -p decodal --no-default-features
nix flake check
```
Regex support is optional and should be tested explicitly when touched.
```sh
cargo test -p decodal-core --features regex
cargo run -q -p decodal --features regex -- examples/regex/main.dcdl
cargo test -p decodal --features regex
cargo run -q -p decodal-cli --features regex -- examples/regex/main.dcdl
```
## crates.io release
Crates are published as versioned workspace packages under the dual license `MIT OR Apache-2.0`.
The dependency order matters because `decodal` and `decodal-wasm` depend on `decodal-core` from crates.io.
The primary crates.io package is `decodal`, which contains the embeddable library.
Workspace support crates such as `decodal-cli` and `decodal-wasm` are not published for 0.1.0.
The project is dual licensed as `MIT OR Apache-2.0`.
```sh
cargo publish -p decodal-core
# wait until crates.io index has decodal-core 0.1.0
cargo publish -p decodal
cargo publish -p decodal-wasm
```
Before publishing, run:
@@ -37,12 +35,10 @@ Before publishing, run:
```sh
cargo fmt --check
cargo test
cargo check -p decodal-core --no-default-features
cargo publish -p decodal-core --dry-run
cargo check -p decodal --no-default-features
cargo publish -p decodal --dry-run
```
`cargo publish --dry-run` for `decodal` and `decodal-wasm` will fail until the matching `decodal-core` version is already visible in the crates.io index.
## Web site and playground
The Astro documentation site and browser playground are kept in: