Skip to content

feat!: migrate to ESM, Vitest, and ESLint 9 flat config - #921

Merged
jordan-a-young merged 8 commits into
mainfrom
feature/esm-vitest-migration
Jun 16, 2026
Merged

feat!: migrate to ESM, Vitest, and ESLint 9 flat config#921
jordan-a-young merged 8 commits into
mainfrom
feature/esm-vitest-migration

Conversation

@jordan-a-young

Copy link
Copy Markdown
Member

Summary

Comprehensive modernization of the build and test infrastructure.

Breaking Changes

  • CJS builds removed — all packages are ESM-only ("type": "module")
  • Node 20 dropped — engines now require ^22.0.0 || ^24.0.0
  • @tanstack/react-query v5 — upgraded from v4
  • @availity/api-axios v13 — upgraded from v12

Changes

  • Replace Jest with Vitest for all test targets
  • Migrate ESLint to v9 flat config (eslint.config.js)
  • Build output ESM-only (removed CJS dist/index.js require path)
  • Bump React 19.2.7, MUI 7.3.11, TypeScript 5.9.3
  • Simplify CI caching with built-in yarn cache action + Nx cache
  • Modernize nx.json configuration
  • Update husky hooks to use yarn directly
  • Replace lint-staged nx affected with direct eslint

What was tested

  • yarn build — ✅ 55 projects built successfully
  • yarn lint — ✅ 53 projects pass (warnings only, 0 errors)
  • yarn test — ✅ 55 projects pass

BREAKING CHANGE: CJS builds removed, packages are ESM-only.

- Convert all packages to ESM (type: module)
- Replace Jest with Vitest for all test targets
- Migrate ESLint to v9 flat config (eslint.config.js)
- Build output ESM-only (removed CJS dist/index.js require path)
- Upgrade @tanstack/react-query from v4 to v5
- Upgrade @availity/api-axios to v13
- Drop Node 20 support (engines: ^22.0.0 || ^24.0.0)
- Bump React to 19.2.7, MUI to 7.3.11, TypeScript to 5.9.3
- Simplify CI caching with built-in yarn cache action + Nx cache
- Modernize nx.json configuration
- Update husky hooks to use yarn directly
- Replace lint-staged nx affected with direct eslint
- Upgrade GitHub Actions: checkout v6, setup-node v6, nx-set-shas v5, cache v5
- Upgrade commitlint action to v6.2.1 (ESM support)
- Replace manual yarn cache with built-in setup-node cache
- Update CodeQL language to javascript-typescript
- Remove deprecated --all flag from nx run-many scripts
- Add test:ci script (vitest run --coverage)
- Use test:ci in CI workflows
- Fix postinstall to use modern husky invocation
- Align lint-staged config with other repos
@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

@jordan-a-young
jordan-a-young force-pushed the feature/esm-vitest-migration branch from abab7f6 to f1064a3 Compare June 16, 2026 14:49
@github-actions

github-actions Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

🚀 Preview deployed!

📖 View Storybook Preview

@Availity Availity deleted a comment from github-actions Bot Jun 16, 2026
@Availity Availity deleted a comment from github-actions Bot Jun 16, 2026
@Availity Availity deleted a comment from github-actions Bot Jun 16, 2026
@Availity Availity deleted a comment from github-actions Bot Jun 16, 2026
@Availity Availity deleted a comment from github-actions Bot Jun 16, 2026
…ration

- Update README with Node 24, ESM-only note, yarn v4 reference
- Replace VS Code jest-runner extension with vitest.explorer
- Update CONTRIBUTING.md test instructions for Vitest
- Update nx-generator templates for ESM-only pattern
- Fix stale jest comment in mock server
- Update upgrading-to-v2 testing section for ESM
- Add upgrading-to-v3 migration guide
@jordan-a-young
jordan-a-young merged commit 39efc85 into main Jun 16, 2026
9 checks passed
github-actions Bot pushed a commit that referenced this pull request Jun 16, 2026
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.

3 participants