Release And Packaging
ProtoML releases are more than a single npm publish. The repository already supports collecting CLI binaries, CHM help, and checksums into a release-style dist/ directory.
What a release set contains
- Standalone Windows and Linux executables
- The compiled
protoml-help.chmfile - A
SHA256SUMS.txtfile for integrity checks
Build the web and CHM artifacts when needed
npm run build:web
npm run build:chm:project
npm run build:chm
The web build produces the browser-side parser bundle used by the independent viewer in web/index.html.
Executable packaging
npm run build:exe
This produces standalone binaries from the Node-based CLI using the package configuration in package.json.
Release preparation workflow
npm run bump
The bump workflow updates the build number, rebuilds the executables, compiles the CHM, copies the CHM into dist/, and regenerates the checksum file.
Checksums
SHA256SUMS.txt contains the generated release checksums and now also records the UTC timestamp when the checksum file was generated.
What to verify before publishing
- The CLI binaries actually start on the target platforms
- The CHM help opens on Windows
- The web bundle and independent viewer still render correctly
- The checksum file matches the final release artifacts
- The version and build number are consistent across outputs
Why this guide matters
As ProtoML grows, release quality becomes a workflow of its own. Packaging, checksums, offline help, and platform-specific binaries all need to stay in sync.