-
Notifications
You must be signed in to change notification settings - Fork 779
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
chore: merge master into develop #4616
Conversation
Adds the TypeScript typings for passing an object to the `preload` setting for `axe.run`, as documented here: https://www.deque.com/axe/core-documentation/api-documentation/#preload-configuration-details > Specifying an object ```js axe.run( { preload: { assets: ['cssom'], timeout: 50000 } }, (err, results) => { // ... } ); ``` Co-authored-by: Andre Wachsmuth <awa@xima.de>
When I updated #4548 to latest it caused the qunit tests to fail. Turns out that [qunitjs](https://www.npmjs.com/package/qunitjs) has been deprecated and is now called just `qunit`, and `grunt-contrib-qunit` [has issues](gruntjs/grunt-contrib-qunit#209) if not using latest qunit. Once upgraded I was able to get the tests passing but only in headed mode. That was because puppeteer [is now headless by default](https://github.com/gruntjs/grunt-contrib-qunit/blob/main/docs/qunit-options.md#puppeteer), so passing the `ignoreDefaultArgs` param and the `--headless` arg was causing the issue. `jest_react` was also failing and after trying to fix it with it's current dependencies @dbjorge suggested it would be better to just change it over to `@react/testing-library`. It also means we can support react 18 in the examples too.
This should fix the issue with the tests failing on`windowHeight` being different between two consecutive runs. I also added a deep axe-core results compare function that can do two significant things for us when comparing result objects. First it can ignore keys (like `timestamp`) so we don't have to always set it equal to each other in the tests. Second is that instead of dumping the entire result objects when a value is different this will output they key path and the values that are different which make debugging a lot easier. ``` Expected result.testEnvironment.windowHeight to equal "948" but got "896" ```
…#4568) Bumps the npm-low-risk group with 18 updates in the / directory: | Package | From | To | | --- | --- | --- | | [@axe-core/webdriverjs](https://github.com/dequelabs/axe-core-npm) | `4.9.1` | `4.10.0` | | [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) | `7.24.7` | `7.25.2` | | [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) | `7.24.7` | `7.25.4` | | [@babel/runtime-corejs3](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime-corejs3) | `7.24.7` | `7.25.6` | | [chai](https://github.com/chaijs/chai) | `4.4.1` | `4.5.0` | | [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) | `3.37.1` | `3.38.1` | | [emoji-regex](https://github.com/mathiasbynens/emoji-regex) | `10.3.0` | `10.4.0` | | [eslint](https://github.com/eslint/eslint) | `9.6.0` | `9.9.1` | | [globals](https://github.com/sindresorhus/globals) | `15.7.0` | `15.9.0` | | [husky](https://github.com/typicode/husky) | `9.0.11` | `9.1.5` | | [karma](https://github.com/karma-runner/karma) | `6.4.3` | `6.4.4` | | [lint-staged](https://github.com/lint-staged/lint-staged) | `15.2.7` | `15.2.9` | | [mocha](https://github.com/mochajs/mocha) | `10.5.2` | `10.7.3` | | [prettier](https://github.com/prettier/prettier) | `3.3.2` | `3.3.3` | | [selenium-webdriver](https://github.com/SeleniumHQ/selenium) | `4.22.0` | `4.24.0` | | [start-server-and-test](https://github.com/bahmutov/start-server-and-test) | `2.0.4` | `2.0.5` | | [typescript](https://github.com/Microsoft/TypeScript) | `5.5.2` | `5.5.4` | | [uglify-js](https://github.com/mishoo/UglifyJS) | `3.18.0` | `3.19.3` | Updates `@axe-core/webdriverjs` from 4.9.1 to 4.10.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dequelabs/axe-core-npm/releases"><code>@axe-core/webdriverjs</code>'s releases</a>.</em></p> <blockquote> <h2>Release 4.10.0</h2> <h2>What's Changed</h2> <ul> <li>fix(playwright): Add missing await on page.evaluate by <a href="https://github.com/KuSh"><code>@KuSh</code></a> in <a href="https://github.com/dequelabs/axe-core-npm/pull/1063">dequelabs/axe-core-npm#1063</a></li> <li>chore: update to support eslint 9 flat config by <a href="https://github.com/michael-siek"><code>@michael-siek</code></a> in <a href="https://github.com/dequelabs/axe-core-npm/pull/1064">dequelabs/axe-core-npm#1064</a></li> <li>chore: merge master into develop by <a href="https://github.com/attest-team-ci"><code>@attest-team-ci</code></a> in <a href="https://github.com/dequelabs/axe-core-npm/pull/1071">dequelabs/axe-core-npm#1071</a></li> <li>chore: bump puppeteer from 21.7.0 to 22.10.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://github.com/dequelabs/axe-core-npm/pull/1073">dequelabs/axe-core-npm#1073</a></li> <li>chore: bump sinon from 17.0.1 to 18.0.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://github.com/dequelabs/axe-core-npm/pull/1076">dequelabs/axe-core-npm#1076</a></li> <li>chore: bump chromedriver from 121.0.0 to 125.0.3 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://github.com/dequelabs/axe-core-npm/pull/1075">dequelabs/axe-core-npm#1075</a></li> <li>chore: fix eslint errors and warnings by <a href="https://github.com/straker"><code>@straker</code></a> in <a href="https://github.com/dequelabs/axe-core-npm/pull/1079">dequelabs/axe-core-npm#1079</a></li> <li>chore: bump typescript-eslint from 8.0.0-alpha.12 to 8.0.0-alpha.26 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://github.com/dequelabs/axe-core-npm/pull/1078">dequelabs/axe-core-npm#1078</a></li> <li>chore: bump the npm-low-risk group across 1 directory with 22 updates by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://github.com/dequelabs/axe-core-npm/pull/1077">dequelabs/axe-core-npm#1077</a></li> <li>chore: use updated browser-driver-manager by <a href="https://github.com/scottmries"><code>@scottmries</code></a> in <a href="https://github.com/dequelabs/axe-core-npm/pull/1080">dequelabs/axe-core-npm#1080</a></li> <li>chore: bump the npm-low-risk group with 27 updates by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://github.com/dequelabs/axe-core-npm/pull/1081">dequelabs/axe-core-npm#1081</a></li> <li>chore: bump chromedriver from 125.0.3 to 126.0.4 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://github.com/dequelabs/axe-core-npm/pull/1082">dequelabs/axe-core-npm#1082</a></li> <li>feat: Update axe-core to v4.10.0 by <a href="https://github.com/attest-team-ci"><code>@attest-team-ci</code></a> in <a href="https://github.com/dequelabs/axe-core-npm/pull/1088">dequelabs/axe-core-npm#1088</a></li> <li>chore: downgrade lerna to resolve ESM requirement by <a href="https://github.com/michael-siek"><code>@michael-siek</code></a> in <a href="https://github.com/dequelabs/axe-core-npm/pull/1098">dequelabs/axe-core-npm#1098</a></li> <li>fix(cli): include <code>dotenv</code> dep by <a href="https://github.com/michael-siek"><code>@michael-siek</code></a> in <a href="https://github.com/dequelabs/axe-core-npm/pull/1103">dequelabs/axe-core-npm#1103</a></li> <li>chore: RC v4.10.0 by <a href="https://github.com/github-actions"><code>@github-actions</code></a> in <a href="https://github.com/dequelabs/axe-core-npm/pull/1108">dequelabs/axe-core-npm#1108</a></li> <li>Release 4.10.0 by <a href="https://github.com/dequejenn"><code>@dequejenn</code></a> in <a href="https://github.com/dequelabs/axe-core-npm/pull/1110">dequelabs/axe-core-npm#1110</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/KuSh"><code>@KuSh</code></a> made their first contribution in <a href="https://github.com/dequelabs/axe-core-npm/pull/1063">dequelabs/axe-core-npm#1063</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/dequelabs/axe-core-npm/compare/v4.9.1...v4.10.0">https://github.com/dequelabs/axe-core-npm/compare/v4.9.1...v4.10.0</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/dequelabs/axe-core-npm/blob/v4.10.0/CHANGELOG.md"><code>@axe-core/webdriverjs</code>'s changelog</a>.</em></p> <blockquote> <h1><a href="https://github.com/dequelabs/axe-core-npm/compare/v4.9.1...v4.10.0">4.10.0</a> (2024-08-16)</h1> <h3>Bug Fixes</h3> <ul> <li><strong>cli:</strong> include <code>dotenv</code> dep (<a href="https://github.com/dequelabs/axe-core-npm/issues/1103">#1103</a>) (<a href="https://github.com/dequelabs/axe-core-npm/commit/5d34355066b96009cea9bca7024ba5e777c5309c">5d34355</a>), closes <a href="https://github.com/dequelabs/axe-core-npm/issues/1102">#1102</a></li> <li><strong>playwright:</strong> Add missing await on page.evaluate (<a href="https://github.com/dequelabs/axe-core-npm/issues/1063">#1063</a>) (<a href="https://github.com/dequelabs/axe-core-npm/commit/20b8bbffdda0b81dbb169f27d5d223adc4d3941a">20b8bbf</a>)</li> </ul> <h3>Features</h3> <ul> <li>Update axe-core to v4.10.0 (<a href="https://github.com/dequelabs/axe-core-npm/issues/1088">#1088</a>) (<a href="https://github.com/dequelabs/axe-core-npm/commit/bb94776ff65798d016e961f62c76c4622bb3b48b">bb94776</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/dequelabs/axe-core-npm/commit/ce9a6a038690629dd6234be2b8d697abdec22e8e"><code>ce9a6a0</code></a> Release 4.10.0 (<a href="https://github.com/dequelabs/axe-core-npm/issues/1110">#1110</a>)</li> <li><a href="https://github.com/dequelabs/axe-core-npm/commit/3b471d13416d0fe22bbed77ef16145bf1f436cca"><code>3b471d1</code></a> chore: RC v4.10.0 (<a href="https://github.com/dequelabs/axe-core-npm/issues/1108">#1108</a>)</li> <li><a href="https://github.com/dequelabs/axe-core-npm/commit/d393db67ea98d8d4900850e7384c7777825c5585"><code>d393db6</code></a> chore: RC v4.10.0</li> <li><a href="https://github.com/dequelabs/axe-core-npm/commit/5d34355066b96009cea9bca7024ba5e777c5309c"><code>5d34355</code></a> fix(cli): include <code>dotenv</code> dep (<a href="https://github.com/dequelabs/axe-core-npm/issues/1103">#1103</a>)</li> <li><a href="https://github.com/dequelabs/axe-core-npm/commit/c871221700313826142b64a1ebae7c2ba053ebfb"><code>c871221</code></a> chore: downgrade lerna to resolve ESM requirement (<a href="https://github.com/dequelabs/axe-core-npm/issues/1098">#1098</a>)</li> <li><a href="https://github.com/dequelabs/axe-core-npm/commit/bb94776ff65798d016e961f62c76c4622bb3b48b"><code>bb94776</code></a> feat: Update axe-core to v4.10.0 (<a href="https://github.com/dequelabs/axe-core-npm/issues/1088">#1088</a>)</li> <li><a href="https://github.com/dequelabs/axe-core-npm/commit/3864c91aa79c8c2170ae15a18802ef1fba4e2e3f"><code>3864c91</code></a> chore: bump chromedriver from 125.0.3 to 126.0.4 (<a href="https://github.com/dequelabs/axe-core-npm/issues/1082">#1082</a>)</li> <li><a href="https://github.com/dequelabs/axe-core-npm/commit/68067261aa779ee52c791fe6ac115f5011fc9a62"><code>6806726</code></a> chore: bump the npm-low-risk group with 27 updates (<a href="https://github.com/dequelabs/axe-core-npm/issues/1081">#1081</a>)</li> <li><a href="https://github.com/dequelabs/axe-core-npm/commit/09977352feebd4e4e21b2f2a5b350e6968a17b97"><code>0997735</code></a> Update issue templates</li> <li><a href="https://github.com/dequelabs/axe-core-npm/commit/3ab9e3a9ca51d384f9797939f5f0c64d36df2aed"><code>3ab9e3a</code></a> Create feature request template</li> <li>Additional commits viewable in <a href="https://github.com/dequelabs/axe-core-npm/compare/v4.9.1...v4.10.0">compare view</a></li> </ul> </details> <br /> Updates `@babel/core` from 7.24.7 to 7.25.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/babel/babel/releases"><code>@babel/core</code>'s releases</a>.</em></p> <blockquote> <h2>v7.25.2 (2024-07-30)</h2> <h4>:bug: Bug Fix</h4> <ul> <li><code>babel-core</code>, <code>babel-traverse</code> <ul> <li><a href="https://github.com/babel/babel/pull/16695">#16695</a> Ensure that <code>requeueComputedKeyAndDecorators</code> is available (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> </ul> <h4>Committers: 2</h4> <ul> <li>Huáng Jùnliàng (<a href="https://github.com/JLHwung"><code>@JLHwung</code></a>)</li> <li>Nicolò Ribaudo (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> <h2>v7.25.1 (2024-07-28)</h2> <h4>:bug: Bug Fix</h4> <ul> <li><code>babel-plugin-transform-function-name</code> <ul> <li><a href="https://github.com/babel/babel/pull/16683">#16683</a> fix: <code>ensureFunctionName</code> may be undefined (<a href="https://github.com/liuxingbaoyu"><code>@liuxingbaoyu</code></a>)</li> </ul> </li> <li><code>babel-plugin-transform-react-constant-elements</code> <ul> <li><a href="https://github.com/babel/babel/pull/16582">#16582</a> fix plugin-transform-react-constant-elements transform JSXFrament but not add JSXExpressionContainer (<a href="https://github.com/keiseiTi"><code>@keiseiTi</code></a>)</li> </ul> </li> <li><code>babel-traverse</code> <ul> <li><a href="https://github.com/babel/babel/pull/16587">#16587</a> fix: fixed issue16583 + test (<a href="https://github.com/nerodesu017"><code>@nerodesu017</code></a>)</li> </ul> </li> </ul> <h4>:house: Internal</h4> <ul> <li><a href="https://github.com/babel/babel/pull/16663">#16663</a> Test eslint plugin against eslint 9 (<a href="https://github.com/JLHwung"><code>@JLHwung</code></a>)</li> </ul> <h4>Committers: 4</h4> <ul> <li>Adrian (<a href="https://github.com/nerodesu017"><code>@nerodesu017</code></a>)</li> <li>Huáng Jùnliàng (<a href="https://github.com/JLHwung"><code>@JLHwung</code></a>)</li> <li><a href="https://github.com/keiseiTi"><code>@keiseiTi</code></a></li> <li><a href="https://github.com/liuxingbaoyu"><code>@liuxingbaoyu</code></a></li> </ul> <h2>v7.25.0 (2024-07-26)</h2> <p>Thanks <a href="https://github.com/davidtaylorhq"><code>@davidtaylorhq</code></a> and <a href="https://github.com/slatereax"><code>@slatereax</code></a> for your first PR!</p> <p>You can find the release blog post with some highlights at <a href="https://babeljs.io/blog/2024/07/26/7.25.0">https://babeljs.io/blog/2024/07/26/7.25.0</a>.</p> <h4>:eyeglasses: Spec Compliance</h4> <ul> <li><code>babel-helpers</code>, <code>babel-plugin-proposal-explicit-resource-management</code>, <code>babel-runtime-corejs3</code> <ul> <li><a href="https://github.com/babel/babel/pull/16537">#16537</a> <code>await using</code> normative updates (<a href="https://github.com/JLHwung"><code>@JLHwung</code></a>)</li> </ul> </li> <li><code>babel-plugin-transform-typescript</code> <ul> <li><a href="https://github.com/babel/babel/pull/16602">#16602</a> Ensure enum members syntactically determinable to be strings do not get reverse mappings (<a href="https://github.com/liuxingbaoyu"><code>@liuxingbaoyu</code></a>)</li> </ul> </li> </ul> <h4>:rocket: New Feature</h4> <ul> <li><code>babel-helper-create-class-features-plugin</code>, <code>babel-helper-function-name</code>, <code>babel-helper-plugin-utils</code>, <code>babel-helper-wrap-function</code>, <code>babel-plugin-bugfix-safari-class-field-initializer-scope</code>, <code>babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression</code>, <code>babel-plugin-transform-classes</code>, <code>babel-plugin-transform-function-name</code>, <code>babel-preset-env</code>, <code>babel-traverse</code>, <code>babel-types</code> <ul> <li><a href="https://github.com/babel/babel/pull/16658">#16658</a> Move <code>ensureFunctionName</code> to <code>NodePath.prototype</code> (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> <li><code>babel-helper-hoist-variables</code>, <code>babel-helper-plugin-utils</code>, <code>babel-plugin-proposal-async-do-expressions</code>, <code>babel-plugin-transform-modules-systemjs</code>, <code>babel-traverse</code> <ul> <li><a href="https://github.com/babel/babel/pull/16644">#16644</a> Move <code>hoistVariables</code> to <code>Scope.prototype</code> (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> <li><code>babel-helper-create-class-features-plugin</code>, <code>babel-helper-module-transforms</code>, <code>babel-helper-plugin-utils</code>, <code>babel-helper-split-export-declaration</code>, <code>babel-plugin-transform-classes</code>, <code>babel-traverse</code>, <code>babel-types</code> <ul> <li><a href="https://github.com/babel/babel/pull/16645">#16645</a> Move <code>splitExportDeclaration</code> to <code>NodePath.prototype</code> (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> <li><code>babel-helper-create-class-features-plugin</code>, <code>babel-helper-environment-visitor</code>, <code>babel-helper-module-transforms</code>, <code>babel-helper-plugin-utils</code>, <code>babel-helper-remap-async-to-generator</code>, <code>babel-helper-replace-supers</code>, <code>babel-plugin-bugfix-firefox-class-in-computed-class-key</code>, <code>babel-plugin-bugfix-v8-static-class-fields-redefine-readonly</code>, <code>babel-plugin-transform-async-generator-functions</code>, <code>babel-plugin-transform-classes</code>, <code>babel-traverse</code> <ul> <li><a href="https://github.com/babel/babel/pull/16649">#16649</a> Move <code>environment-visitor</code> helper into <code>@babel/traverse</code> (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/babel/babel/blob/main/CHANGELOG.md"><code>@babel/core</code>'s changelog</a>.</em></p> <blockquote> <h2>v7.25.2 (2024-07-30)</h2> <h4>:bug: Bug Fix</h4> <ul> <li><code>babel-core</code>, <code>babel-traverse</code> <ul> <li><a href="https://github.com/babel/babel/pull/16695">#16695</a> Ensure that <code>requeueComputedKeyAndDecorators</code> is available (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> </ul> <h2>v7.25.1 (2024-07-28)</h2> <h4>:bug: Bug Fix</h4> <ul> <li><code>babel-plugin-transform-function-name</code> <ul> <li><a href="https://github.com/babel/babel/pull/16683">#16683</a> fix: <code>ensureFunctionName</code> may be undefined (<a href="https://github.com/liuxingbaoyu"><code>@liuxingbaoyu</code></a>)</li> </ul> </li> <li><code>babel-plugin-transform-react-constant-elements</code> <ul> <li><a href="https://github.com/babel/babel/pull/16582">#16582</a> fix plugin-transform-react-constant-elements transform JSXFrament but not add JSXExpressionContainer (<a href="https://github.com/keiseiTi"><code>@keiseiTi</code></a>)</li> </ul> </li> <li><code>babel-traverse</code> <ul> <li><a href="https://github.com/babel/babel/pull/16587">#16587</a> fix: fixed issue16583 + test (<a href="https://github.com/nerodesu017"><code>@nerodesu017</code></a>)</li> </ul> </li> </ul> <h4>:house: Internal</h4> <ul> <li><a href="https://github.com/babel/babel/pull/16663">#16663</a> Test eslint plugin against eslint 9 (<a href="https://github.com/JLHwung"><code>@JLHwung</code></a>)</li> </ul> <h2>v7.25.0 (2024-07-26)</h2> <h4>:eyeglasses: Spec Compliance</h4> <ul> <li><code>babel-helpers</code>, <code>babel-plugin-proposal-explicit-resource-management</code>, <code>babel-runtime-corejs3</code> <ul> <li><a href="https://github.com/babel/babel/pull/16537">#16537</a> <code>await using</code> normative updates (<a href="https://github.com/JLHwung"><code>@JLHwung</code></a>)</li> </ul> </li> <li><code>babel-plugin-transform-typescript</code> <ul> <li><a href="https://github.com/babel/babel/pull/16602">#16602</a> Ensure enum members syntactically determinable to be strings do not get reverse mappings (<a href="https://github.com/liuxingbaoyu"><code>@liuxingbaoyu</code></a>)</li> </ul> </li> </ul> <h4>:rocket: New Feature</h4> <ul> <li><code>babel-helper-create-class-features-plugin</code>, <code>babel-helper-function-name</code>, <code>babel-helper-plugin-utils</code>, <code>babel-helper-wrap-function</code>, <code>babel-plugin-bugfix-safari-class-field-initializer-scope</code>, <code>babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression</code>, <code>babel-plugin-transform-classes</code>, <code>babel-plugin-transform-function-name</code>, <code>babel-preset-env</code>, <code>babel-traverse</code>, <code>babel-types</code> <ul> <li><a href="https://github.com/babel/babel/pull/16658">#16658</a> Move <code>ensureFunctionName</code> to <code>NodePath.prototype</code> (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> <li><code>babel-helper-hoist-variables</code>, <code>babel-helper-plugin-utils</code>, <code>babel-plugin-proposal-async-do-expressions</code>, <code>babel-plugin-transform-modules-systemjs</code>, <code>babel-traverse</code> <ul> <li><a href="https://github.com/babel/babel/pull/16644">#16644</a> Move <code>hoistVariables</code> to <code>Scope.prototype</code> (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> <li><code>babel-helper-create-class-features-plugin</code>, <code>babel-helper-module-transforms</code>, <code>babel-helper-plugin-utils</code>, <code>babel-helper-split-export-declaration</code>, <code>babel-plugin-transform-classes</code>, <code>babel-traverse</code>, <code>babel-types</code> <ul> <li><a href="https://github.com/babel/babel/pull/16645">#16645</a> Move <code>splitExportDeclaration</code> to <code>NodePath.prototype</code> (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> <li><code>babel-helper-create-class-features-plugin</code>, <code>babel-helper-environment-visitor</code>, <code>babel-helper-module-transforms</code>, <code>babel-helper-plugin-utils</code>, <code>babel-helper-remap-async-to-generator</code>, <code>babel-helper-replace-supers</code>, <code>babel-plugin-bugfix-firefox-class-in-computed-class-key</code>, <code>babel-plugin-bugfix-v8-static-class-fields-redefine-readonly</code>, <code>babel-plugin-transform-async-generator-functions</code>, <code>babel-plugin-transform-classes</code>, <code>babel-traverse</code> <ul> <li><a href="https://github.com/babel/babel/pull/16649">#16649</a> Move <code>environment-visitor</code> helper into <code>@babel/traverse</code> (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> <li><code>babel-core</code>, <code>babel-parser</code> <ul> <li><a href="https://github.com/babel/babel/pull/16480">#16480</a> Expose wether a module has TLA or not as <code>.extra.async</code> (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> <li><code>babel-compat-data</code>, <code>babel-plugin-bugfix-safari-class-field-initializer-scope</code>, <code>babel-preset-env</code> <ul> <li><a href="https://github.com/babel/babel/pull/16569">#16569</a> Introduce <code>bugfix-safari-class-field-initializer-scope</code> (<a href="https://github.com/davidtaylorhq"><code>@davidtaylorhq</code></a>)</li> </ul> </li> <li><code>babel-plugin-transform-block-scoping</code>, <code>babel-traverse</code>, <code>babel-types</code> <ul> <li><a href="https://github.com/babel/babel/pull/16551">#16551</a> Add <code>NodePath#getAssignmentIdentifiers</code> (<a href="https://github.com/JLHwung"><code>@JLHwung</code></a>)</li> </ul> </li> <li><code>babel-helper-import-to-platform-api</code>, <code>babel-plugin-proposal-json-modules</code> <ul> <li><a href="https://github.com/babel/babel/pull/16579">#16579</a> Add <code>uncheckedRequire</code> option for JSON imports to CJS (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> <li><code>babel-helper-transform-fixture-test-runner</code>, <code>babel-node</code> <ul> <li><a href="https://github.com/babel/babel/pull/16642">#16642</a> Allow using custom config in <code>babel-node --eval</code> (<a href="https://github.com/slatereax"><code>@slatereax</code></a>)</li> </ul> </li> <li><code>babel-compat-data</code>, <code>babel-helper-create-regexp-features-plugin</code>, <code>babel-plugin-proposal-duplicate-named-capturing-groups-regex</code>, <code>babel-plugin-transform-duplicate-named-capturing-groups-regex</code>, <code>babel-preset-env</code>, <code>babel-standalone</code> <ul> <li><a href="https://github.com/babel/babel/pull/16445">#16445</a> Add <code>duplicate-named-capturing-groups-regex</code> to <code>preset-env</code> (<a href="https://github.com/JLHwung"><code>@JLHwung</code></a>)</li> </ul> </li> </ul> <h4>:bug: Bug Fix</h4> <ul> <li><code>babel-generator</code> <ul> <li><a href="https://github.com/babel/babel/pull/16678">#16678</a> Print parens around as expressions on the LHS (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/babel/babel/commit/0f8f408f6eb5a5de9c228718fb6ff707d65bb930"><code>0f8f408</code></a> v7.25.2</li> <li><a href="https://github.com/babel/babel/commit/6a15d7ac83e1cdb7bb418d502792e18a190ba981"><code>6a15d7a</code></a> Ensure that <code>requeueComputedKeyAndDecorators</code> is available (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/16695">#16695</a>)</li> <li><a href="https://github.com/babel/babel/commit/9f7e29a28d403a56a8b1de90ed1fa5be35c02406"><code>9f7e29a</code></a> chore: fix one suppressed eslint error (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/16696">#16696</a>)</li> <li><a href="https://github.com/babel/babel/commit/2413d1a747dbe4e1c49a2baea5a3c91c649a264e"><code>2413d1a</code></a> Add eslint-plugin-regexp (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/16680">#16680</a>)</li> <li><a href="https://github.com/babel/babel/commit/5dc3b44ffd08ea76b1751556eee40b160a80c3b4"><code>5dc3b44</code></a> Expose wether a module has TLA or not as <code>.extra.async</code> (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/16480">#16480</a>)</li> <li><a href="https://github.com/babel/babel/commit/30aa64417e747ab09ebce3b2a85cbe75ec6e7c9b"><code>30aa644</code></a> v7.24.9</li> <li><a href="https://github.com/babel/babel/commit/7d923b83a9d9e761fc4ceca04198e5b68d2439d3"><code>7d923b8</code></a> Avoid <code>require()</code> call in <code>@babel/standalone</code> bundle (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/16639">#16639</a>)</li> <li><a href="https://github.com/babel/babel/commit/889c58f65678b0d9cdc68d6226931fb32c922d74"><code>889c58f</code></a> Revert "Pin CI to Node.js 22.1" (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/16633">#16633</a>)</li> <li><a href="https://github.com/babel/babel/commit/1f5af441178256f5e846b4f6c678e2bd375e5d9d"><code>1f5af44</code></a> v7.24.8</li> <li><a href="https://github.com/babel/babel/commit/683c65496f305f0e60984d3cd9073fe5ed565819"><code>683c654</code></a> Enable some lint rules (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/16605">#16605</a>)</li> <li>Additional commits viewable in <a href="https://github.com/babel/babel/commits/v7.25.2/packages/babel-core">compare view</a></li> </ul> </details> <br /> Updates `@babel/preset-env` from 7.24.7 to 7.25.4 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/babel/babel/releases"><code>@babel/preset-env</code>'s releases</a>.</em></p> <blockquote> <h2>v7.25.4 (2024-08-22)</h2> <h4>:bug: Bug Fix</h4> <ul> <li><code>babel-traverse</code> <ul> <li><a href="https://github.com/babel/babel/pull/16756">#16756</a> fix: Skip computed key when renaming (<a href="https://github.com/liuxingbaoyu"><code>@liuxingbaoyu</code></a>)</li> </ul> </li> <li><code>babel-helper-create-class-features-plugin</code>, <code>babel-plugin-proposal-decorators</code> <ul> <li><a href="https://github.com/babel/babel/pull/16755">#16755</a> fix: Decorator 2018-09 may throw an exception (<a href="https://github.com/liuxingbaoyu"><code>@liuxingbaoyu</code></a>)</li> </ul> </li> <li><code>babel-types</code> <ul> <li><a href="https://github.com/babel/babel/pull/16710">#16710</a> Visit AST fields nodes according to their syntactical order (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> <li><code>babel-generator</code> <ul> <li><a href="https://github.com/babel/babel/pull/16709">#16709</a> Print semicolon after TS <code>export namespace as A</code> (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> </ul> <h4>:nail_care: Polish</h4> <ul> <li><code>babel-generator</code>, <code>babel-plugin-proposal-decorators</code>, <code>babel-plugin-proposal-destructuring-private</code>, <code>babel-plugin-proposal-pipeline-operator</code>, <code>babel-plugin-transform-class-properties</code>, <code>babel-plugin-transform-destructuring</code>, <code>babel-plugin-transform-optional-chaining</code>, <code>babel-plugin-transform-private-methods</code>, <code>babel-plugin-transform-private-property-in-object</code>, <code>babel-plugin-transform-typescript</code>, <code>babel-runtime-corejs2</code>, <code>babel-runtime</code>, <code>babel-traverse</code> <ul> <li><a href="https://github.com/babel/babel/pull/16722">#16722</a> Avoid unnecessary parens around sequence expressions (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> <li><code>babel-generator</code>, <code>babel-plugin-transform-class-properties</code> <ul> <li><a href="https://github.com/babel/babel/pull/16714">#16714</a> Avoid unnecessary parens around exported arrow functions (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> <li><code>babel-generator</code>, <code>babel-plugin-proposal-decorators</code>, <code>babel-plugin-proposal-destructuring-private</code>, <code>babel-plugin-transform-object-rest-spread</code> <ul> <li><a href="https://github.com/babel/babel/pull/16712">#16712</a> Avoid printing unnecessary parens around object destructuring (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> </ul> <h4>:microscope: Output optimization</h4> <ul> <li><code>babel-generator</code> <ul> <li><a href="https://github.com/babel/babel/pull/16740">#16740</a> Avoid extra spaces between comments/regexps in compact mode (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> </ul> <h4>Committers: 4</h4> <ul> <li>Babel Bot (<a href="https://github.com/babel-bot"><code>@babel-bot</code></a>)</li> <li>Huáng Jùnliàng (<a href="https://github.com/JLHwung"><code>@JLHwung</code></a>)</li> <li>Nicolò Ribaudo (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> <li><a href="https://github.com/liuxingbaoyu"><code>@liuxingbaoyu</code></a></li> </ul> <h2>v7.25.3 (2024-07-31)</h2> <h4>:bug: Bug Fix</h4> <ul> <li><code>babel-plugin-bugfix-firefox-class-in-computed-class-key</code>, <code>babel-traverse</code> <ul> <li><a href="https://github.com/babel/babel/pull/16699">#16699</a> Avoid validating visitors produced by <code>traverse.visitors.merge</code> (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> </ul> <h4>:house: Internal</h4> <ul> <li><code>babel-parser</code> <ul> <li><a href="https://github.com/babel/babel/pull/16688">#16688</a> Add <code>@babel/types</code> as a dependency of <code>@babel/parser</code> (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> </ul> <h4>Committers: 2</h4> <ul> <li>Huáng Jùnliàng (<a href="https://github.com/JLHwung"><code>@JLHwung</code></a>)</li> <li>Nicolò Ribaudo (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> <h2>v7.25.2 (2024-07-30)</h2> <h4>:bug: Bug Fix</h4> <ul> <li><code>babel-core</code>, <code>babel-traverse</code> <ul> <li><a href="https://github.com/babel/babel/pull/16695">#16695</a> Ensure that <code>requeueComputedKeyAndDecorators</code> is available (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/babel/babel/blob/main/CHANGELOG.md"><code>@babel/preset-env</code>'s changelog</a>.</em></p> <blockquote> <h2>v7.25.4 (2024-08-22)</h2> <h4>:bug: Bug Fix</h4> <ul> <li><code>babel-traverse</code> <ul> <li><a href="https://github.com/babel/babel/pull/16756">#16756</a> fix: Skip computed key when renaming (<a href="https://github.com/liuxingbaoyu"><code>@liuxingbaoyu</code></a>)</li> </ul> </li> <li><code>babel-helper-create-class-features-plugin</code>, <code>babel-plugin-proposal-decorators</code> <ul> <li><a href="https://github.com/babel/babel/pull/16755">#16755</a> fix: Decorator 2018-09 may throw an exception (<a href="https://github.com/liuxingbaoyu"><code>@liuxingbaoyu</code></a>)</li> </ul> </li> <li><code>babel-types</code> <ul> <li><a href="https://github.com/babel/babel/pull/16710">#16710</a> Visit AST fields nodes according to their syntactical order (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> <li><code>babel-generator</code> <ul> <li><a href="https://github.com/babel/babel/pull/16709">#16709</a> Print semicolon after TS <code>export namespace as A</code> (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> </ul> <h4>:nail_care: Polish</h4> <ul> <li><code>babel-generator</code>, <code>babel-plugin-proposal-decorators</code>, <code>babel-plugin-proposal-destructuring-private</code>, <code>babel-plugin-proposal-pipeline-operator</code>, <code>babel-plugin-transform-class-properties</code>, <code>babel-plugin-transform-destructuring</code>, <code>babel-plugin-transform-optional-chaining</code>, <code>babel-plugin-transform-private-methods</code>, <code>babel-plugin-transform-private-property-in-object</code>, <code>babel-plugin-transform-typescript</code>, <code>babel-runtime-corejs2</code>, <code>babel-runtime</code>, <code>babel-traverse</code> <ul> <li><a href="https://github.com/babel/babel/pull/16722">#16722</a> Avoid unnecessary parens around sequence expressions (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> <li><code>babel-generator</code>, <code>babel-plugin-transform-class-properties</code> <ul> <li><a href="https://github.com/babel/babel/pull/16714">#16714</a> Avoid unnecessary parens around exported arrow functions (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> <li><code>babel-generator</code>, <code>babel-plugin-proposal-decorators</code>, <code>babel-plugin-proposal-destructuring-private</code>, <code>babel-plugin-transform-object-rest-spread</code> <ul> <li><a href="https://github.com/babel/babel/pull/16712">#16712</a> Avoid printing unnecessary parens around object destructuring (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> </ul> <h4>:microscope: Output optimization</h4> <ul> <li><code>babel-generator</code> <ul> <li><a href="https://github.com/babel/babel/pull/16740">#16740</a> Avoid extra spaces between comments/regexps in compact mode (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> </ul> <h2>v7.25.3 (2024-07-31)</h2> <h4>:bug: Bug Fix</h4> <ul> <li><code>babel-plugin-bugfix-firefox-class-in-computed-class-key</code>, <code>babel-traverse</code> <ul> <li><a href="https://github.com/babel/babel/pull/16699">#16699</a> Avoid validating visitors produced by <code>traverse.visitors.merge</code> (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> </ul> <h4>:house: Internal</h4> <ul> <li><code>babel-parser</code> <ul> <li><a href="https://github.com/babel/babel/pull/16688">#16688</a> Add <code>@babel/types</code> as a dependency of <code>@babel/parser</code> (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> </ul> <h2>v7.25.2 (2024-07-30)</h2> <h4>:bug: Bug Fix</h4> <ul> <li><code>babel-core</code>, <code>babel-traverse</code> <ul> <li><a href="https://github.com/babel/babel/pull/16695">#16695</a> Ensure that <code>requeueComputedKeyAndDecorators</code> is available (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> </ul> <h2>v7.25.1 (2024-07-28)</h2> <h4>:bug: Bug Fix</h4> <ul> <li><code>babel-plugin-transform-function-name</code> <ul> <li><a href="https://github.com/babel/babel/pull/16683">#16683</a> fix: <code>ensureFunctionName</code> may be undefined (<a href="https://github.com/liuxingbaoyu"><code>@liuxingbaoyu</code></a>)</li> </ul> </li> <li><code>babel-plugin-transform-react-constant-elements</code> <ul> <li><a href="https://github.com/babel/babel/pull/16582">#16582</a> fix plugin-transform-react-constant-elements transform JSXFrament but not add JSXExpressionContainer (<a href="https://github.com/keiseiTi"><code>@keiseiTi</code></a>)</li> </ul> </li> <li><code>babel-traverse</code> <ul> <li><a href="https://github.com/babel/babel/pull/16587">#16587</a> fix: fixed issue16583 + test (<a href="https://github.com/nerodesu017"><code>@nerodesu017</code></a>)</li> </ul> </li> </ul> <h4>:house: Internal</h4> <ul> <li><a href="https://github.com/babel/babel/pull/16663">#16663</a> Test eslint plugin against eslint 9 (<a href="https://github.com/JLHwung"><code>@JLHwung</code></a>)</li> </ul> <h2>v7.25.0 (2024-07-26)</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/babel/babel/commit/cbf124ca42a4c34630040bf556e6a8507f961dfe"><code>cbf124c</code></a> v7.25.4</li> <li><a href="https://github.com/babel/babel/commit/b38b027c9796ab9b385c03ef8e3807896a92c540"><code>b38b027</code></a> Update compat data (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/16736">#16736</a>)</li> <li><a href="https://github.com/babel/babel/commit/55dfde885566faba850da91fdaa952453e80439f"><code>55dfde8</code></a> Update <code>babel-plugin-polyfill-corejs3</code> (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/16715">#16715</a>)</li> <li><a href="https://github.com/babel/babel/commit/dba45d3ebc92a868c9b8952a6f407c6ab83c6b3f"><code>dba45d3</code></a> Ignore <code>devDependencies</code> when generating <code>tsconfig.json</code> (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/16659">#16659</a>)</li> <li><a href="https://github.com/babel/babel/commit/787c7cd6baa7f2bf691f52ea65a0f69105e9f27c"><code>787c7cd</code></a> v7.25.3</li> <li><a href="https://github.com/babel/babel/commit/a0c8871e3fba5cd2083cff26c7732f3ef2199a5c"><code>a0c8871</code></a> Test: Improve available-plugins compat-data check (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/16693">#16693</a>)</li> <li><a href="https://github.com/babel/babel/commit/0f8f408f6eb5a5de9c228718fb6ff707d65bb930"><code>0f8f408</code></a> v7.25.2</li> <li><a href="https://github.com/babel/babel/commit/0b2cc25aac822f3a13f900ac87bb830db448da8b"><code>0b2cc25</code></a> Update compat-table (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/16691">#16691</a>)</li> <li><a href="https://github.com/babel/babel/commit/2413d1a747dbe4e1c49a2baea5a3c91c649a264e"><code>2413d1a</code></a> Add eslint-plugin-regexp (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env/issues/16680">#16680</a>)</li> <li><a href="https://github.com/babel/babel/commit/d2e3ee2c922daee20119c2233ace16999a666cbc"><code>d2e3ee2</code></a> v7.25.0</li> <li>Additional commits viewable in <a href="https://github.com/babel/babel/commits/v7.25.4/packages/babel-preset-env">compare view</a></li> </ul> </details> <br /> Updates `@babel/runtime-corejs3` from 7.24.7 to 7.25.6 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/babel/babel/releases"><code>@babel/runtime-corejs3</code>'s releases</a>.</em></p> <blockquote> <h2>v7.25.6 (2024-08-29)</h2> <p>Thanks <a href="https://github.com/j4k0xb"><code>@j4k0xb</code></a> for your first PR!</p> <h4>:bug: Bug Fix</h4> <ul> <li><code>babel-generator</code> <ul> <li><a href="https://github.com/babel/babel/pull/16783">#16783</a> Properly print inner comments in TS array types (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> <li><a href="https://github.com/babel/babel/pull/16775">#16775</a> fix: jsx whitespace is not properly preserved when retainLines (<a href="https://github.com/liuxingbaoyu"><code>@liuxingbaoyu</code></a>)</li> </ul> </li> <li><code>babel-traverse</code> <ul> <li><a href="https://github.com/babel/babel/pull/16727">#16727</a> fix: <code>path.getAssignmentIdentifiers</code> may be <code>undefined</code> (<a href="https://github.com/liuxingbaoyu"><code>@liuxingbaoyu</code></a>)</li> </ul> </li> <li><code>babel-parser</code> <ul> <li><a href="https://github.com/babel/babel/pull/16761">#16761</a> fix: improve static canFollowModifier checks (<a href="https://github.com/JLHwung"><code>@JLHwung</code></a>)</li> </ul> </li> <li><code>babel-helpers</code>, <code>babel-plugin-transform-optional-chaining</code>, <code>babel-runtime-corejs3</code> <ul> <li><a href="https://github.com/babel/babel/pull/16769">#16769</a> Only wrap functions in <code>superPropertyGet</code> helper (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> </ul> <h4>:nail_care: Polish</h4> <ul> <li><code>babel-generator</code>, <code>babel-plugin-transform-async-to-generator</code>, <code>babel-plugin-transform-block-scoping</code>, <code>babel-plugin-transform-class-properties</code>, <code>babel-plugin-transform-classes</code>, <code>babel-plugin-transform-duplicate-named-capturing-groups-regex</code>, <code>babel-plugin-transform-named-capturing-groups-regex</code>, <code>babel-plugin-transform-react-jsx-development</code>, <code>babel-plugin-transform-react-jsx</code>, <code>babel-plugin-transform-react-pure-annotations</code>, <code>babel-plugin-transform-regenerator</code>, <code>babel-plugin-transform-runtime</code>, <code>babel-preset-env</code> <ul> <li><a href="https://github.com/babel/babel/pull/16780">#16780</a> Do not enforce printing space between <code>(</code> and comments (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> <li><code>babel-plugin-syntax-import-assertions</code>, <code>babel-plugin-syntax-import-attributes</code> <ul> <li><a href="https://github.com/babel/babel/pull/16781">#16781</a> Don't throw when enabling both syntax-import-{assertions,attributes} (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> <li><code>babel-generator</code> <ul> <li><a href="https://github.com/babel/babel/pull/16782">#16782</a> TS union/intersection nested in union does not need parens (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> </ul> <h4>:house: Internal</h4> <ul> <li><code>babel-generator</code> <ul> <li><a href="https://github.com/babel/babel/pull/16777">#16777</a> Remove unused <code>parent</code> params in the generator (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> </ul> <h4>Committers: 5</h4> <ul> <li>Babel Bot (<a href="https://github.com/babel-bot"><code>@babel-bot</code></a>)</li> <li>Huáng Jùnliàng (<a href="https://github.com/JLHwung"><code>@JLHwung</code></a>)</li> <li>Nicolò Ribaudo (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> <li><a href="https://github.com/j4k0xb"><code>@j4k0xb</code></a></li> <li><a href="https://github.com/liuxingbaoyu"><code>@liuxingbaoyu</code></a></li> </ul> <h2>v7.25.5 (2024-08-23)</h2> <h4>:bug: Bug Fix</h4> <ul> <li><code>babel-generator</code>, <code>babel-traverse</code> <ul> <li><a href="https://github.com/babel/babel/pull/16764">#16764</a> fix: Generate sequence expression parentheses correctly (<a href="https://github.com/liuxingbaoyu"><code>@liuxingbaoyu</code></a>)</li> </ul> </li> </ul> <h4>:nail_care: Polish</h4> <ul> <li><code>babel-generator</code> <ul> <li><a href="https://github.com/babel/babel/pull/16738">#16738</a> Only force-parenthesize <code>satisfies</code>'s LHS if it has newlines (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> </ul> <h4>Committers: 2</h4> <ul> <li>Nicolò Ribaudo (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> <li><a href="https://github.com/liuxingbaoyu"><code>@liuxingbaoyu</code></a></li> </ul> <h2>v7.25.4 (2024-08-22)</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/babel/babel/blob/main/CHANGELOG.md"><code>@babel/runtime-corejs3</code>'s changelog</a>.</em></p> <blockquote> <h2>v7.25.6 (2024-08-29)</h2> <h4>:bug: Bug Fix</h4> <ul> <li><code>babel-generator</code> <ul> <li><a href="https://github.com/babel/babel/pull/16783">#16783</a> Properly print inner comments in TS array types (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> <li><a href="https://github.com/babel/babel/pull/16775">#16775</a> fix: jsx whitespace is not properly preserved when retainLines (<a href="https://github.com/liuxingbaoyu"><code>@liuxingbaoyu</code></a>)</li> </ul> </li> <li><code>babel-traverse</code> <ul> <li><a href="https://github.com/babel/babel/pull/16727">#16727</a> fix: <code>path.getAssignmentIdentifiers</code> may be <code>undefined</code> (<a href="https://github.com/liuxingbaoyu"><code>@liuxingbaoyu</code></a>)</li> </ul> </li> <li><code>babel-parser</code> <ul> <li><a href="https://github.com/babel/babel/pull/16761">#16761</a> fix: improve static canFollowModifier checks (<a href="https://github.com/JLHwung"><code>@JLHwung</code></a>)</li> </ul> </li> <li><code>babel-helpers</code>, <code>babel-plugin-transform-optional-chaining</code>, <code>babel-runtime-corejs3</code> <ul> <li><a href="https://github.com/babel/babel/pull/16769">#16769</a> Only wrap functions in <code>superPropertyGet</code> helper (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> </ul> <h4>:nail_care: Polish</h4> <ul> <li><code>babel-generator</code>, <code>babel-plugin-transform-async-to-generator</code>, <code>babel-plugin-transform-block-scoping</code>, <code>babel-plugin-transform-class-properties</code>, <code>babel-plugin-transform-classes</code>, <code>babel-plugin-transform-duplicate-named-capturing-groups-regex</code>, <code>babel-plugin-transform-named-capturing-groups-regex</code>, <code>babel-plugin-transform-react-jsx-development</code>, <code>babel-plugin-transform-react-jsx</code>, <code>babel-plugin-transform-react-pure-annotations</code>, <code>babel-plugin-transform-regenerator</code>, <code>babel-plugin-transform-runtime</code>, <code>babel-preset-env</code> <ul> <li><a href="https://github.com/babel/babel/pull/16780">#16780</a> Do not enforce printing space between <code>(</code> and comments (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> <li><code>babel-plugin-syntax-import-assertions</code>, <code>babel-plugin-syntax-import-attributes</code> <ul> <li><a href="https://github.com/babel/babel/pull/16781">#16781</a> Don't throw when enabling both syntax-import-{assertions,attributes} (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> <li><code>babel-generator</code> <ul> <li><a href="https://github.com/babel/babel/pull/16782">#16782</a> TS union/intersection nested in union does not need parens (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> </ul> <h4>:house: Internal</h4> <ul> <li><code>babel-generator</code> <ul> <li><a href="https://github.com/babel/babel/pull/16777">#16777</a> Remove unused <code>parent</code> params in the generator (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> </ul> <h2>v7.25.5 (2024-08-23)</h2> <h4>:bug: Bug Fix</h4> <ul> <li><code>babel-generator</code>, <code>babel-traverse</code> <ul> <li><a href="https://github.com/babel/babel/pull/16764">#16764</a> fix: Generate parentheses correctly (<a href="https://github.com/liuxingbaoyu"><code>@liuxingbaoyu</code></a>)</li> </ul> </li> </ul> <h4>:nail_care: Polish</h4> <ul> <li><code>babel-generator</code> <ul> <li><a href="https://github.com/babel/babel/pull/16738">#16738</a> Only force-parenthesize <code>satisfies</code>'s LHS if it has newlines (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> </ul> <h2>v7.25.4 (2024-08-22)</h2> <h4>:bug: Bug Fix</h4> <ul> <li><code>babel-traverse</code> <ul> <li><a href="https://github.com/babel/babel/pull/16756">#16756</a> fix: Skip computed key when renaming (<a href="https://github.com/liuxingbaoyu"><code>@liuxingbaoyu</code></a>)</li> </ul> </li> <li><code>babel-helper-create-class-features-plugin</code>, <code>babel-plugin-proposal-decorators</code> <ul> <li><a href="https://github.com/babel/babel/pull/16755">#16755</a> fix: Decorator 2018-09 may throw an exception (<a href="https://github.com/liuxingbaoyu"><code>@liuxingbaoyu</code></a>)</li> </ul> </li> <li><code>babel-types</code> <ul> <li><a href="https://github.com/babel/babel/pull/16710">#16710</a> Visit AST fields nodes according to their syntactical order (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> <li><code>babel-generator</code> <ul> <li><a href="https://github.com/babel/babel/pull/16709">#16709</a> Print semicolon after TS <code>export namespace as A</code> (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> </ul> <h4>:nail_care: Polish</h4> <ul> <li><code>babel-generator</code>, <code>babel-plugin-proposal-decorators</code>, <code>babel-plugin-proposal-destructuring-private</code>, <code>babel-plugin-proposal-pipeline-operator</code>, <code>babel-plugin-transform-class-properties</code>, <code>babel-plugin-transform-destructuring</code>, <code>babel-plugin-transform-optional-chaining</code>, <code>babel-plugin-transform-private-methods</code>, <code>babel-plugin-transform-private-property-in-object</code>, <code>babel-plugin-transform-typescript</code>, <code>babel-runtime-corejs2</code>, <code>babel-runtime</code>, <code>babel-traverse</code> <ul> <li><a href="https://github.com/babel/babel/pull/16722">#16722</a> Avoid unnecessary parens around sequence expressions (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> <li><code>babel-generator</code>, <code>babel-plugin-transform-class-properties</code> <ul> <li><a href="https://github.com/babel/babel/pull/16714">#16714</a> Avoid unnecessary parens around exported arrow functions (<a href="https://github.com/nicolo-ribaudo"><code>@nicolo-ribaudo</code></a>)</li> </ul> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/babel/babel/commit/2f72b978f9acc68d065e7da10c8e270d6f96b7c4"><code>2f72b97</code></a> v7.25.6</li> <li><a href="https://github.com/babel/babel/commit/40ad3bc41dd487136439daaf3379e00831cbdb2c"><code>40ad3bc</code></a> Only wrap functions in <code>superPropertyGet</code> helper (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-runtime-corejs3/issues/16769">#16769</a>)</li> <li><a href="https://github.com/babel/babel/commit/d2e3ee2c922daee20119c2233ace16999a666cbc"><code>d2e3ee2</code></a> v7.25.0</li> <li><a href="https://github.com/babel/babel/commit/e774270843a520feffb0643fba236adbed6b0fb6"><code>e774270</code></a> Improve <code>super.x</code> output (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-runtime-corejs3/issues/16374">#16374</a>)</li> <li><a href="https://github.com/babel/babel/commit/2def8095522704e4677504b29035c0c5022de011"><code>2def809</code></a> <code>await using</code> normative updates (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-runtime-corejs3/issues/16537">#16537</a>)</li> <li><a href="https://github.com/babel/babel/commit/1f5af441178256f5e846b4f6c678e2bd375e5d9d"><code>1f5af44</code></a> v7.24.8</li> <li><a href="https://github.com/babel/babel/commit/c36fa6a9299df95b801695736f78ac87211f009f"><code>c36fa6a</code></a> Update typescript-eslint v8 (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-runtime-corejs3/issues/16557">#16557</a>)</li> <li><a href="https://github.com/babel/babel/commit/427ceb652fa39d542b02ac1c409cf7f9f2431f5d"><code>427ceb6</code></a> [helpers TS conversion] legacy decorators (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-runtime-corejs3/issues/16556">#16556</a>)</li> <li>See full diff in <a href="https://github.com/babel/babel/commits/v7.25.6/packages/babel-runtime-corejs3">compare view</a></li> </ul> </details> <br /> Updates `chai` from 4.4.1 to 4.5.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/chaijs/chai/releases">chai's releases</a>.</em></p> <blockquote> <h2>v4.5.0</h2> <ul> <li>Update type detect (<a href="https://github.com/chaijs/chai/issues/1631">#1631</a>) 1a36d35</li> </ul> <p><a href="https://github.com/chaijs/chai/compare/v4.4.1...v4.5.0">https://github.com/chaijs/chai/compare/v4.4.1...v4.5.0</a></p> <h2>What's Changed</h2> <ul> <li>Update type detect by <a href="https://github.com/koddsson"><code>@koddsson</code></a> in <a href="https://github.com/chaijs/chai/pull/1631">chaijs/chai#1631</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/chaijs/chai/compare/v4.4.1...v4.5.0">https://github.com/chaijs/chai/compare/v4.4.1...v4.5.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/chaijs/chai/commit/6a19308a7d12fc82ca55cc2ac17a5d36dcf8db49"><code>6a19308</code></a> 4.5.0</li> <li><a href="https://github.com/chaijs/chai/commit/1a36d354a501e2870249a7e35ede59de3bc55fd3"><code>1a36d35</code></a> Update type detect (<a href="https://github.com/chaijs/chai/issues/1631">#1631</a>)</li> <li>See full diff in <a href="https://github.com/chaijs/chai/compare/v4.4.1...v4.5.0">compare view</a></li> </ul> </details> <br /> Updates `core-js` from 3.37.1 to 3.38.1 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/zloirock/core-js/blob/master/CHANGELOG.md">core-js's changelog</a>.</em></p> <blockquote> <h5><a href="https://github.com/zloirock/core-js/releases/tag/v3.38.1">3.38.1 - 2024.08.20</a></h5> <ul> <li>Changes <a href="https://github.com/zloirock/core-js/compare/v3.38.0...v3.38.1">v3.38.0...v3.38.1</a></li> <li>Fixed some cases of <code>URLSearchParams</code> percent decoding, <a href="https://github.com/zloirock/core-js/issues/1357">#1357</a>, <a href="https://github.com/zloirock/core-js/pull/1361">#1361</a>, thanks <a href="https://github.com/slowcheetah"><strong><code>@slowcheetah</code></strong></a></li> <li>Some stylistic changes and minor optimizations</li> <li>Compat data improvements: <ul> <li><a href="https://github.com/tc39/proposal-iterator-helpers"><code>Iterator</code> helpers proposal</a> methods marked as <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1896390">shipped from FF131</a></li> <li><a href="https://github.com/tc39/proposal-float16array"><code>Math.f16round</code> and <code>DataView.prototype.{ getFloat16, setFloat16 }</code></a> marked as shipped from Bun 1.1.23</li> <li><a href="https://github.com/tc39/proposal-regex-escaping"><code>RegExp.escape</code></a> marked as shipped from Bun 1.1.22</li> <li><a href="https://github.com/tc39/proposal-promise-try"><code>Promise.try</code></a> marked as shipped from Bun 1.1.22</li> <li><a href="https://github.com/tc39/proposal-arraybuffer-base64"><code>Uint8Array</code> to / from base64 and hex proposal</a> methods marked as shipped from Bun 1.1.22</li> <li>Added Hermes 0.13 compat data, similar to React Native 0.75 Hermes</li> <li>Added Opera Android 84 compat data mapping</li> </ul> </li> </ul> <h5><a href="https://github.com/zloirock/core-js/releases/tag/v3.38.0">3.38.0 - 2024.08.05</a></h5> <ul> <li>Changes <a href="https://github.com/zloirock/core-js/compare/v3.37.1...v3.38.0">v3.37.1...v3.38.0</a></li> <li><a href="https://github.com/tc39/proposal-regex-escaping"><code>RegExp.escape</code> proposal</a>: <ul> <li>Built-ins: <ul> <li><code>RegExp.escape</code></li> </ul> </li> <li>Moved to stage 3, <a href="https://github.com/tc39/proposals/commit/4b8ee265248abfa2c88ed71b3c541ddd5a2eaffe">June 2024</a> and <a href="https://github.com/tc39/proposals/commit/bdb2eea6c5e41a52f2d6047d7de1a31b5d188c4f">July 2024</a> TC39 meetings</li> <li>Updated the way of escaping, <a href="https://github.com/tc39/proposal-regex-escaping/pull/77">regex-escaping/77</a></li> <li>Throw an error on non-strings, <a href="https://github.com/tc39/proposal-regex-escaping/pull/58">regex-escaping/58</a></li> <li>Added <code>/actual/</code> namespace entries, unconditional forced replacement changed to feature detection</li> </ul> </li> <li><a href="https://github.com/tc39/proposal-promise-try"><code>Promise.try</code> proposal</a>: <ul> <li>Built-ins: <ul> <li><code>Promise.try</code></li> </ul> </li> <li>Moved to stage 3, <a href="https://github.com/tc39/proposals/commit/de20984cd7f7bc616682c557cb839abc100422cb">June 2024 TC39 meeting</a></li> <li>Added <code>/actual/</code> namespace entries, unconditional forced replacement changed to feature detection</li> </ul> </li> <li><a href="https://github.com/tc39/proposal-arraybuffer-base64"><code>Uint8Array</code> to / from base64 and hex stage 3 proposal</a>: <ul> <li>Built-ins: <ul> <li><code>Uint8Array.fromBase64</code></li> <li><code>Uint8Array.fromHex</code></li> <li><code>Uint8Array.prototype.setFromBase64</code></li> <li><code>Uint8Array.prototype.setFromHex</code></li> <li><code>Uint8Array.prototype.toBase64</code></li> <li><code>Uint8Array.prototype.toHex</code></li> </ul> </li> <li>Added <code>Uint8Array.prototype.{ setFromBase64, setFromHex }</code> methods</li> <li>Added <code>Uint8Array.fromBase64</code> and <code>Uint8Array.prototype.setFromBase64</code> <code>lastChunkHandling</code> option, <a href="https://github.com/tc39/proposal-arraybuffer-base64/pull/33">proposal-arraybuffer-base64/33</a></li> <li>Added <code>Uint8Array.prototype.toBase64</code> <code>omitPadding</code> option, <a href="https://github.com/tc39/proposal-arraybuffer-base64/pull/60">proposal-arraybuffer-base64/60</a></li> <li>Added throwing a <code>TypeError</code> on arrays backed by detached buffers</li> <li>Unconditional forced replacement changed to feature detection</li> </ul> </li> <li>Fixed <code>RegExp</code> named capture groups polyfill in combination with non-capturing groups, <a href="https://github.com/zloirock/core-js/pull/1352">#1352</a>, thanks <a href="https://github.com/Ulop"><strong><code>@Ulop</code></strong></a></li> <li>Improved some cases of environment detection</li> <li>Uses <a href="https://nodejs.org/docs/latest/api/process.html#processgetbuiltinmoduleid"><code>process.getBuiltinModule</code></a> for getting built-in NodeJS modules where it's available</li> <li>Uses <code>https</code> instead of <code>http</code> in <code>URL</code> constructor feature detection to avoid extra notifications from some overly vigilant security scanners, <a href="https://github.com/zloirock/core-js/issues/1345">#1345</a></li> <li>Some minor optimizations</li> <li>Updated <code>browserslist</code> in <code>core-js-compat</code> dependencies that fixes an upstream issue with incorrect interpretation of some <code>browserslist</code> queries, <a href="https://github.com/zloirock/core-js/issues/1344">#1344</a>, <a href="https://github.com/browserslist/browserslist/issues/829">browserslist/829</a>, <a href="https://github.com/browserslist/browserslist/pull/836">browserslist/836</a></li> <li>Compat data improvements: <ul> <li>Added <a href="https://webkit.org/blog/15443/news-from-wwdc24-webkit-in-safari-18-beta/">Safari 18.0</a> compat data: <ul> <li>Fixed <a href="https://github.com/tc39/proposal-array-grouping"><code>Object.groupBy</code> and <code>Map.groupBy</code></a> to <a href="https://bugs.webkit.org/show_bug.cgi?id=271524">work for non-objects</a></li> <li>Fixed <a href="https://bugs.webkit.org/show_bug.cgi?id=267494">throwing a <code>RangeError</code> if <code>Set</code> methods are called on an object with negative size property</a></li> </ul> </li> </ul> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/zloirock/core-js/commit/d1e7889678f9d09ee4bb1d6bbd3184462567c730"><code>d1e7889</code></a> v3.38.1</li> <li><a href="https://github.com/zloirock/core-js/commit/92940826fbebdd950333a5b0a35728c554f674cf"><code>9294082</code></a> use self-compare <code>NaN</code> check</li> <li><a href="https://github.com/zloirock/core-js/commit/a79f40a96aae0fa724196771ce6139d83dbafb21"><code>a79f40a</code></a> Percent decode (<a href="https://github.com/zloirock/core-js/tree/HEAD/packages/core-js/issues/1361">#1361</a>)</li> <li><a href="https://github.com/zloirock/core-js/commit/85f3639fb667cce7e40afc9ccf0bf5a30815aaf9"><code>85f3639</code></a> enable some <code>eslint</code> <code>sonar</code> rules</li> <li><a href="https://github.com/zloirock/core-js/commit/5b69af043d39a1c8915146306b401be15fffc1d7"><code>5b69af0</code></a> use <code>null</code> instead of <code>undefined</code> as an empty placeholder in some cases</li> <li><a href="https://github.com/zloirock/core-js/commit/9cc1d632f97f9fe1db7aa0b28268ef6a0ee37985"><code>9cc1d63</code></a> use <code>git+</code> in <code>pkg.repository.url</code> of all packages</li> <li><a href="https://github.com/zloirock/core-js/commit/beccd4f65353e1d9d157b3552c318927b434c7f2"><code>beccd4f</code></a> enable some <code>eslint</code> <code>sonar</code> rules</li> <li><a href="https://github.com/zloirock/core-js/commit/b35e68e2d6b9ed7a069375f1e8c18c1f615eec46"><code>b35e68e</code></a> enable <code>sonar/inconsistent-function-call</code></li> <li><a href="https://github.com/zloirock/core-js/commit/4a322bf3a89fd4579b938ab09941b509f9db7136"><code>4a322bf</code></a> v3.38.0</li> <li><a href="https://github.com/zloirock/core-js/commit/9408792f1e3427fd052119f4c13d7e275cc7eb28"><code>9408792</code></a> replace a regex with a simple comparison</li> <li>Additional commits viewable in <a href="https://github.com/zloirock/core-js/commits/v3.38.1/packages/core-js">compare view</a></li> </ul> </details> <br /> Updates `emoji-regex` from 10.3.0 to 10.4.0 <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/mathiasbynens/emoji-regex/commit/8a6871a787a9c9441ed5a341951dcdb1fb3c1d1f"><code>8a6871a</code></a> Release v10.4.0</li> <li><a href="https://github.com/mathiasbynens/emoji-regex/commit/e11e61f057d96962f4196fbf0bd2788dcfba1ceb"><code>e11e61f</code></a> Update to draft release of Unicode v16.0.0</li> <li><a href="https://github.com/mathiasbynens/emoji-regex/commit/91784a9a758989bd7173464b9ae3dc923fcb4a5c"><code>91784a9</code></a> Cross-link emoji-regex-xs (<a href="https://github.com/mathiasbynens/emoji-regex/issues/113">#113</a>)</li> <li>See full diff in…
Bumps [chromedriver](https://github.com/giggio/node-chromedriver) from 126.0.4 to 127.0.1. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/giggio/node-chromedriver/commit/1295bb01657889a946a172a69a35996426e14e0b"><code>1295bb0</code></a> Bump version to 127.0.1</li> <li><a href="https://github.com/giggio/node-chromedriver/commit/13b710d3042a358225839b5f78e60a6895af65fa"><code>13b710d</code></a> Bump version to 127.0.0</li> <li><a href="https://github.com/giggio/node-chromedriver/commit/cb309867cec473f9a76a9a49d3dd3e8d1e187971"><code>cb30986</code></a> Bump version to 126.0.5</li> <li>See full diff in <a href="https://github.com/giggio/node-chromedriver/compare/126.0.4...127.0.1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=chromedriver&package-manager=npm_and_yarn&previous-version=126.0.4&new-version=127.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) You can trigger a rebase of this PR by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> > **Note** > Automatic rebases have been disabled on this pull request as it has been open for over 30 days. Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Steven Lambert <2433219+straker@users.noreply.github.com>
Update the doc for clarity and consistency with present tense. Also, "rules' description and help properties as well as each checks' metadata.messages property" → should be "rule's description and help properties, as well as each check's metadata.messages property" (singular possessive for "rule" and "check," and add a comma before "as well as").
Fixes our nightly tests by ignoring the experimental page for `aria-actions` on tabs.
Noticed this while reviewing a translation file
Co-authored-by: github-actions <github-actions@github.com>
) The ARIA in HTML spec [allows a form element to have role=form](https://www.w3.org/TR/html-aria/#allowed-aria-roles-states-and-properties#el-form), but [axe does not allow it](https://github.com/dequelabs/axe-core/blob/develop/lib/standards/html-elms.js#L264). This PR adds form to the allowedRoles of form.
It should be alternative text, not alternate text. Closes:
Co-authored-by: github-actions <github-actions@github.com>
It bothered me that every PR from a fork always had a red check from the autoformatter PR. This sets up the autoformatter to only run on PRs from non-forks, and adds a new `fmt:check` step to the tests workflow that will work even in forks. This lets our team still use the autoformatter without causing noise for external contributors, and also enforces our formatting requirements for PRs from forks where previously we would typically admin-merge past the check (which causes noise like #4599). Once this PR merges, we'll want to update the repo's branch protection rules to add the new fmt-check job as a required check. --------- Co-authored-by: dbjorge <dbjorge@users.noreply.github.com>
This addresses some test flakiness in `/test/integration/rerun/rerun.js` which has caused ~4 e2e test failures in CI builds in the last 3 weeks. It manifests as a timeout because the test uses assertions within callbacks to `axe.run` without propogating errors to the `done` callback; this addresses that similarly to other tests using the run callback pattern, which should cause new errors in this test to report the actual assertion failure instead of just timing out. I wasn't able to locally repro the actual failure, but I think a good guess as to why it's failing flakily is the same issue we saw with other tests doing deep comparison of axe result objects (testEnvironment differing between nearby scans due to windowHeight differences). I addressed that by reusing the test util we added for doing result comparison. I didn't want to hardcode knowledge of the testEnvironment thing into yet another individual test case, so I also refactored the test utility to move that knowledge into one location with a comment explaining it. --------- Co-authored-by: dbjorge <dbjorge@users.noreply.github.com>
Allows people to more easily see the total NPM downloads of axe-core.
While doing some perf testing I discovered axe hits a huge performance bottleneck when there are lots of similar elements on the page. There are essentially three problems with that: 1. Selectors aren't cached. An element tested more than once has a selector created more than once. 2. When an element has no unique features, axe creates the same selector and does a QSA with it. If there are lots of those, axe ends up running the same SQA over and over. That can be avoided by caching too 3. When that QSA returns lots of similar elements, axe will refine the selector using parents. Each time it does that it runs .matches on the similar element with the updated selector. With many similar elements, running QSA again is much faster than matching each individually, especially so if the parent's aren't distinct either, so that the QSA cache can be used. I've been using the following code to test this out (with different numbers in rows and cols): ```html <main> <h1>Hello World</h1> <table></table> </main> <script> const table = document.querySelector('table'); for (let row = 0; row < 200; row++) { const tr = document.createElement('tr'); table.appendChild(tr); for (let col = 0; col < 40; col++) { const td = document.createElement('td'); const btn = document.createElement('button'); td.appendChild(btn); tr.appendChild(td); } } </script> ``` ## Perf test results | btns | cur | memo 1 | memo 2 | 50 | 100 | 500 | 600 | 750 | 1000 | 2000 |--------|--------|--------|--------|--------|-------|------|-------|------|-------|------ | 2000 | 2513 | 1511 | 469 | 519 | 192 | 190 | 195 | 190 | 188 | 464 | 2000 | 2585 | 1524 | 470 | 517 | 200 | 190 | 195 | 198 | 203 | 481 | 2000 | 2540 | 1501 | 475 | 525 | 194 | 203 | 190 | 191 | 188 | 468 | 4000 | 10748 | 6183 | 2500 | 2454 | 2452 | 1433 | 838 | 826 | 823 | 850 | 4000 | 10784 | 6199 | 2400 | 2516 | 2452 | 1433 | 839 | 854 | 845 | 819 | 4000 | 10701 | 6203 | 2400 | 2497 | 2442 | 1444 | 849 | 848 | 866 | 838 | 8000 | 43117 | 26398 | 8166 | 10954 | 10895 | 3680 | 2349 | 2220 | 3800 | 2176 | 8000 | 43365 | 26339 | 9747 | 10576 | 10742 | 3775 | 2313 | 2302 | 3826 | 2169 | 8000 | 44899 | 26167 | 9723 | 10615 | 10729 | 3772 | 2235 | 2210 | 3765 | 2238 | 12000 | 100254 | 61300 | 19291 | 20647 | 20623 | 6036 | 6137 | 6146 | 5974 | 6418 | 12000 | 100406 | 60615 | 19543 | 20924 | 20669 | 6122 | 6022 | 6287 | 6094 | 6108 | 12000 | 101401 | 61792 | 19522 | 20662 | 20834 | 5978 | 6170 | 6155 | 6102 | 6347 Numbers are taken from `Audit reporter` with `performanceTimer: true`. - cur: Current situation - memo 1: memoize doc.querySelectorAll - memo 2: memoize doc.querySelectorAll + getSelector - xxx: memoize 2 + re-run QSA if similar elements > XXX ## Memory usage I've tested this approach on 10 different websites and saw no difference in memory usage between this approach and our current approach. ## Performance on real-world websites I tested this against 20 real-world websites and saw no change in performance between them. The scenario where this matters is when there is lots of repetition in a page such as in very large tables. The important part is that improving performance on for this edge case doesn't seem to hurt performance elsewhere.
### [4.10.1](v4.10.0...v4.10.1) (2024-10-16) ### Bug Fixes - **aria-allowed-role:** add form to allowed roles of form element ([#4588](#4588)) ([d462d67](d462d67)), closes [/github.com/dequelabs/axe-core/blob/develop/lib/standards/html-elms.js#L264](https://github.com/dequelabs//github.com/dequelabs/axe-core/blob/develop/lib/standards/html-elms.js/issues/L264) - **axe.d.ts:** add typings for preload options object ([#4543](#4543)) ([72e269f](72e269f)) - **button-name,input-button-name,input-img-alt:** allow label to give accessible name ([#4607](#4607)) ([364eb72](364eb72)), closes [#4472](#4472) [#3696](#3696) [#3696](#3696) - **get-ancestry:** add nth-child selector for multiple siblings of shadow root ([#4606](#4606)) ([bdd94a2](bdd94a2)), closes [#4563](#4563) - **rules:** Change "alternate text" to "alternative text" ([#4582](#4582)) ([31e0f61](31e0f61))
|
No description provided.