Prepare Decodal packages for release
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
# 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.0`
|
||||
- `decodal-wasm` npm/JSR package: `0.1.4`
|
||||
- `decodal-codemirror`: unchanged at `0.1.5`
|
||||
|
||||
## Validate
|
||||
|
||||
```sh
|
||||
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.
|
||||
|
||||
```sh
|
||||
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.
|
||||
|
||||
```sh
|
||||
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.
|
||||
Reference in New Issue
Block a user