-
Notifications
You must be signed in to change notification settings - Fork 52
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
Bump aria-query and update to fix tests #448
Conversation
- generic does not list `aria-checked`.
- according to https://www.w3.org/TR/html-aam-1.0/, link tag doesn't map to anything even with an href. - therefore, it no longer makes sense to try to determine role and evaluate, so it should be skipped. - accordingly, tests are deleted since we don't want to evaluate it.
ff41732
to
d21a25e
Compare
Add additional dis-ambiguating attributes. When `aria-label` or `aria-labelledby` is set at all, constraints should be set.
'multiple', | ||
'scope', | ||
'name', | ||
]) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I know this doesn't consider ALL constraints, but I think it's fine for now since it will cover most cases we're concerned about (e.g. <span aria-label>
.
Whatever isn't matched should be skipped and we should avoid raising false positives.
👋 Hello and thanks for pinging us! You've entered our first responder queue. An accessibility first responder will review this soon.
|
// this will have global | ||
{code: '<a aria-checked />'}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is now treated as generic
@@ -78,30 +75,6 @@ ruleTester.run('role-supports-aria-props', rule, { | |||
{code: '<area href="#" aria-owns />'}, | |||
{code: '<area href="#" aria-relevant />'}, | |||
|
|||
// this will have global | |||
{code: '<area aria-checked />'}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is now treated as generic
// this will have global | ||
{code: '<area aria-checked />'}, | ||
|
||
// LINK TESTS - implicit role is `link` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<link>
maps to nothing now so I'm deleting these tests.
errors: [getErrorMessage('aria-expanded', 'generic')], | ||
}, | ||
{ | ||
code: '<section aria-label="something" aria-expanded />', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If <section aria-label>
, we treat it as region
.
This comment was marked as outdated.
This comment was marked as outdated.
39d5d98
to
ba52aca
Compare
@@ -37,27 +36,8 @@ module.exports = { | |||
create(context) { | |||
return { | |||
JSXOpeningElement(node) { | |||
// Assemble a key for looking-up the element’s role in the `elementRolesMap` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm extracting this entire section a new helper called getRole
, with tests.
const mocha = require('mocha') | ||
const describe = mocha.describe | ||
const it = mocha.it | ||
const expect = require('chai').expect | ||
|
||
function mockJSXAttribute(prop, propValue) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm extracting this into a helper.
@@ -0,0 +1,93 @@ | |||
const {getProp, getPropValue} = require('jsx-ast-utils') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would appreciate @smockle eyes on this! I extracted the code into this helper, and made updates to fix the bug.
tests/utils/helpers.js
Outdated
@@ -0,0 +1,26 @@ | |||
function mockJSXAttribute(prop, propValue) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is used in multiple tests now, so extracted it into this file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we can call this file mocks
? -- I am more likely to explore mocks
for testing then helpers
for testing
3d343b4
to
9136431
Compare
lib/utils/get-role.js
Outdated
// Clean-up `elementRoles` from `aria-query` | ||
const elementRolesMap = new ObjectMap() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This code is constructing a cleaned up version of elementRoles. Below, we'll be constructing a key and grabbing the value from elementRoles
.
There won't always be a matching |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for this! If you haven't already, it might be nice to verify in a branch that if you rebase this dependabot update on top of this this PR, tests pass.
@jfuchs this PR already includes the same |
9cc41d8
to
2fa5eca
Compare
4d67b61
to
b2ed30e
Compare
lib/utils/get-role.js
Outdated
// - Remove unused `constraints` key | ||
delete key.constraints |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this line still necessary?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oooh nice catch! It looks like removing this constraints can result in incorrect mappings in some scenarios...
For example, elementRoles
includes:
[{"constraints": ["ancestor table element has table role"], "name": "td"}, ["cell"]]
[{"constraints": ["ancestor table element has grid role", "ancestor table element has treegrid role"], "name": "td"}, ["gridcell"]]
If we remove the constraints key, we're left with:
[{"name": "td"}, ["cell"]]
[{"name": "td"}, ["gridcell"]]
Since we cannot always accurately parse out the role of an ancestor in a linter context, I think we'd want to return undefined instead of potentially returning a false positive role.
I will follow-up!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I deleted this line in 8fb6419!
However, there were two scenarios where it seemed appropriate to assume the role despite the constraints defined in aria-query
. I opted to hard-code those with a comment on why! You can see the commit for more information.
I've added additional tests in aaca700#diff-a6b7fa0d4a2be411ccfcc6e6db5466c135100a1a045599f5c211bb91c37b839dR180-R190.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me!
- The basic approach—normalizing an element key, retrieving a role, finding (dis)allowed props for that role—hasn’t changed. 👍
- Incorporating (new)
constraints
fromaria-query
improves disambiguation. (And I agree this covers most cases.) 👍 - The added/updated tests assert roles that look correct. 👍
- Tests are passing against the updated version of
aria-query
(related: chore(deps): bump the all-dependencies group with 7 updates #452). 👍 - Extracting chunks of logic into separate functions/files improves readability/testability. 👍
Nice work @khiga8! The changes that landed in aria-query
were tricky to decipher; I appreciate you tackling the complexity! ✨
I moved the map constructing code into a function with additional code comments in 40c0b2b. |
I will merge this PR and #454 in tomorrow morning (EST)!!! |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/jest) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | [`29.5.2` -> `29.5.3`](https://renovatebot.com/diffs/npm/@types%2fjest/29.5.2/29.5.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fjest/29.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fjest/29.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fjest/29.5.2/29.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fjest/29.5.2/29.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | [`18.16.18` -> `18.17.4`](https://renovatebot.com/diffs/npm/@types%2fnode/18.16.18/18.17.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/18.17.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/18.17.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/18.16.18/18.17.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/18.16.18/18.17.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint) | [`5.60.0` -> `5.62.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/5.60.0/5.62.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2feslint-plugin/5.62.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2feslint-plugin/5.62.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2feslint-plugin/5.60.0/5.62.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2feslint-plugin/5.60.0/5.62.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint) | [`5.60.0` -> `5.62.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/5.60.0/5.62.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/5.62.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fparser/5.62.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fparser/5.60.0/5.62.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/5.60.0/5.62.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [eslint](https://eslint.org) ([source](https://github.com/eslint/eslint)) | [`8.43.0` -> `8.46.0`](https://renovatebot.com/diffs/npm/eslint/8.43.0/8.46.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/eslint/8.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint/8.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint/8.43.0/8.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint/8.43.0/8.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [eslint-plugin-github](https://github.com/github/eslint-plugin-github) | [`4.8.0` -> `4.9.2`](https://renovatebot.com/diffs/npm/eslint-plugin-github/4.8.0/4.9.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-github/4.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint-plugin-github/4.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint-plugin-github/4.8.0/4.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-github/4.8.0/4.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [jest](https://jestjs.io/) ([source](https://github.com/facebook/jest)) | [`29.5.0` -> `29.6.2`](https://renovatebot.com/diffs/npm/jest/29.5.0/29.6.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/jest/29.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/jest/29.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/jest/29.5.0/29.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/jest/29.5.0/29.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [sigstore](https://github.com/sigstore/sigstore-js/tree/main/packages/client#readme) ([source](https://github.com/sigstore/sigstore-js)) | [`1.6.0` -> `1.8.0`](https://renovatebot.com/diffs/npm/sigstore/1.6.0/1.8.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/sigstore/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/sigstore/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/sigstore/1.6.0/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/sigstore/1.6.0/1.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [ts-jest](https://kulshekhar.github.io/ts-jest) ([source](https://github.com/kulshekhar/ts-jest)) | [`29.1.0` -> `29.1.1`](https://renovatebot.com/diffs/npm/ts-jest/29.1.0/29.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/ts-jest/29.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/ts-jest/29.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/ts-jest/29.1.0/29.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ts-jest/29.1.0/29.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [typescript](https://www.typescriptlang.org/) ([source](https://github.com/Microsoft/TypeScript)) | [`5.1.3` -> `5.1.6`](https://renovatebot.com/diffs/npm/typescript/5.1.3/5.1.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typescript/5.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript/5.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript/5.1.3/5.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript/5.1.3/5.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### ⚠ Dependency Lookup Warnings ⚠ Warnings were logged while processing this repo. Please check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/eslint-plugin)</summary> ### [`v5.62.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#5620-2023-07-10) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.61.0...v5.62.0) ##### Bug Fixes - **eslint-plugin:** \[comma-spacing] allow no space after trailing comma in objects and arrays ([#​6938](https://github.com/typescript-eslint/typescript-eslint/issues/6938)) ([24bdacc](https://github.com/typescript-eslint/typescript-eslint/commit/24bdacc7e5df40c92031a1bd7e9815d66a35b31d)) - **eslint-plugin:** \[prefer-includes] escape special characters ([#​7161](https://github.com/typescript-eslint/typescript-eslint/issues/7161)) ([5a347a5](https://github.com/typescript-eslint/typescript-eslint/commit/5a347a5978bc5737412bd12d61eb6058163cf4a0)), closes [#​7145](https://github.com/typescript-eslint/typescript-eslint/issues/7145) - **eslint-plugin:** replace auto-fix of class literal property style rule with suggestion ([#​7054](https://github.com/typescript-eslint/typescript-eslint/issues/7054)) ([a8c824a](https://github.com/typescript-eslint/typescript-eslint/commit/a8c824a1e84453f93cd2b464fc102bc878c1aff3)) ##### Features - **eslint-plugin:** \[prefer-nullish-coalescing] add `ignorePrimitives` option ([#​6487](https://github.com/typescript-eslint/typescript-eslint/issues/6487)) ([6edaa04](https://github.com/typescript-eslint/typescript-eslint/commit/6edaa04565576f0af7e60bc08602bd781c847804)) You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v5.61.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#5610-2023-07-03) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.60.1...v5.61.0) ##### Features - **eslint-plugin:** \[ban-types] ban types in extends and implements ([#​7129](https://github.com/typescript-eslint/typescript-eslint/issues/7129)) ([997783f](https://github.com/typescript-eslint/typescript-eslint/commit/997783ff108ca18af709667ef3fdfa7134a8eefe)) - use graphemer instead of grapheme-splitter ([#​7069](https://github.com/typescript-eslint/typescript-eslint/issues/7069)) ([faea3ff](https://github.com/typescript-eslint/typescript-eslint/commit/faea3ff8b4d750974c41262b44db314f20d0c99c)) You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. #### [5.60.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.60.0...v5.60.1) (2023-06-26) **Note:** Version bump only for package [@​typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/eslint-plugin) You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v5.60.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#5601-2023-06-26) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.60.0...v5.60.1) **Note:** Version bump only for package [@​typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/eslint-plugin) You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/parser)</summary> ### [`v5.62.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#5620-2023-07-10) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.61.0...v5.62.0) **Note:** Version bump only for package [@​typescript-eslint/parser](https://github.com/typescript-eslint/parser) You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v5.61.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#5610-2023-07-03) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.60.1...v5.61.0) **Note:** Version bump only for package [@​typescript-eslint/parser](https://github.com/typescript-eslint/parser) You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. #### [5.60.1](https://github.com/typescript-eslint/typescript-eslint/compare/v5.60.0...v5.60.1) (2023-06-26) **Note:** Version bump only for package [@​typescript-eslint/parser](https://github.com/typescript-eslint/parser) You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v5.60.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#5601-2023-06-26) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v5.60.0...v5.60.1) **Note:** Version bump only for package [@​typescript-eslint/parser](https://github.com/typescript-eslint/parser) You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. </details> <details> <summary>eslint/eslint (eslint)</summary> ### [`v8.46.0`](https://github.com/eslint/eslint/releases/tag/v8.46.0) [Compare Source](https://github.com/eslint/eslint/compare/v8.45.0...v8.46.0) #### Features - [`8a93438`](https://github.com/eslint/eslint/commit/8a9343871f7dade19d910ca8e2a4177bfca28b64) feat: `require-unicode-regexp` support `v` flag ([#​17402](https://github.com/eslint/eslint/issues/17402)) (SUZUKI Sosuke) - [`1a2f966`](https://github.com/eslint/eslint/commit/1a2f966fabe35103141d2f936180d2f1a72154db) feat: `no-useless-escape` support `v` flag ([#​17420](https://github.com/eslint/eslint/issues/17420)) (Yosuke Ota) - [`ee68d1d`](https://github.com/eslint/eslint/commit/ee68d1d9630892d99ae0d8dabe2f9f8d3b1338be) feat: `no-empty-character-class` support `v` flag ([#​17419](https://github.com/eslint/eslint/issues/17419)) (Milos Djermanovic) - [`853d32b`](https://github.com/eslint/eslint/commit/853d32baa8934c08b59a738470b72522e1505f6f) feat: deprecate no-return-await ([#​17417](https://github.com/eslint/eslint/issues/17417)) (Carlos Lopez) - [`d4f02e4`](https://github.com/eslint/eslint/commit/d4f02e4bf1b9ae4e1fc8f2bc4e4851ae3c36a127) feat: `no-control-regex` support `v` flag ([#​17405](https://github.com/eslint/eslint/issues/17405)) (Yosuke Ota) - [`2a35f3e`](https://github.com/eslint/eslint/commit/2a35f3e6ed27deafbebba48b6aec570d3abf9974) feat: `prefer-named-capture-group` support `v` flag ([#​17409](https://github.com/eslint/eslint/issues/17409)) (Yosuke Ota) - [`8ca8b50`](https://github.com/eslint/eslint/commit/8ca8b50b0425b3bad34a9505bc3095168e2f59d8) feat: Better error message for flat config plugins ([#​17399](https://github.com/eslint/eslint/issues/17399)) (Nicholas C. Zakas) - [`509f753`](https://github.com/eslint/eslint/commit/509f75395035822280245772e2a95732a0dde0e1) feat: `no-misleading-character-class` support `v` flag ([#​17406](https://github.com/eslint/eslint/issues/17406)) (Yosuke Ota) - [`3caf514`](https://github.com/eslint/eslint/commit/3caf51487decdf93a4b17765a2af2a51c337e974) feat: `no-regex-spaces` support `v` flag ([#​17407](https://github.com/eslint/eslint/issues/17407)) (Yosuke Ota) - [`b7fad2b`](https://github.com/eslint/eslint/commit/b7fad2b52f23667628cf209663795a721c88d0ba) feat: `prefer-regex-literals` support `v` flag ([#​17410](https://github.com/eslint/eslint/issues/17410)) (Yosuke Ota) - [`a6a3ad4`](https://github.com/eslint/eslint/commit/a6a3ad4ae438ea7fc3a1d97cd2555f6534b565f1) feat: `no-useless-backreference` support `v` flag ([#​17408](https://github.com/eslint/eslint/issues/17408)) (Yosuke Ota) - [`94954a7`](https://github.com/eslint/eslint/commit/94954a715448d5794f2892bf212fe986b43228ed) feat: `no-invalid-regexp` support `v` flag ([#​17404](https://github.com/eslint/eslint/issues/17404)) (Yosuke Ota) - [`1af6eac`](https://github.com/eslint/eslint/commit/1af6eac5727080c809e37c07dc729b44ef24483c) feat: adds option for allowing empty object patterns as parameter ([#​17365](https://github.com/eslint/eslint/issues/17365)) (Tanuj Kanti) - [`cf03104`](https://github.com/eslint/eslint/commit/cf03104b278fea59ef46e09f667110f5eaaf95e3) feat: Improve config error messages ([#​17385](https://github.com/eslint/eslint/issues/17385)) (Nicholas C. Zakas) #### Bug Fixes - [`9803c7c`](https://github.com/eslint/eslint/commit/9803c7c04078f0672d8a480fd39cf3bbef8017e6) fix: FlatESLint#getRulesMetaForResults shouldn't throw on unknown rules ([#​17393](https://github.com/eslint/eslint/issues/17393)) (Milos Djermanovic) - [`42faa17`](https://github.com/eslint/eslint/commit/42faa17b1c93f801b14bea2840d1d528e25c7211) fix: Update no-loop-func to not overlap with no-undef ([#​17358](https://github.com/eslint/eslint/issues/17358)) (Matt Wilkinson) #### Documentation - [`4d474e3`](https://github.com/eslint/eslint/commit/4d474e351ba6ce0242f18e55c27cb3ae17b84f63) docs: update with TypeScript info ([#​17423](https://github.com/eslint/eslint/issues/17423)) (James) - [`091f44e`](https://github.com/eslint/eslint/commit/091f44e4c72007edb2ac6d4db4eafa5501e41e94) docs: File extension named processor deprecation ([#​17362](https://github.com/eslint/eslint/issues/17362)) (Matt Wilkinson) - [`9254a6c`](https://github.com/eslint/eslint/commit/9254a6cea845dfaf2f3f52f718cb9b071853aa09) docs: Update README (GitHub Actions Bot) - [`6d6dc51`](https://github.com/eslint/eslint/commit/6d6dc5141f535728029eef8735854a421bc08eba) docs: fix overlapping of `open in playground` button ([#​17403](https://github.com/eslint/eslint/issues/17403)) (Tanuj Kanti) - [`7fc3a2c`](https://github.com/eslint/eslint/commit/7fc3a2ce68979a2c2a6fc779e647b3004ab6f4ac) docs: Add private class features info to no-underscore-dangle ([#​17386](https://github.com/eslint/eslint/issues/17386)) (Matt Wilkinson) - [`da73e58`](https://github.com/eslint/eslint/commit/da73e583e1703a420551d8fa8f7c70b56dc88dd5) docs: Migrating `eslint-env` configuration comments ([#​17390](https://github.com/eslint/eslint/issues/17390)) (Francesco Trotta) - [`80dffed`](https://github.com/eslint/eslint/commit/80dffed4c81dcc71fb72bc187aff2f87d141a6ed) docs: fix Ignoring Files section in config migration guide ([#​17392](https://github.com/eslint/eslint/issues/17392)) (Milos Djermanovic) - [`8a9abb7`](https://github.com/eslint/eslint/commit/8a9abb7cf424bd49d45c09345dc45ae95f29cc9d) docs: Update README (GitHub Actions Bot) - [`7e9be4b`](https://github.com/eslint/eslint/commit/7e9be4bd7331d0e8e8e0af0b075a2f6d28d1bea3) docs: Update README (GitHub Actions Bot) - [`0b0bbe0`](https://github.com/eslint/eslint/commit/0b0bbe07d4fb0870f3916e975b8ec6978f838077) docs: Update README (GitHub Actions Bot) #### Chores - [`d1eb7e4`](https://github.com/eslint/eslint/commit/d1eb7e46e954c64af8d7d13d087b3a18f43e6d72) chore: Update ecosystem dependencies ([#​17427](https://github.com/eslint/eslint/issues/17427)) (Nicholas C. Zakas) - [`fab9e97`](https://github.com/eslint/eslint/commit/fab9e97ef9dff40e98a5b3b97bdd3b0ff5439d46) chore: package.json update for eslint-config-eslint release (ESLint Jenkins) - [`6246711`](https://github.com/eslint/eslint/commit/6246711e0650d03afe044c36acde048ed2d39ee3) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (ESLint Jenkins) - [`0aa0bc3`](https://github.com/eslint/eslint/commit/0aa0bc365a5425440c8e86c96104d0053a51b602) chore: Add PRs to triage project ([#​17421](https://github.com/eslint/eslint/issues/17421)) (Nicholas C. Zakas) ### [`v8.45.0`](https://github.com/eslint/eslint/releases/tag/v8.45.0) [Compare Source](https://github.com/eslint/eslint/compare/v8.44.0...v8.45.0) ##### Features - [`cdd063c`](https://github.com/eslint/eslint/commit/cdd063c388bbfe1781d7a864a832f03a2c1cc277) feat: Expose LegacyESLint in unsupported API ([#​17341](https://github.com/eslint/eslint/issues/17341)) (Nicholas C. Zakas) - [`d34abe5`](https://github.com/eslint/eslint/commit/d34abe59eb23932dcbc79757d7932d08ee8b20e5) feat: fix indent rule for else-if ([#​17318](https://github.com/eslint/eslint/issues/17318)) (Milos Djermanovic) ##### Bug Fixes - [`b79b6fb`](https://github.com/eslint/eslint/commit/b79b6fb64473969b426d086b484d2e29594a5e9a) fix: Fix suggestion message in `no-useless-escape` ([#​17339](https://github.com/eslint/eslint/issues/17339)) (Francesco Trotta) - [`c667055`](https://github.com/eslint/eslint/commit/c667055fb9da8ebac3a99f6e5a8b5565cc86af8e) fix: provide unique `fix` and `fix.range` objects in lint messages ([#​17332](https://github.com/eslint/eslint/issues/17332)) (Milos Djermanovic) ##### Documentation - [`89f3225`](https://github.com/eslint/eslint/commit/89f3225108c66425e4132f76db6c1ab13aac98d7) docs: add playground links to correct and incorrect code blocks ([#​17306](https://github.com/eslint/eslint/issues/17306)) (Josh Goldberg ✨) - [`f8892b5`](https://github.com/eslint/eslint/commit/f8892b52920b8967f9e7bec23c75b74e03977d6b) docs: Expand rule option schema docs ([#​17198](https://github.com/eslint/eslint/issues/17198)) (Matt Wilkinson) - [`8bcbf11`](https://github.com/eslint/eslint/commit/8bcbf11b6050418262ffa8e0ca37f365ae92e7ce) docs: Config Migration Guide ([#​17230](https://github.com/eslint/eslint/issues/17230)) (Ben Perlmutter) - [`bb30908`](https://github.com/eslint/eslint/commit/bb3090897166dbfd2931a43a70e2a5c1f3fa0a07) docs: Update README (GitHub Actions Bot) - [`84d243b`](https://github.com/eslint/eslint/commit/84d243b245b01b667f0752b592e8bda02a9aa2b1) docs: Update README (GitHub Actions Bot) - [`b762632`](https://github.com/eslint/eslint/commit/b762632298f20c4f81e7d01ab850c3f5e3874637) docs: Update README (GitHub Actions Bot) - [`138c096`](https://github.com/eslint/eslint/commit/138c096bc9468b553dbafc0e573c6522a17a7922) docs: add more prefer-destructuring examples with array destructuring ([#​17330](https://github.com/eslint/eslint/issues/17330)) (Milos Djermanovic) - [`1fc50a8`](https://github.com/eslint/eslint/commit/1fc50a89753346f4f4c786ffd20ac4cf185bb036) docs: `max-len` rule `code` and `tabWidth` as positional arguments ([#​17331](https://github.com/eslint/eslint/issues/17331)) (Jesús Leganés-Combarro) ##### Chores - [`68f63d7`](https://github.com/eslint/eslint/commit/68f63d76ce785fab4f42b76f1599026eea379bf7) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (ESLint Jenkins) - [`5ca9b4d`](https://github.com/eslint/eslint/commit/5ca9b4d29f747e9cf5c9055e85c93b3b605d57fc) chore: update eslint-config-eslint exports ([#​17336](https://github.com/eslint/eslint/issues/17336)) (Milos Djermanovic) - [`7bf2e86`](https://github.com/eslint/eslint/commit/7bf2e86022c9e95db4ca1472fddfa2ea4edd1870) chore: remove unused dependencies ([#​17352](https://github.com/eslint/eslint/issues/17352)) (Percy Ma) - [`c6f8cd0`](https://github.com/eslint/eslint/commit/c6f8cd0d62e4a3c314c6860ff367490bbd05325a) chore: Remove `defaultIgnores` from FlatESLint private members ([#​17349](https://github.com/eslint/eslint/issues/17349)) (Francesco Trotta) - [`0052374`](https://github.com/eslint/eslint/commit/0052374035672efe9129343fc00ee51a4c288ff3) chore: move jsdoc settings to eslint-config-eslint ([#​17338](https://github.com/eslint/eslint/issues/17338)) (唯然) ### [`v8.44.0`](https://github.com/eslint/eslint/releases/tag/v8.44.0) [Compare Source](https://github.com/eslint/eslint/compare/v8.43.0...v8.44.0) #### Features - [`1766771`](https://github.com/eslint/eslint/commit/176677180a4a1209fc192771521c9192e1f67578) feat: add `es2023` and `es2024` environments ([#​17328](https://github.com/eslint/eslint/issues/17328)) (Milos Djermanovic) - [`4c50400`](https://github.com/eslint/eslint/commit/4c5040022639ae804c15b366afc6e64982bd8ae3) feat: add `ecmaVersion: 2024`, regexp `v` flag parsing ([#​17324](https://github.com/eslint/eslint/issues/17324)) (Milos Djermanovic) - [`4d411e4`](https://github.com/eslint/eslint/commit/4d411e4c7063274d6d346f1b7ee46f7575d0bbd2) feat: add ternaryOperandBinaryExpressions option to no-extra-parens rule ([#​17270](https://github.com/eslint/eslint/issues/17270)) (Percy Ma) - [`c8b1f4d`](https://github.com/eslint/eslint/commit/c8b1f4d61a256727755d561bf53f889b6cd712e0) feat: Move `parserServices` to `SourceCode` ([#​17311](https://github.com/eslint/eslint/issues/17311)) (Milos Djermanovic) - [`ef6e24e`](https://github.com/eslint/eslint/commit/ef6e24e42670f321d996948623846d9caaedac99) feat: treat unknown nodes as having the lowest precedence ([#​17302](https://github.com/eslint/eslint/issues/17302)) (Brad Zacher) - [`1866e1d`](https://github.com/eslint/eslint/commit/1866e1df6175e4ba0ae4a0d88dc3c956bb310035) feat: allow flat config files to export a Promise ([#​17301](https://github.com/eslint/eslint/issues/17301)) (Milos Djermanovic) #### Bug Fixes - [`a36bcb6`](https://github.com/eslint/eslint/commit/a36bcb67f26be42c794797d0cc9948b9cfd4ff71) fix: no-unused-vars false positive with logical assignment operators ([#​17320](https://github.com/eslint/eslint/issues/17320)) (Gweesin Chan) - [`7620b89`](https://github.com/eslint/eslint/commit/7620b891e81c234f30f9dbcceb64a05fd0dde65e) fix: Remove `no-unused-labels` autofix before potential directives ([#​17314](https://github.com/eslint/eslint/issues/17314)) (Francesco Trotta) - [`391ed38`](https://github.com/eslint/eslint/commit/391ed38b09bd1a3abe85db65b8fcda980ab3d6f4) fix: Remove `no-extra-semi` autofix before potential directives ([#​17297](https://github.com/eslint/eslint/issues/17297)) (Francesco Trotta) #### Documentation - [`526e911`](https://github.com/eslint/eslint/commit/526e91106e6fe101578e9478a9d7f4844d4f72ac) docs: resubmit pr 17115 doc changes ([#​17291](https://github.com/eslint/eslint/issues/17291)) (唯然) - [`e1314bf`](https://github.com/eslint/eslint/commit/e1314bf85a52bb0d05b1c9ca3b4c1732bae22172) docs: Integration section and tutorial ([#​17132](https://github.com/eslint/eslint/issues/17132)) (Ben Perlmutter) - [`19a8c5d`](https://github.com/eslint/eslint/commit/19a8c5d84596a9f7f2aa428c1696ba86daf854e6) docs: Update README (GitHub Actions Bot) #### Chores - [`49e46ed`](https://github.com/eslint/eslint/commit/49e46edf3c8dc71d691a97fc33b63ed80ae0db0c) chore: upgrade [@​eslint/js](https://github.com/eslint/js)[@​8](https://github.com/8).44.0 ([#​17329](https://github.com/eslint/eslint/issues/17329)) (Milos Djermanovic) - [`a1cb642`](https://github.com/eslint/eslint/commit/a1cb6421f9d185901cd99e5f696e912226ef6632) chore: package.json update for [@​eslint/js](https://github.com/eslint/js) release (ESLint Jenkins) - [`840a264`](https://github.com/eslint/eslint/commit/840a26462bbf6c27c52c01b85ee2018062157951) test: More test cases for no-case-declarations ([#​17315](https://github.com/eslint/eslint/issues/17315)) (Elian Cordoba) - [`e6e74f9`](https://github.com/eslint/eslint/commit/e6e74f9eef0448129dd4775628aba554a2d8c8c9) chore: package.json update for eslint-config-eslint release (ESLint Jenkins) - [`eb3d794`](https://github.com/eslint/eslint/commit/eb3d7946e1e9f70254008744dba2397aaa730114) chore: upgrade semver@7.5.3 ([#​17323](https://github.com/eslint/eslint/issues/17323)) (Ziyad El Abid) - [`cf88439`](https://github.com/eslint/eslint/commit/cf884390ad8071d88eae05df9321100f1770363d) chore: upgrade optionator@0.9.3 ([#​17319](https://github.com/eslint/eslint/issues/17319)) (Milos Djermanovic) - [`9718a97`](https://github.com/eslint/eslint/commit/9718a9781d69d2c40b68c631aed97700b32c0082) refactor: remove unnecessary code in `flat-eslint.js` ([#​17308](https://github.com/eslint/eslint/issues/17308)) (Milos Djermanovic) - [`f82e56e`](https://github.com/eslint/eslint/commit/f82e56e9acfb9562ece76441472d5657d7d5e296) perf: various performance improvements ([#​17135](https://github.com/eslint/eslint/issues/17135)) (moonlightaria) - [`da81e66`](https://github.com/eslint/eslint/commit/da81e66e22b4f3d3fe292cf70c388753304deaad) chore: update eslint-plugin-jsdoc to 46.2.5 ([#​17245](https://github.com/eslint/eslint/issues/17245)) (唯然) - [`b991640`](https://github.com/eslint/eslint/commit/b991640176d5dce4750f7cc71c56cd6f284c882f) chore: switch eslint-config-eslint to the flat format ([#​17247](https://github.com/eslint/eslint/issues/17247)) (唯然) </details> <details> <summary>github/eslint-plugin-github (eslint-plugin-github)</summary> ### [`v4.9.2`](https://github.com/github/eslint-plugin-github/releases/tag/v4.9.2) [Compare Source](https://github.com/github/eslint-plugin-github/compare/v4.9.1...v4.9.2) #### What's Changed - Use `getLiteralPropValue` for sr-only class by [@​khiga8](https://github.com/khiga8) in [github/eslint-plugin-github#466 **Full Changelog**: github/eslint-plugin-github@v4.9.1...v4.9.2 ### [`v4.9.1`](https://github.com/github/eslint-plugin-github/releases/tag/v4.9.1) [Compare Source](https://github.com/github/eslint-plugin-github/compare/v4.9.0...v4.9.1) #### Bug fixes This release includes bug fixes for a few accessibility rules including: `a11y-aria-role-supports-props`, `a11y-no-title-attribute`, and `jsx-a11y/no-interactive-element-to-noninteractive-role`. #### What's Changed - Ignore calls to a method named innerText by [@​camchenry](https://github.com/camchenry) in [github/eslint-plugin-github#455 - bump `prettier` and `eslint-plugin-prettier` to latest versions by [@​shiftkey](https://github.com/shiftkey) in [github/eslint-plugin-github#457 - chore(deps): bump the all-dependencies group with 5 updates by [@​dependabot](https://github.com/dependabot) in [github/eslint-plugin-github#458 - Set config override for false positive rule by [@​khiga8](https://github.com/khiga8) in [github/eslint-plugin-github#460 - Re-introduce accidentally removed testing commands by [@​khiga8](https://github.com/khiga8) in [github/eslint-plugin-github#459 - Fix bugs with `getRole` and `getElementType` by [@​khiga8](https://github.com/khiga8) in [github/eslint-plugin-github#461 - \[Fix] Only look at semantic elements for `a11y-no-title-attribute` by [@​kendallgassner](https://github.com/kendallgassner) in [github/eslint-plugin-github#464 - Check for presence of attribute in `getRole` rather than the value by [@​khiga8](https://github.com/khiga8) in [github/eslint-plugin-github#463 #### New Contributors - [@​camchenry](https://github.com/camchenry) made their first contribution in [github/eslint-plugin-github#455 - [@​shiftkey](https://github.com/shiftkey) made their first contribution in [github/eslint-plugin-github#457 **Full Changelog**: github/eslint-plugin-github@v4.9.0...v4.9.1 ### [`v4.9.0`](https://github.com/github/eslint-plugin-github/releases/tag/v4.9.0) [Compare Source](https://github.com/github/eslint-plugin-github/compare/v4.8.0...v4.9.0) #### What's Changed - create rule: github/a11y-no-visually-hidden-interactive-element by [@​kendallgassner](https://github.com/kendallgassner) in [github/eslint-plugin-github#446 - Add polymorphic component check in `getElementType` by [@​kendallgassner](https://github.com/kendallgassner) in [github/eslint-plugin-github#449 - Adds `svg-has-accessible-name` rule by [@​lindseywild](https://github.com/lindseywild) in [github/eslint-plugin-github#450 - chore(deps): bump semver from 5.7.1 to 5.7.2 by [@​dependabot](https://github.com/dependabot) in [github/eslint-plugin-github#451 - Create rule: a11y-no-title-attribute by [@​kendallgassner](https://github.com/kendallgassner) in [github/eslint-plugin-github#453 - Bump aria-query and update to fix tests by [@​khiga8](https://github.com/khiga8) in [github/eslint-plugin-github#448 - Rename `role-supports-aria-props` to `a11y-` by [@​khiga8](https://github.com/khiga8) in [github/eslint-plugin-github#454 #### New Contributors - [@​kendallgassner](https://github.com/kendallgassner) made their first contribution in [github/eslint-plugin-github#446 - [@​lindseywild](https://github.com/lindseywild) made their first contribution in [github/eslint-plugin-github#450 **Full Changelog**: github/eslint-plugin-github@v4.8.0...v4.9.0 </details> <details> <summary>facebook/jest (jest)</summary> ### [`v29.6.2`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#2962) [Compare Source](https://github.com/facebook/jest/compare/v29.6.1...v29.6.2) ##### Fixes - `[jest-circus]` Fix snapshot matchers in concurrent tests when nr of tests exceeds `maxConcurrency` ([#​14335](https://github.com/jestjs/jest/pull/14335)) - `[@jest/core]` When running global setup and teardown, do not try to change the `message` property of the thrown error object when the `message` property is unwritable ([#​14113](https://github.com/jestjs/jest/pull/14113)) - `[jest-snapshot]` Move `@types/prettier` from `dependencies` to `devDependencies` ([#​14328](https://github.com/jestjs/jest/pull/14328)) - `[jest-snapshot]` Throw an explicit error if Prettier v3 is used ([#​14367](https://github.com/jestjs/jest/pull/14367)) - `[jest-reporters]` Add "skipped" and "todo" symbols to Github Actions Reporter ([#​14309](https://github.com/jestjs/jest/pull/14309)) ##### Chore & Maintenance - `[@jest/core]` Use `pluralize` from `jest-util` rather than own internal ([#​14322](https://github.com/jestjs/jest/pull/14322)) ### [`v29.6.1`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#2961) [Compare Source](https://github.com/facebook/jest/compare/v29.6.0...v29.6.1) ##### Fixes - `[jest-circus]` Revert [#​14110](https://github.com/jestjs/jest/pull/14110) as it was a breaking change ([#​14304](https://github.com/jestjs/jest/pull/14304)) ### [`v29.6.0`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#2960) [Compare Source](https://github.com/facebook/jest/compare/v29.5.0...v29.6.0) ##### Features - `[jest-circus, jest-snapshot]` Add support for snapshot matchers in concurrent tests ([#​14139](https://github.com/jestjs/jest/pull/14139)) - `[jest-cli]` Include type definitions to generated config files ([#​14078](https://github.com/facebook/jest/pull/14078)) - `[jest-snapshot]` Support arrays as property matchers ([#​14025](https://github.com/facebook/jest/pull/14025)) - `[jest-core, jest-circus, jest-reporter, jest-runner]` Added support for reporting about start individual test cases using jest-circus ([#​14174](https://github.com/jestjs/jest/pull/14174)) ##### Fixes - `[jest-circus]` Prevent false test failures caused by promise rejections handled asynchronously ([#​14110](https://github.com/jestjs/jest/pull/14110)) - `[jest-config]` Handle frozen config object ([#​14054](https://github.com/facebook/jest/pull/14054)) - `[jest-config]` Allow `coverageDirectory` and `collectCoverageFrom` in project config ([#​14180](https://github.com/jestjs/jest/pull/14180)) - `[jest-core]` Always use workers in watch mode to avoid crashes ([#​14059](https://github.com/facebook/jest/pull/14059)). - `[jest-environment-jsdom, jest-environment-node]` Fix assignment of `customExportConditions` via `testEnvironmentOptions` when custom env subclass defines a default value ([#​13989](https://github.com/facebook/jest/pull/13989)) - `[jest-matcher-utils]` Fix copying value of inherited getters ([#​14007](https://github.com/facebook/jest/pull/14007)) - `[jest-mock]` Tweak typings to allow `jest.replaceProperty()` replace methods ([#​14008](https://github.com/facebook/jest/pull/14008)) - `[jest-mock]` Improve user input validation and error messages of `spyOn` and `replaceProperty` methods ([#​14087](https://github.com/facebook/jest/pull/14087)) - `[jest-runtime]` Bind `jest.isolateModulesAsync` to `this` ([#​14083](https://github.com/facebook/jest/pull/14083)) - `[jest-runtime]` Forward `wrapperLength` to the `Script` constructor as `columnOffset` for accurate debugging ([#​14148](https://github.com/facebook/jest/pull/14148)) - `[jest-runtime]` Guard `_isMockFunction` access with `in` ([#​14188](https://github.com/facebook/jest/pull/14188)) - `[jest-snapshot]` Fix a potential bug when not using prettier and improve performance ([#​14036](https://github.com/facebook/jest/pull/14036)) - `[@jest/transform]` Do not instrument `.json` modules ([#​14048](https://github.com/facebook/jest/pull/14048)) - `[jest-worker]` Restart a shut down worker before sending it a task ([#​14015](https://github.com/facebook/jest/pull/14015)) ##### Chore & Maintenance - `[*]` Update `semver` dependency to get vulnerability fix ([#​14262](https://github.com/jestjs/jest/pull/14262)) - `[docs]` Updated documentation for the `--runTestsByPath` CLI command ([#​14004](https://github.com/facebook/jest/pull/14004)) - `[docs]` Updated documentation regarding the synchronous fallback when asynchronous code transforms are unavailable ([#​14056](https://github.com/facebook/jest/pull/14056)) - `[docs]` Update jest statistics of use and downloads in website Index. </details> <details> <summary>sigstore/sigstore-js (sigstore)</summary> ### [`v1.8.0`](https://github.com/sigstore/sigstore-js/releases/tag/sigstore%401.8.0) [Compare Source](https://github.com/sigstore/sigstore-js/compare/sigstore@1.7.0...sigstore@1.8.0) ##### Minor Changes - [`f1b8bad`](https://github.com/sigstore/sigstore-js/commit/f1b8bad): Support for verifying v0.2 Sigstore bundles that contain inclusion proofs from Rekor - [`d9b1540`](https://github.com/sigstore/sigstore-js/commit/d9b1540): Integrate [@​sigstore/bundle](https://github.com/sigstore/bundle) package ##### Patch Changes - [`e0c16ec`](https://github.com/sigstore/sigstore-js/commit/e0c16ec): Bump [@​sigstore/protobuf-specs](https://github.com/sigstore/protobuf-specs) from 0.1.0 to 0.2.0 - [`6abe9ec`](https://github.com/sigstore/sigstore-js/commit/6abe9ec): Fix bug when setting `tlogThreshold`/`ctLogThreshold` verification options to 0 - Updated dependencies \[[`e0c16ec`](https://github.com/sigstore/sigstore-js/commit/e0c16ec)] - Updated dependencies \[[`f1b8bad`](https://github.com/sigstore/sigstore-js/commit/f1b8bad)] - Updated dependencies \[[`a388e25`](https://github.com/sigstore/sigstore-js/commit/a388e25)] - Updated dependencies \[[`e0c16ec`](https://github.com/sigstore/sigstore-js/commit/e0c16ec)] - Updated dependencies \[[`2a5f500`](https://github.com/sigstore/sigstore-js/commit/2a5f500)] - Updated dependencies \[[`2a869ba`](https://github.com/sigstore/sigstore-js/commit/2a869ba)] - [@​sigstore/bundle](https://github.com/sigstore/bundle)[@​1](https://github.com/1).0.0 - [@​sigstore/tuf](https://github.com/sigstore/tuf)[@​1](https://github.com/1).0.3 ### [`v1.7.0`](https://github.com/sigstore/sigstore-js/releases/tag/sigstore%401.7.0) [Compare Source](https://github.com/sigstore/sigstore-js/compare/sigstore@1.6.0...sigstore@1.7.0) ##### Minor Changes - [`f374dd3`](https://github.com/sigstore/sigstore-js/commit/f374dd3): Include transparency log inclusion proof in Sigstore bundle - [`fbfb315`](https://github.com/sigstore/sigstore-js/commit/fbfb315): Exports new `createVerifier` function ##### Patch Changes - [`bd1e1e1`](https://github.com/sigstore/sigstore-js/commit/bd1e1e1): Internal refactoring of Typescript types - Updated dependencies \[[`b97be71`](https://github.com/sigstore/sigstore-js/commit/b97be71)] - [@​sigstore/tuf](https://github.com/sigstore/tuf)[@​1](https://github.com/1).0.1 </details> <details> <summary>kulshekhar/ts-jest (ts-jest)</summary> ### [`v29.1.1`](https://github.com/kulshekhar/ts-jest/blob/HEAD/CHANGELOG.md#2911-2023-06-23) [Compare Source](https://github.com/kulshekhar/ts-jest/compare/v29.1.0...v29.1.1) ##### Security Fixes - bump `semver` to `7.5.3` </details> <details> <summary>Microsoft/TypeScript (typescript)</summary> ### [`v5.1.6`](https://github.com/microsoft/TypeScript/releases/tag/v5.1.6): TypeScript 5.1.6 [Compare Source](https://github.com/Microsoft/TypeScript/compare/v5.1.5...v5.1.6) For release notes, check out the [release announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-1/). For the complete list of fixed issues, check out the - [fixed issues query for Typescript v5.1.0 (Beta)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.1.0%22+is%3Aclosed+). - [fixed issues query for Typescript v5.1.1 (RC)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.1.1%22+is%3Aclosed+). - [fixed issues query for Typescript v5.1.2 (Stable)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.1.2%22+is%3Aclosed+). - [fixed issues query for Typescript v5.1.3 (Stable)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.1.3%22+is%3Aclosed+). - (5.1.4 [intentionally skipped](https://github.com/microsoft/TypeScript/issues/53031#issuecomment-1610038922)) - [fixed issues query for Typescript v5.1.5 (Stable)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.1.5%22+is%3Aclosed+). - [fixed issues query for Typescript v5.1.6 (Stable)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.1.6%22+is%3Aclosed+). Downloads are available on [npm](https://www.npmjs.com/package/typescript) ### [`v5.1.5`](https://github.com/microsoft/TypeScript/releases/tag/v5.1.5): TypeScript 5.1.5 [Compare Source](https://github.com/Microsoft/TypeScript/compare/v5.1.3...v5.1.5) For release notes, check out the [release announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-1/). For the complete list of fixed issues, check out the - [fixed issues query for Typescript v5.1.0 (Beta)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.1.0%22+is%3Aclosed+). - [fixed issues query for Typescript v5.1.1 (RC)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.1.1%22+is%3Aclosed+). - [fixed issues query for Typescript v5.1.2 (Stable)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.1.2%22+is%3Aclosed+). - [fixed issues query for Typescript v5.1.3 (Stable)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.1.3%22+is%3Aclosed+). - (5.1.4 [intentionally skipped](https://github.com/microsoft/TypeScript/issues/53031#issuecomment-1610038922)) - [fixed issues query for Typescript v5.1.5 (Stable)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.1.5%22+is%3Aclosed+). Downloads are available on: - [npm](https://www.npmjs.com/package/typescript) - [NuGet package](https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "every weekend" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/slsa-framework/slsa-github-generator). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4yNy4xIiwidXBkYXRlZEluVmVyIjoiMzYuMjcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> --------- Signed-off-by: Mend Renovate <bot@renovateapp.com> Signed-off-by: Ian Lewis <ianlewis@google.com> Co-authored-by: Ian Lewis <ianlewis@google.com>
Follow-up to #447 (comment)
Fixes: https://github.com/github/accessibility/issues/3966
Related slack thread
We see breaking tests for our
role-supports-aria-props
rule with the latestaria-query
bump. This is because the latestaria-query
bump includes update to the element to role mapping.It took me a bit to fully understand the logic in our
role-supports-aria-props
rule. In short, we're:key
.key
, we check if there's a match in the object map we constructed.It looks like our current code does not account for the various new constraints introduced in the latest
aria-query
. This results in incorrect roles being returned, and the tests for our rule breaking. In addition, some of the key to role mappings have changed.I recommend reviewing by commit.
The changes in this PR include:
constraints
because it will influence the mapping output.aria-expanded
from the disambiguating attributes onsummary
. This has been removed in these lines of code.aria-label
andaria-labelledby
(restricted tosection
,aside
)name
restricted toform
alt
restricted toimg
aria-query
.getRole
helper and add tests.In a follow-up PR, I will rename this rule to
a11y-role-supports-aria-props
to ensure it's tracked by the scorecard.Other thoughts
Interestingly, the
jsx-a11y
library hard-codedly defines the logic for a lot of tags in implicitRoles. The downside of that approach is that it gets out of date, and isn't utilize the mapping inaria-query
which gets more frequently updated.The downside of the approach we're taking by constructing a key/map and using the mapping as the source of truth, is that the key we're constructing might stop returning a match depending on updates to
aria-query
. For example, more recent aria-query updates introduced a bunch of constraints which previously weren't there. I tried to protect against brittleness by adding more tests forgetRole
which I've extracted. I think we can revisit this later.