Skip to content

chore(deps): update dependency ava to v8#1123

Merged
Brooooooklyn merged 6 commits intomainfrom
renovate/ava-8.x
Apr 29, 2026
Merged

chore(deps): update dependency ava to v8#1123
Brooooooklyn merged 6 commits intomainfrom
renovate/ava-8.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented Apr 27, 2026

This PR contains the following updates:

Package Change Age Confidence
ava (source) ^7.0.0^8.0.0 age confidence

Release Notes

avajs/ava (ava)

v8.0.0

Compare Source

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:

-const test = require('ava');
+const {default: test} = require('ava');

We expect an increasing number of projects to be ESM only. As per the above, CommonJS is still supported, but we don't expect cjs extensions to be used. The default file extensions are now js and mjs. Specify extensions: ['cjs', 'js', 'mjs'] for AVA to run test files with the cjs extension.

All test files (and those loaded through AVA's require config) are now loaded via import(). Use customization hooks for transpilation. The object form of the extensions configuration 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.

test.skipIf(process.platform === 'win32')('not on Windows', t => {
	t.pass();
});

test.runIf(process.platform === 'linux')('Linux only', t => {
	t.pass();
});

These work with other modifiers like .serial and .failing:

test.serial.skipIf(process.platform === 'win32')('serial, not on Windows', t => {
	t.pass();
});

test.failing.skipIf(process.platform === 'win32')('expected failure, not on Windows', t => {
	t.fail();
});

Other Changes

  • Watch mode now ignores changes to *.tsbuildinfo files
  • TAP reporter is more defensive when restoring the original error name, thanks to @​ninper00 in #​3415
  • Reported errors when throwsAsync/notThrowsAsync are not awaited have been improved by @​sindresorhus in #​3436

New Contributors

Full Changelog: avajs/ava@v7.0.0...v8.0.0


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@Brooooooklyn
Copy link
Copy Markdown
Member

@claude[agent] fix tests error after ava upgrade

- Change ava extensions config from object to array format for v8
- Update CI Node.js version matrix from ['20', '22', '24'] to ['22', '24']
- Ava v8 requires Node.js >= 22.20 due to iterator helper methods

Agent-Logs-Url: https://github.com/napi-rs/node-rs/sessions/8e1e8303-351c-476e-9f4d-3d39ff8d992e
@Claude
Copy link
Copy Markdown
Contributor

Claude AI commented Apr 29, 2026

@claude[agent] fix tests error after ava upgrade

Fixed! The test errors were due to two issues with the ava v8 upgrade:

  1. Config format change: Ava v8 changed the extensions option from an object to an array
  2. Node.js version requirement: Ava v8 requires Node.js >= 22.20 (or >= 24.12) due to iterator helper methods used by its emittery dependency

Changes in commit 6950c09:

  • Updated ava config to use array format for extensions
  • Updated CI matrix to remove Node 20, now testing with Node 22 and 24 only

@renovate
Copy link
Copy Markdown
Contributor Author

renovate Bot commented Apr 29, 2026

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

@Brooooooklyn
Copy link
Copy Markdown
Member

@claude[agent] fix the bench CI fail

@Brooooooklyn
Copy link
Copy Markdown
Member

@claude[agent] fix the bench CI fail

- Remove sse4_crc32 and @types/sse4_crc32 from crc32 package dependencies
- Update crc32 benchmark to exclude sse4_crc32 comparisons
- sse4_crc32 v7.0.0 lacks prebuilt binaries for Node.js 24 (ABI v137)
- Bench CI now passes on Node.js 24

Agent-Logs-Url: https://github.com/napi-rs/node-rs/sessions/1b2c25e3-3d62-43a9-bc72-9f521bb287a4
@Claude
Copy link
Copy Markdown
Contributor

Claude AI commented Apr 29, 2026

@claude[agent] fix the bench CI fail

Fixed in 99eb245. Removed the sse4_crc32 dependency from the crc32 benchmark as it doesn't have prebuilt binaries for Node.js 24 (ABI v137). The benchmark now runs without that comparison library.

@Brooooooklyn
Copy link
Copy Markdown
Member

@claude[agent] fix the bench CI fail

Claude AI and others added 2 commits April 29, 2026 08:28
The xxhash npm package v0.3.0 does not have prebuilt binaries for Node.js 24 (ABI version 137), causing benchmark failures with "Cannot find module '../build/Release/hash'" errors.

Removed xxhash from devDependencies and updated benchmark/xxhash.ts to run benchmarks without the xxhash C++ comparison. The benchmark still includes comparisons with xxhash-addon, xxhashjs, and webpack's wasm implementation.

This follows the same pattern used for sse4_crc32 and nodejieba dependencies.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@Claude
Copy link
Copy Markdown
Contributor

Claude AI commented Apr 29, 2026

@claude[agent] fix the bench CI fail

The bench CI has been fixed in commits 9ba1b3a and 8d6e65f. Both bench jobs now pass successfully:

  • Removed nodejieba (no Node.js 24 binaries)
  • Removed xxhash (no Node.js 24 binaries)

The benchmarks still run and compare against other implementations (xxhash-addon, xxhashjs, webpack's wasm).

@Brooooooklyn
Copy link
Copy Markdown
Member

@claude[agent] armv7-unknown-linux doesn't have a node 24 docker image, omit it from test matrix

The armv7-unknown-linux-gnueabihf platform doesn't have Node.js 24 docker images available. Restrict testing to Node.js 22 only for this platform.

Agent-Logs-Url: https://github.com/napi-rs/node-rs/sessions/cee7816f-b688-4ae5-af92-6f51d48c387c

Co-authored-by: Brooooooklyn <3468483+Brooooooklyn@users.noreply.github.com>
@Claude
Copy link
Copy Markdown
Contributor

Claude AI commented Apr 29, 2026

@claude[agent] armv7-unknown-linux doesn't have a node 24 docker image, omit it from test matrix

Fixed in commit cdedc1c. Excluded Node.js 24 from the armv7-unknown-linux-gnueabihf test matrix since there's no Node.js 24 docker image available for this platform. The armv7 tests now only run on Node.js 22.

@Brooooooklyn Brooooooklyn merged commit 1295b2d into main Apr 29, 2026
35 checks passed
@Brooooooklyn Brooooooklyn deleted the renovate/ava-8.x branch April 29, 2026 09:56
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.

2 participants