This file documents automation, scripts, CI checks, and packaging conventions used in this repository.
- Purpose: keep automation behavior and developer conventions in one place.
- Scope: dependency checks, test execution, packaging/release commands, and CI expectations.
- Canonical runner:
scripts/run-depcheck.cjs - Command:
npm run deps:check - Behavior: runs
depcheckprogrammatically, writes.depcheck.json, filters references found in repository files/scripts, and exits non-zero when unused packages remain. - Rationale: avoids
npxplatform inconsistencies and keeps local/CI behavior aligned.
- Unit test titles must start with
should(enforced by ESLint). - Shared test helpers live in
src/test/testTypes.ts. - Test runner script:
scripts/run-tests.cjs. - Test discovery is glob-based in
dist/test/**anddist/src/test/**to support platform/compiler output differences. - Test commands:
npm test- compile tests, compile extension, lint, then run testsnpm run test:unit- compile tests, compile extension, then run tests (no lint)npm run test:vscode- compile tests, run VS Code integration harness
- Bundle compile:
npm run package - VSIX package:
npm run ext:package - Install packaged VSIX:
npm run ext:install - Quick reinstall:
npm run ext:reinstall
.vscodeignore uses an allowlist strategy. Intended packaged files are:
package.jsonLICENSEREADME.mddist/extension.jspublic/img/barrel-roll-icon.png
Verify with npx @vscode/vsce ls before publishing.
vsce may include generated companion files in some builds (for example, source maps and webpack license sidecars). Always validate the actual file list from vsce ls before release.
CI runs dependency checks and tests. See:
.github/workflows/ci.yml.github/workflows/release.yml
npm install
npm run deps:check
npm run lint
npm testWhen changing automation scripts, update this document and relevant user-facing docs (README.md, CONTRIBUTING.md) in the same PR.