Skip to content

npm Package and Release Checks

kadubon edited this page Jul 1, 2026 · 4 revisions

npm Package And Release Checks

This page describes the package hygiene and release checks used for the npm package.

Runtime Goal

The npm package should work without Python for normal agent runtime use.

It includes:

  • ESM JavaScript output;
  • TypeScript declaration files;
  • JSON schemas;
  • conformance fixtures;
  • v0.5.0 and v0.6.0 examples and snapshot fixtures;
  • demo JSON files;
  • pic-ts and pic CLI bins;
  • SDK subpath exports for schema, packet, messages, Phase Lab, BIT, SQOT, ALT, TRC, and CCR interop helpers.

Local Checks

The release gate includes:

npm run typecheck
npm run lint
npm run format:check
npm run test
npm run conformance
npm run pack:check
npm run installed:smoke
npm run publint
npm run attw
npm audit --audit-level=high
npm run prepublishOnly

Pack Safety

The package uses a file whitelist and safety scans.

The pack check rejects:

  • local user paths;
  • obvious secrets;
  • private keys;
  • TeX and PDF source artifacts;
  • archives;
  • source maps;
  • model weight files;
  • dependency folders;
  • private or temporary data paths.

Snapshot JSON can contain TeX file names as labels, but TeX and PDF source files are not packaged.

Cross-Platform Smoke

The GitHub Actions workflow checks npm install and CLI smoke paths on Windows, macOS, and Linux with Node.js 20 and 22.

The installed smoke test verifies root imports, subpath imports, pic-ts, pic, packet commands, runtime commands, Phase Lab commands, diagnostic commands, CCR interop commands, TRC operation-readiness commands, and portability fixtures without Python.

Publishing

The publish workflow uses GitHub Actions, npm trusted publishing, and provenance. The package should be installed from the public registry with:

npm install percolation-inversion-compiler-ts

Current release line: 0.7.0.

Clone this wiki locally