v0.52.0 - Toolchain Modernization (2026-03-28)¶
What Changed?¶
This release modernizes the development toolchain without affecting any public API or production behavior. The test runner has been migrated from Jest/ts-jest to Vitest, and TypeScript has been upgraded to v6. Build configuration, dependency management, and git hygiene have also been improved.
What's New¶
Main Feature: Vitest Migration¶
What it does:
Replaces Jest and ts-jest with Vitest as the test runner. Vitest natively supports TypeScript and ESM, eliminating the need for a separate tsconfig.test.json workaround.
How to use it:
No changes required for users. For contributors, task test now runs Vitest instead of Jest.
Added¶
vitest.config.ts— Vitest configuration with globals, node environment, and v8 coveragetask test:coverage— Run tests and open coverage report in browserscripts/hooks/docs_api.sh— Auto-commitdocs/api/when TypeDoc output changes (runs as part oftask docs:api)
Changed¶
- Test runner: Jest/ts-jest → Vitest v4
- TypeScript: v5.9 → v6.0 with
module: ESNextandmoduleResolution: bundler - Rollup config: Removed
commonjs()plugin (no longer needed with ESM output); comments translated to English package.json: Added"type": "module"; removed@rollup/plugin-commonjstsconfig.json: RemovedallowJs,checkJs, staleincludepaths (flamewright,afterglow).gitignore: Reorganized into project / Node / Python / macOS sections; untracked generated artifacts (gaslamp.bundle.js,docs/bundle-analysis.html)biome.json: Migrated schema to v2.4.8- Task workflow:
dev:validatemerged intovalidate;docs:buildmoved intodev:deploy
Fixed¶
- Lint errors in
__tests__/v2/convert.test.ts(literal keys, optional chain, non-null assertion) - Unused import
ClockSmithin__tests__/clocksmith.test.ts
Is It Safe to Upgrade?¶
- Breaking Changes: No
- Backward Compatible: Yes
No public API changes. All changes are limited to the development toolchain and configuration files.
Release Details¶
- Date: 2026-03-28
- Version: v0.52.0
- gaslamp: 108
- pilotlamp: 66
- Commits:
- 2e3788fe chore(rollup): remove commonjs plugin, add type module, clean up config
- 5b6857d0 chore(tsconfig): remove unused options and stale include paths
- 9c6e7802 feat(test): migrate from Jest/ts-jest to Vitest
- 238df1a2 chore(deps): upgrade TypeScript to v6 with ESNext/bundler module resolution
- 5fac47fa chore(deps): update npm and uv packages, apply audit fixes
- adb07ab9 fix(test): apply biome lint fixes
- 5e9b2d21 chore(biome): migrate schema to v2.4.8
- b78b2a4a chore: reorganize .gitignore
- e8c2a646 chore: untrack gaslamp bundle artifacts
- a769b2f5 feat(task): add test:coverage task
- eeb80938 refactor(task): unify validate tasks
- 5c629264 refactor(docs): move docs/api auto-commit to task docs:api
Known Issues¶
- 14 npm audit vulnerabilities (7 low, 7 high) remain in
rollup-plugin-filesizedependency chain. These are dev-only and do not affect production GAS output.
Next Steps¶
- Migrate Rollup input from
build/src/index.jstosrc/index.tsdirectly, eliminating the intermediatebuild/step