v8.0.0 #3439
novemberborn
started this conversation in
General
v8.0.0
#3439
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Breaking Changes
AVA now expects Node.js 22.20, 24.12 or newer.
Internally AVA is now fully ESM. This is possible now that Node.js supports loading ES modules using
require()calls and simplifies AVA's types and internals.If you use AVA from a CommonJS project you'll have to update your imports:
We expect an increasing number of projects to be ESM only. As per the above, CommonJS is still supported, but we don't expect
cjsextensions to be used. The default file extensions are nowjsandmjs. Specifyextensions: ['cjs', 'js', 'mjs']for AVA to run test files with thecjsextension.All test files (and those loaded through AVA's
requireconfig) are now loaded viaimport(). Use customization hooks for transpilation. The object form of theextensionsconfiguration is no longer supported.If you use AVA with @ava/typescript you must upgrade that package to v7.
New Features
There's two new test modifiers courtesy of @sindresorhus:
test.skipIf()to skip a test based on a runtime condition.test.runIf()is the inverse: the test only runs when the condition is true.These work with other modifiers like
.serialand.failing:Other Changes
*.tsbuildinfofilesthrowsAsync/notThrowsAsyncare not awaited have been improved by @sindresorhus in Improve error whenthrowsAsync/notThrowsAsyncis not awaited #3436New Contributors
Full Changelog: v7.0.0...v8.0.0
This discussion was created from the release v8.0.0.
Beta Was this translation helpful? Give feedback.
All reactions