1.6 KiB
1.6 KiB
Releasing Decodal
Run all commands from the repository root. Publishing requires Cargo, npm, and JSR credentials; validation does not.
Versions
- Rust crates:
0.1.3 tree-sitter-decodal:0.1.0decodal-wasmnpm/JSR package:0.1.4decodal-codemirror: unchanged at0.1.5
Validate
cargo test --workspace
cargo clippy --workspace --all-targets -- -D warnings
cargo clippy -p decodal-wasm --target wasm32-unknown-unknown -- -D warnings
npm --prefix site/decodal-site run build:runtime
npm --prefix site/decodal-site test
npm --prefix site/decodal-site run build
deno check packages/decodal-wasm/mod.ts
npm pack --dry-run ./packages/decodal-wasm
deno publish --dry-run --config packages/decodal-wasm/jsr.json
Publish Rust crates
Publish in dependency order. Wait for each crate to become available in the crates.io index before continuing.
Run the corresponding command with --dry-run immediately before each real publish.
cargo publish -p decodal-derive
cargo publish -p decodal
cargo publish -p tree-sitter-decodal
cargo publish -p decodal-language-service
cargo publish -p decodal-language-tools
cargo publish -p decodal-lsp
decodal-cli and the Rust decodal-wasm wrapper remain repository-only packages.
Publish JavaScript packages
The runtime build regenerates and normalizes the committed npm/JSR package before publishing.
npm --prefix site/decodal-site run build:runtime
npm publish ./packages/decodal-wasm
deno publish --config packages/decodal-wasm/jsr.json
After both registries accept the release, tag the release commit and update the deployed site.