|
14 | 14 | - Type-check: `npm run typecheck` |
15 | 15 | - Test default workspace lanes: `npm test` |
16 | 16 | - Build published packages: `npm run build` |
| 17 | +- Validate published package metadata and type resolution: `npm run package:check` |
17 | 18 | - Build docs site: `npm run docs:build` |
18 | 19 | - Run security-focused suites: `npm run test:security` |
19 | 20 | - Run isolated-vm tests only when needed: `npm run test:isolated-vm` |
|
30 | 31 | ## Testing Instructions |
31 | 32 |
|
32 | 33 | - For most code changes, run `npm run format:check`, `npm run lint`, `npm run typecheck`, `npm test`, and `npm run build`. |
| 34 | +- If you change package exports, manifest fields, or published type-resolution behavior, also run `npm run package:check`. |
| 35 | +- If you change the public API of `@execbox/core`, `@execbox/core/mcp`, `@execbox/protocol`, `@execbox/quickjs`, `@execbox/quickjs/runner`, `@execbox/quickjs/runner/protocol-endpoint`, `@execbox/remote`, `@execbox/process`, `@execbox/worker`, `@execbox/isolated-vm`, or `@execbox/isolated-vm/runner`, also run `npm run api:check`. |
33 | 36 | - If you change docs site content, navigation, or VitePress config, also run `npm run docs:build`. |
34 | 37 | - If you touch execution boundaries, timeout handling, abort propagation, schema validation, or log/memory controls, also run `npm run test:security`. |
35 | 38 | - If you touch `@execbox/isolated-vm` or codepaths guarded by `VITEST_INCLUDE_ISOLATED_VM`, run `npm run test:isolated-vm` or `npm run verify:isolated-vm`. |
|
45 | 48 | - Use Conventional Commits for git commit messages, for example `docs: add agent and contributor guides` or `fix(worker): handle timeout classification`. |
46 | 49 | - Published package releases are managed with Changesets and GitHub Actions. |
47 | 50 | - Add a `.changeset/*.md` entry when a change affects published package behavior, public APIs, or release notes for one or more `@execbox/*` packages. |
| 51 | +- If you intentionally change a checked-in API report for `@execbox/core`, `@execbox/core/mcp`, `@execbox/protocol`, `@execbox/quickjs`, `@execbox/quickjs/runner`, `@execbox/quickjs/runner/protocol-endpoint`, `@execbox/remote`, `@execbox/process`, `@execbox/worker`, `@execbox/isolated-vm`, or `@execbox/isolated-vm/runner`, update it with `npm run api:update` in the same change as the code and changeset. |
48 | 52 | - Skip a changeset for docs-only, examples-only, CI-only, or internal maintenance changes that do not affect published package behavior. |
49 | 53 |
|
50 | 54 | ## Useful References |
|
0 commit comments