Skip to content

Migrate to esbuild/Vitest and upgrade @actions/* to ESM-only versions#492

Draft
davidgamero wants to merge 2 commits intoAzure:mainfrom
davidgamero:migrate-esbuild-vitest
Draft

Migrate to esbuild/Vitest and upgrade @actions/* to ESM-only versions#492
davidgamero wants to merge 2 commits intoAzure:mainfrom
davidgamero:migrate-esbuild-vitest

Conversation

@davidgamero
Copy link
Collaborator

Note: big diff is mostly package-lock.json +2000/-9000 lines from reducing transitive dependencies

Upgrade @actions/core@3, @actions/exec@3, @actions/io@3, @actions/tool-cache@4 which are now ESM-only, and migrate the build toolchain accordingly.

  • Replace @vercel/ncc with esbuild (targeting node20, ESM bundle)
  • Replace Jest/ts-jest with Vitest
  • Convert all 29 test files from Jest API to Vitest API
  • Add vi.mock() for ESM modules that cannot be spied on directly
  • Update tsconfig to ES2022 module/target with bundler resolution
  • Update CI workflow to use npm run build instead of ncc

Upgrade @actions/core@3, @actions/exec@3, @actions/io@3, @actions/tool-cache@4
which are now ESM-only, and migrate the build toolchain accordingly.

- Replace @vercel/ncc with esbuild (targeting node20, ESM bundle)
- Replace Jest/ts-jest with Vitest
- Convert all 29 test files from Jest API to Vitest API
- Add vi.mock() for ESM modules that cannot be spied on directly
- Update tsconfig to ES2022 module/target with bundler resolution
- Update CI workflow to use npm run build instead of ncc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Comments