Skip to content

feat!: esm, eslint 9, jest 30, vite/vitest opt-in, node 20+#829

Merged
gregmartDOTin merged 17 commits intomasterfrom
feat/esm-migration
Mar 10, 2026
Merged

feat!: esm, eslint 9, jest 30, vite/vitest opt-in, node 20+#829
gregmartDOTin merged 17 commits intomasterfrom
feat/esm-migration

Conversation

@bjnewman
Copy link
Copy Markdown
Contributor

@bjnewman bjnewman commented Feb 16, 2026

Summary

Major modernization of the workflow toolchain.

Changes

  • ESM — all packages converted to native ES modules
  • ESLint 9 flat config support (requires new eslint-config-availity)
  • Jest 27 → 30, jest-environment-jsdom now bundled
  • Vite + Vitest available as opt-in alternative (bundler: 'vite')
  • Node 20+ required (18 dropped)
  • Dropped legacy polyfill support — core-js and IE11 polyfills removed since all supported browsers have these features natively
  • Improved error handling — silent catch blocks replaced with diagnostic output
  • workflow-upgrade rewritten to use package manager commands and includes ESLint flat config migration

Breaking Changes

  • Node 18 no longer supported
  • ESLint flat config only (.eslintrc no longer loaded)
  • ESM packages — require() will not work
  • core-js polyfills no longer injected — if your app still needs polyfills for specific features, add core-js directly

Blocked On

  • eslint-config-availity major version publish — version in package.json needs updating after merge

Testing

  • Validated against internal applications using both yarn classic and yarn 4

See UPGRADE.md for the full migration guide.

Comment thread packages/mock-server/helpers/deep-merge.js Fixed
Comment thread packages/workflow/helpers/deep-merge.js Fixed
@bjnewman bjnewman force-pushed the feat/esm-migration branch 2 times, most recently from dc57c29 to 2dc42be Compare February 16, 2026 20:28
Comment thread .github/workflows/pr-build.yml Outdated
matrix:
os: [ubuntu-latest, macos-latest]
node: [18, 20, 22]
node: [20, 22]
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

missing 24

@LauRoxx
Copy link
Copy Markdown
Contributor

LauRoxx commented Feb 27, 2026

Do we want more documentation? We could add the vite config info to the Testing libraries page. On a quick glance through the docs that's the main thing that stuck out

@gregmartDOTin
Copy link
Copy Markdown
Contributor

Do we want more documentation? We could add the vite config info to the Testing libraries page. On a quick glance through the docs that's the main thing that stuck out

Added some docs.

LauRoxx
LauRoxx previously approved these changes Mar 9, 2026
@gregmartDOTin gregmartDOTin merged commit 33c8bb7 into master Mar 10, 2026
8 checks passed
@gregmartDOTin gregmartDOTin deleted the feat/esm-migration branch March 10, 2026 12:46
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.

5 participants