Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update ava 5.3.1 → 6.1.2 (major) #282

Merged
merged 1 commit into from
May 8, 2024
Merged

Conversation

depfu[bot]
Copy link
Contributor

@depfu depfu bot commented Mar 7, 2024

Here is everything you need to know about this upgrade. Please take a good look at what changed and the test results before merging this pull request.

What changed?

✳️ ava (5.3.1 → 6.1.2) · Repo

Release Notes

6.1.2

What's Changed

  • Fix throws assertions rejecting falsy values when any: true by @gibson042 in #3313

Full Changelog: v6.1.1...v6.1.2

6.1.1

What's Changed

Full Changelog: v6.1.0...v6.1.1

6.1.0

What's Changed

  • Implement registerCompletionHandler() by @novemberborn in #3283

    AVA 6 expects test code to clean up gracefully when the tests are complete, allowing the test environment (worker thread or child process) to exit. If this does not happen, AVA will report a timeout. You can use registerCompletionHandler() to perform any other clean up (or indeed exit the process) after AVA has completed the test execution. See the description here.

  • Fix potential bug with watch mode when no failed test files are written by @novemberborn in #3287

  • Fix ava/internal ESM type module by @codetheweb in #3292

Full Changelog: v6.0.1...v6.1.0

6.0.1

What's Changed

Full Changelog: v6.0.0...v6.0.1

6.0.0

Breaking Changes

  • AVA now requires Node.js versions 18.18, 20.8 or 21. Versions 14 and 16 are no longer supported. #3251 #3216

  • When tests finish, worker threads or child processes are no longer exited through proces.exit(). If your test file does not exit on its own, the test run will time out. #3260

  • Changes to watch mode #3218:

    • Watch mode can no longer be started via the ava.config.* or package.json configuration.
    • The ignoredByWatcher configuration has moved to the watchMode object, under the ignoreChanges key.
    • Watch mode now uses the built-in fs.watch() in recursive mode. This is supported on Linux in Node.js 20 or newer, and MacOS and Windows in Node.js 18 as well. There are caveats to keep in mind.
  • Failed assertions now throw, meaning that any subsequent code is not executed. This also impacts the type definitions. #3246

  • Only native errors are now considered errors by the t.throws() and t.throwsAsync() assertions. Object.create(Error.prototype) is not a native error. #3229

  • Changes to modules loaded through the require configuration #3184:

    • If such modules export a default function, this function is now invoked.
    • Local files are loaded through @ava/typescript if necessary.

Improvements

Rewritten watcher

The watcher has been rewritten. It’s now built on fs.watch() in recursive mode.

@vercel/nft is used to perform static dependency analysis, supporting ESM and CJS imports for JavaScript & TypeScript source files. This is a huge improvement over the previous runtime tracking of CJS imports, which did not support ESM.

Integration with @ava/typescript has been improved. The watcher can now detect a change to a TypeScript source file, then wait for the corresponding build output to change before re-running tests.

The ignoredByWatcher configuration has moved to the watchMode object, under the ignoreChanges key.

See #3218 and #3257.

Failed assertions now throw

Assertions now throw a TestFailure error when they fail. This error is not exported or documented and should not be used or thrown manually. You cannot catch this error in order to recover from a failure, use t.try() instead.

All assertions except for t.throws() and t.throwsAsync() now return true when they pass. This is useful for some of the assertions in TypeScript where they can be used as a type guard.

Committing a failed t.try() result now also throws.

See #3246.

t.throws() and t.throwsAsync() can now expect any error

By default, the thrown error (or rejection reason) must be a native error. You can change the assertion to expect any kind of error by setting any: true in the expectation object:

t.throws(() => { throw 'error' }, {any: true})

See #3245 by @adiSuper94.

The require configuration is now more powerful

It now loads ES modules.

Local files are loaded through @ava/typescript if necessary, so you can also write these in TypeScript.

If there is a default export function, it is invoked after loading. The function is awaited so it can do asynchronous setup before further modules are loaded. Arguments from the configuration can be passed to the function (as a [structured clone](https://developer.mozilla.org/en-US/docs/Web/API/structuredClone)).

See #3184 by @sculpt0r.

Other changes worth noting

  • Internal events can now be observed (experimentally). See #3247 by @codetheweb. It’s experimental and undocumented.
  • You can now use t.timeout.clear() to restore a previous t.timeout(). #3221
  • Code coverage is flushed to disk at opportune moments. #3220

New Contributors

Full Changelog: v5.3.1...v6.0.0

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ acorn (indirect, 8.8.2 → 8.11.3) · Repo

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ acorn-walk (indirect, 8.2.0 → 8.3.2) · Repo

Sorry, we couldn't find anything useful about this release.

↗️ callsites (indirect, 4.0.0 → 4.1.0) · Repo

Release Notes

4.1.0

v4.0.0...v4.1.0

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ cbor (indirect, 8.1.0 → 9.0.2) · Repo

Release Notes

9.0.2

Did not update dependencies, that is going to get harder and harder going forward since nofilter went ESM.

9.0.1

Passing in {tags: {1: null}} did not override built-in converter as the docs promised. This is now fixed.

9.0.0

Changed

  • Breaking: Node 16 now required.

Added

  • SharedValueEncoder, which implements value-sharing with tags 28 and 29
  • Typescript type definitions for cbor-web

Fixed

  • All dependencies brought up to date where possible. nofilter held back, pending switching to ESM.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ chalk (indirect, 5.2.0 → 5.3.0) · Repo

Release Notes

5.3.0

  • Add sideEffects field to package.json 5aafc0a
  • Add support for Gitea Actions (#603) 29b8569

v5.2.0...v5.3.0

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ ci-info (indirect, 3.8.0 → 4.0.0) · Repo · Changelog

Release Notes

4.0.0

Breaking Changes

3.9.0

  • better support for Azure Pipelines (#116), 5ea8d85
  • detect PullRequest in Azure Pipelines 5ea8d85

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ cli-truncate (indirect, 3.1.0 → 4.0.0) · Repo

Release Notes

4.0.0

Breaking

v3.1.0...v4.0.0

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ emoji-regex (indirect, 9.2.2 → 10.3.0) · Repo

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ fast-glob (indirect, 3.2.12 → 3.3.2) · Repo

Release Notes

3.3.2

Full Changelog: 3.3.1...3.3.2

🐛 Bug fixes

  • Handle square brackets as a special character on Windows in escape functions (#425)
  • Keep escaping after brace expansion (#422)

3.3.1

Full Changelog: 3.3.0...3.3.1

This release fixes a regression for cases where the ignore option is used with a string (#403, #404).

The public interface of this package does not support a string as the value for the ignore option since 2018 year (release).

So, in the next major release, we will reintroduce method implementations that do not involve strings in the ignore option.

3.3.0

Full Changelog: 3.2.12...3.3.0

🚀 Improvements

Method aliases

New methods (glob, globSync, globStream) have been added in addition to the current methods (default import, sync, stream), which eliminate the need to rename the method when importing. In addition, an async alias has been added for the default import, which makes it possible to use this packet with ESM.

Method to convert paths to globs

A new method (convertPathToPattern) has been added in this release to convert a path to a pattern. The primary goal is to enable users to avoid processing Windows paths in each location where this package is used by utilities from third-party packages.

See more details in the pull request.

🐛 Bug fixes

  • In the past, we mishandled patterns that contained slashes when the baseNameMatch option was enabled, which went against the documented behavior. (#312)
  • Several problems with matching patterns that contain brace expansion have been resolved. The primary issue solved is when the pattern has duplicate slashes after it is expanded (#394), or the micromatch package does not correctly generate a regular expression (#365).
  • All negative patterns will now have the dot option enabled when matching paths. Previously, the !**/* patterns did not exclude hidden files (start with a dot). (#343)
  • The issue that led to duplicates in the results when overlapping or duplicate patterns were present among the patterns has been fixed. At the moment, we are only talking about leading dot. Other cases are not included. For example, running with the patterns ['./file.md', 'file.md', '*'] will now only include file.md once in the results. (#190)

📖 Documentation

A clarifying note has been added for the concurrency option, which provides more detailed information about the Thread Pool utilization.

⚙️ Infrastructure

  • The benchmark in CI is now running on Node.js 20.
  • The benchmark now uses the public package bencho instead of an in-house implementation. You may want to try this solution for your packages and provide feedback.

🥇 New Contributors

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ fastq (indirect, 1.15.0 → 1.17.1) · Repo

Release Notes

1.17.1

What's Changed

  • Emit drain event after pause/resume combo by @mcollina in #82

Full Changelog: v1.17.0...v1.17.1

1.17.0

What's Changed

New Contributors

Full Changelog: v1.15.0...v1.17.0

1.16.0

What's Changed

New Contributors

Full Changelog: v1.15.0...v1.16.0

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ figures (indirect, 5.0.0 → 6.1.0) · Repo

Release Notes

6.1.0

  • Add useFallback option to replaceSymbols() (#101) 0ab1df3

v6.0.1...v6.1.0

6.0.1

  • Fix circleQuestionMark and questionMarkPrefix on Linux (#98) 8b59acd

v6.0.0...v6.0.1

6.0.0

Breaking

  • Require Node.js 18 (#97) 3302caa
  • circleQuestionMark and questionMarkPrefix symbols are now always displayed as (?). Before they were displayed as circled question marks on macOS. 8b59acd

Fixes

  • It no longer incorrectly assumes that CI running Windows supports Unicode

v5.0.0...v6.0.0

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ globby (indirect, 13.2.0 → 14.0.1) · Repo

Release Notes

14.0.1

  • Fix expandDirectories.extension option (#263) af5d139
  • Fix read permission error on ignore files search (#259) 3a28601

v14.0.0...v14.0.1

14.0.0

Breaking

Improvements

v13.2.2...v14.0.0

13.2.2

v13.2.1...v13.2.2

13.2.1

  • Fix ignore and expandDirectories default handling (#252) 3a48eb9

v13.2.0...v13.2.1

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ ignore (indirect, 5.2.4 → 5.3.1) · Repo · Changelog

Release Notes

5.3.0

5.3.0

  • MINOR export Options interface (#105)

An upgrade is safe for all dependents


It allows typing external methods which expect Options as a param, by importing the Options interface.

import {Options} from 'ignore'

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ p-map (indirect, 5.5.0 → 7.0.1) · Repo

Release Notes

7.0.1

  • Fix pMapIterable not accepting async values in an iterator (#69) 1076833

v7.0.0...v7.0.1

7.0.0

Breaking

Improvements

v6.0.0...v7.0.0

6.0.0

Breaking

v5.5.0...v6.0.0

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ parse-ms (indirect, 3.0.0 → 4.0.0) · Repo

Release Notes

4.0.0

Breaking

Improvements

Fixes

v3.0.0...v4.0.0

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ path-type (indirect, 4.0.0 → 5.0.0) · Repo

Release Notes

5.0.0

Breaking

  • Require Node.js 12 (#8) 24e52d3
  • This package is now pure ESM
    • This means you need to use import {isFile} from 'path-type' instead of const {isFile} = require('path-type').
    • I would recommend moving to ESM. ESM can still import CommonJS packages, but CommonJS cannot import ESM packages synchronously.
    • If you cannot move to ESM yet, don't upgrade to this version.

v4.0.0...v5.0.0

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ pretty-ms (indirect, 8.0.0 → 9.0.0) · Repo

Release Notes

9.0.0

Breaking

Improvements

v8.0.0...v9.0.0

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ slash (indirect, 4.0.0 → 5.1.0) · Repo

Release Notes

5.1.0

v5.0.1...v5.1.0

5.0.1

v5.0.0...v5.0.1

5.0.0

Breaking

Improvements

v4.0.0...v5.0.0

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ string-width (indirect, 5.1.2 → 7.1.0) · Repo

Release Notes

7.1.0

v7.0.0...v7.1.0

7.0.0

Breaking

Improvements

v6.1.0...v7.0.0

6.1.0

v6.0.0...v6.1.0

6.0.0

Breaking

Improvements

v5.1.2...v6.0.0

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ strip-ansi (indirect, 7.0.1 → 7.1.0) · Repo

Release Notes

7.1.0

v7.0.1...v7.1.0

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

🆕 @​mapbox/node-pre-gyp (added, 1.0.11)

🆕 @​rollup/pluginutils (added, 4.2.1)

🆕 @​sindresorhus/merge-streams (added, 2.3.0)

🆕 @​vercel/nft (added, 0.26.4)

🆕 abbrev (added, 1.1.1)

🆕 acorn-import-attributes (added, 1.9.2)

🆕 agent-base (added, 6.0.2)

🆕 aproba (added, 2.0.0)

🆕 are-we-there-yet (added, 2.0.0)

🆕 async-sema (added, 3.1.1)

🆕 bindings (added, 1.5.0)

🆕 chownr (added, 2.0.0)

🆕 color-support (added, 1.1.3)

🆕 console-control-strings (added, 1.1.0)

🆕 delegates (added, 1.0.0)

🆕 detect-libc (added, 2.0.2)

🆕 estree-walker (added, 2.0.2)

🆕 file-uri-to-path (added, 1.0.0)

🆕 find-up-simple (added, 1.0.0)

🆕 fs-minipass (added, 2.1.0)

🆕 minipass (added, 3.3.6)

🆕 minipass (added, 5.0.0)

🆕 gauge (added, 3.0.2)

🆕 get-east-asian-width (added, 1.2.0)

🆕 graceful-fs (added, 4.2.11)

🆕 has-unicode (added, 2.0.1)

🆕 https-proxy-agent (added, 5.0.1)

🆕 make-dir (added, 3.1.0)

🆕 memoize (added, 10.0.0)

🆕 mimic-function (added, 5.0.0)

🆕 minizlib (added, 2.1.2)

🆕 mkdirp (added, 1.0.4)

🆕 node-fetch (added, 2.7.0)

🆕 node-gyp-build (added, 4.8.0)

🆕 nopt (added, 5.0.0)

🆕 npmlog (added, 5.0.1)

🆕 object-assign (added, 4.1.1)

🆕 package-config (added, 5.0.0)

🆕 readable-stream (added, 3.6.2)

🆕 rimraf (added, 3.0.2)

🆕 safe-buffer (added, 5.2.1)

🆕 set-blocking (added, 2.0.0)

🆕 string_decoder (added, 1.3.0)

🆕 tar (added, 6.2.0)

🆕 tr46 (added, 0.0.3)

🆕 unicorn-magic (added, 0.1.0)

🆕 util-deprecate (added, 1.0.2)

🆕 webidl-conversions (added, 3.0.1)

🆕 whatwg-url (added, 5.0.0)

🆕 wide-align (added, 1.1.5)

🆕 picomatch (added, 3.0.1)

🆕 semver (added, 6.3.1)

🆕 signal-exit (added, 3.0.7)

🗑️ aggregate-error (removed)

🗑️ anymatch (removed)

🗑️ binary-extensions (removed)

🗑️ chokidar (removed)

🗑️ clean-stack (removed)

🗑️ clean-yaml-object (removed)

🗑️ dir-glob (removed)

🗑️ eastasianwidth (removed)

🗑️ find-up (removed)

🗑️ fsevents (removed)

🗑️ is-binary-path (removed)

🗑️ is-error (removed)

🗑️ locate-path (removed)

🗑️ map-age-cleaner (removed)

🗑️ mem (removed)

🗑️ mimic-fn (removed)

🗑️ normalize-path (removed)

🗑️ p-defer (removed)

🗑️ p-event (removed)

🗑️ p-limit (removed)

🗑️ p-locate (removed)

🗑️ p-timeout (removed)

🗑️ path-exists (removed)

🗑️ pkg-conf (removed)

🗑️ readdirp (removed)

🗑️ yocto-queue (removed)


Depfu Status

Depfu will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with @depfu rebase.

All Depfu comment commands
@​depfu rebase
Rebases against your default branch and redoes this update
@​depfu recreate
Recreates this PR, overwriting any edits that you've made to it
@​depfu merge
Merges this PR once your tests are passing and conflicts are resolved
@​depfu cancel merge
Cancels automatic merging of this PR
@​depfu close
Closes this PR and deletes the branch
@​depfu reopen
Restores the branch and reopens this PR (if it's closed)
@​depfu pause
Ignores all future updates for this dependency and closes this PR
@​depfu pause [minor|major]
Ignores all future minor/major updates for this dependency and closes this PR
@​depfu resume
Future versions of this dependency will create PRs again (leaves this PR as is)

@depfu depfu bot added the depfu label Mar 7, 2024
Copy link

guardrails bot commented Mar 7, 2024

⚠️ We detected 1 security issue in this pull request:

Vulnerable Libraries (1)
Severity Details
Medium pkg:npm/[email protected] upgrade to: > 6.1.2

More info on how to fix Vulnerable Libraries in JavaScript.


👉 Go to the dashboard for detailed results.

📥 Happy? Share your feedback with us.

Copy link

codecov bot commented Mar 7, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 100.00%. Comparing base (67393e8) to head (a1af07a).

Additional details and impacted files
@@            Coverage Diff            @@
##            master      #282   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            2         2           
  Lines           80        80           
=========================================
  Hits            80        80           
Flag Coverage Δ
unittests 100.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@dmitriz dmitriz merged commit 8ddd845 into master May 8, 2024
12 of 13 checks passed
@depfu depfu bot deleted the depfu/update/npm/ava-6.1.2 branch May 8, 2024 11:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant