Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Bump aria-query and update to fix tests #448

Merged
merged 19 commits into from Jul 13, 2023
Merged

Bump aria-query and update to fix tests #448

merged 19 commits into from Jul 13, 2023

Conversation

khiga8
Copy link
Contributor

@khiga8 khiga8 commented Jul 10, 2023

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 latest aria-query bump. This is because the latest aria-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:

  1. Creating a new object map based off the map returned by elementRoleMap-test. We remove some constraints from the key which isn't useful to us.
  2. We take the node we are given, and construct a new key.
  3. With this key, we check if there's a match in the object map we constructed.
  4. If there isn't a match, the role is undefined, and we just skip the node in the rule.
  5. If there is a match, we check if there are any prohibited attributes being used.

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:

  • Don't delete the attributes constraints because it will influence the mapping output.
  • Remove aria-expanded from the disambiguating attributes on summary. This has been removed in these lines of code.
  • Update the disambiguating attributes to include aria-label and aria-labelledby (restricted to section, aside)
  • Update the disambiguating attributes to include name restricted to form
  • Update the disambiguating attributes to include alt restricted to img
  • Update tests based on changes in aria-query.
  • Extract logic into a 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 in aria-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 for getRole which I've extracted. I think we can revisit this later.

- 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.
Add additional dis-ambiguating attributes.

When `aria-label` or `aria-labelledby` is set at all, constraints should be set.
'multiple',
'scope',
'name',
]) {
Copy link
Contributor Author

@khiga8 khiga8 Jul 10, 2023

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.

@khiga8 khiga8 marked this pull request as ready for review July 10, 2023 21:01
@khiga8 khiga8 requested a review from a team as a code owner July 10, 2023 21:01
@khiga8 khiga8 requested review from theinterned, smockle and a team July 10, 2023 21:01
@accessibility-bot
Copy link

👋 Hello and thanks for pinging us! You've entered our first responder queue. An accessibility first responder will review this soon.

  • 💻 On PRs for our review: please provide a review environment with steps to validate, screenshots (with alt text), or videos demonstrating functionality we should be checking. This will help speed up our review and feedback cycle.
  • ⚠️ If this is urgent, please visit us in #accessibility on Slack and tag the first responder(s) listed in the channel topic.

Comment on lines -60 to -61
// this will have global
{code: '<a aria-checked />'},
Copy link
Contributor Author

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 />'},
Copy link
Contributor Author

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`
Copy link
Contributor Author

@khiga8 khiga8 Jul 10, 2023

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 />',
Copy link
Contributor Author

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.

@khiga8 khiga8 marked this pull request as draft July 10, 2023 21:07
@khiga8

This comment was marked as outdated.

@@ -37,27 +36,8 @@ module.exports = {
create(context) {
return {
JSXOpeningElement(node) {
// Assemble a key for looking-up the element’s role in the `elementRolesMap`
Copy link
Contributor Author

@khiga8 khiga8 Jul 11, 2023

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) {
Copy link
Contributor Author

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.

@khiga8 khiga8 marked this pull request as ready for review July 11, 2023 15:56
@@ -0,0 +1,93 @@
const {getProp, getPropValue} = require('jsx-ast-utils')
Copy link
Contributor Author

@khiga8 khiga8 Jul 11, 2023

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.

@@ -0,0 +1,26 @@
function mockJSXAttribute(prop, propValue) {
Copy link
Contributor Author

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.

Copy link
Contributor

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

Comment on lines 6 to 7
// Clean-up `elementRoles` from `aria-query`
const elementRolesMap = new ObjectMap()
Copy link
Contributor Author

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.

@khiga8
Copy link
Contributor Author

khiga8 commented Jul 11, 2023

There won't always be a matching role returned but I think that's fine, as long as we cover the majority of cases.

Copy link
Contributor

@jfuchs jfuchs left a 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.

@khiga8
Copy link
Contributor Author

khiga8 commented Jul 11, 2023

@jfuchs this PR already includes the same aria-query bump as in the dependabot PR, so I think we should be good!!

@theinterned theinterned removed their request for review July 12, 2023 14:43
Comment on lines 9 to 10
// - Remove unused `constraints` key
delete key.constraints
Copy link
Contributor

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?

Copy link
Contributor Author

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!

Copy link
Contributor Author

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.

Copy link
Contributor

@smockle smockle left a 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 from aria-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! ✨

@khiga8
Copy link
Contributor Author

khiga8 commented Jul 12, 2023

I moved the map constructing code into a function with additional code comments in 40c0b2b.

@khiga8
Copy link
Contributor Author

khiga8 commented Jul 12, 2023

I will merge this PR and #454 in tomorrow morning (EST)!!!

@khiga8 khiga8 merged commit 8d691db into main Jul 13, 2023
6 checks passed
@khiga8 khiga8 deleted the kh-bump-aria-query branch July 13, 2023 13:10
ianlewis added a commit to slsa-framework/slsa-github-generator that referenced this pull request Aug 9, 2023
[![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://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/jest)
([source](https://togithub.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://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://togithub.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://togithub.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://togithub.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://togithub.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://togithub.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://togithub.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://togithub.com/sigstore/sigstore-js/tree/main/packages/client#readme)
([source](https://togithub.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://togithub.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://togithub.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
(@&#8203;typescript-eslint/eslint-plugin)</summary>

###
[`v5.62.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#5620-2023-07-10)

[Compare
Source](https://togithub.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
([#&#8203;6938](https://togithub.com/typescript-eslint/typescript-eslint/issues/6938))
([24bdacc](https://togithub.com/typescript-eslint/typescript-eslint/commit/24bdacc7e5df40c92031a1bd7e9815d66a35b31d))
- **eslint-plugin:** \[prefer-includes] escape special characters
([#&#8203;7161](https://togithub.com/typescript-eslint/typescript-eslint/issues/7161))
([5a347a5](https://togithub.com/typescript-eslint/typescript-eslint/commit/5a347a5978bc5737412bd12d61eb6058163cf4a0)),
closes
[#&#8203;7145](https://togithub.com/typescript-eslint/typescript-eslint/issues/7145)
- **eslint-plugin:** replace auto-fix of class literal property style
rule with suggestion
([#&#8203;7054](https://togithub.com/typescript-eslint/typescript-eslint/issues/7054))
([a8c824a](https://togithub.com/typescript-eslint/typescript-eslint/commit/a8c824a1e84453f93cd2b464fc102bc878c1aff3))

##### Features

- **eslint-plugin:** \[prefer-nullish-coalescing] add `ignorePrimitives`
option
([#&#8203;6487](https://togithub.com/typescript-eslint/typescript-eslint/issues/6487))
([6edaa04](https://togithub.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://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#5610-2023-07-03)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.60.1...v5.61.0)

##### Features

- **eslint-plugin:** \[ban-types] ban types in extends and implements
([#&#8203;7129](https://togithub.com/typescript-eslint/typescript-eslint/issues/7129))
([997783f](https://togithub.com/typescript-eslint/typescript-eslint/commit/997783ff108ca18af709667ef3fdfa7134a8eefe))
- use graphemer instead of grapheme-splitter
([#&#8203;7069](https://togithub.com/typescript-eslint/typescript-eslint/issues/7069))
([faea3ff](https://togithub.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://togithub.com/typescript-eslint/typescript-eslint/compare/v5.60.0...v5.60.1)
(2023-06-26)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.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://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#5601-2023-06-26)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.60.0...v5.60.1)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.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
(@&#8203;typescript-eslint/parser)</summary>

###
[`v5.62.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#5620-2023-07-10)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.61.0...v5.62.0)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/parser](https://togithub.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://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#5610-2023-07-03)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.60.1...v5.61.0)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/parser](https://togithub.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://togithub.com/typescript-eslint/typescript-eslint/compare/v5.60.0...v5.60.1)
(2023-06-26)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/parser](https://togithub.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://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#5601-2023-06-26)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v5.60.0...v5.60.1)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/parser](https://togithub.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://togithub.com/eslint/eslint/releases/tag/v8.46.0)

[Compare
Source](https://togithub.com/eslint/eslint/compare/v8.45.0...v8.46.0)

#### Features

-
[`8a93438`](https://togithub.com/eslint/eslint/commit/8a9343871f7dade19d910ca8e2a4177bfca28b64)
feat: `require-unicode-regexp` support `v` flag
([#&#8203;17402](https://togithub.com/eslint/eslint/issues/17402))
(SUZUKI Sosuke)
-
[`1a2f966`](https://togithub.com/eslint/eslint/commit/1a2f966fabe35103141d2f936180d2f1a72154db)
feat: `no-useless-escape` support `v` flag
([#&#8203;17420](https://togithub.com/eslint/eslint/issues/17420))
(Yosuke Ota)
-
[`ee68d1d`](https://togithub.com/eslint/eslint/commit/ee68d1d9630892d99ae0d8dabe2f9f8d3b1338be)
feat: `no-empty-character-class` support `v` flag
([#&#8203;17419](https://togithub.com/eslint/eslint/issues/17419))
(Milos Djermanovic)
-
[`853d32b`](https://togithub.com/eslint/eslint/commit/853d32baa8934c08b59a738470b72522e1505f6f)
feat: deprecate no-return-await
([#&#8203;17417](https://togithub.com/eslint/eslint/issues/17417))
(Carlos Lopez)
-
[`d4f02e4`](https://togithub.com/eslint/eslint/commit/d4f02e4bf1b9ae4e1fc8f2bc4e4851ae3c36a127)
feat: `no-control-regex` support `v` flag
([#&#8203;17405](https://togithub.com/eslint/eslint/issues/17405))
(Yosuke Ota)
-
[`2a35f3e`](https://togithub.com/eslint/eslint/commit/2a35f3e6ed27deafbebba48b6aec570d3abf9974)
feat: `prefer-named-capture-group` support `v` flag
([#&#8203;17409](https://togithub.com/eslint/eslint/issues/17409))
(Yosuke Ota)
-
[`8ca8b50`](https://togithub.com/eslint/eslint/commit/8ca8b50b0425b3bad34a9505bc3095168e2f59d8)
feat: Better error message for flat config plugins
([#&#8203;17399](https://togithub.com/eslint/eslint/issues/17399))
(Nicholas C. Zakas)
-
[`509f753`](https://togithub.com/eslint/eslint/commit/509f75395035822280245772e2a95732a0dde0e1)
feat: `no-misleading-character-class` support `v` flag
([#&#8203;17406](https://togithub.com/eslint/eslint/issues/17406))
(Yosuke Ota)
-
[`3caf514`](https://togithub.com/eslint/eslint/commit/3caf51487decdf93a4b17765a2af2a51c337e974)
feat: `no-regex-spaces` support `v` flag
([#&#8203;17407](https://togithub.com/eslint/eslint/issues/17407))
(Yosuke Ota)
-
[`b7fad2b`](https://togithub.com/eslint/eslint/commit/b7fad2b52f23667628cf209663795a721c88d0ba)
feat: `prefer-regex-literals` support `v` flag
([#&#8203;17410](https://togithub.com/eslint/eslint/issues/17410))
(Yosuke Ota)
-
[`a6a3ad4`](https://togithub.com/eslint/eslint/commit/a6a3ad4ae438ea7fc3a1d97cd2555f6534b565f1)
feat: `no-useless-backreference` support `v` flag
([#&#8203;17408](https://togithub.com/eslint/eslint/issues/17408))
(Yosuke Ota)
-
[`94954a7`](https://togithub.com/eslint/eslint/commit/94954a715448d5794f2892bf212fe986b43228ed)
feat: `no-invalid-regexp` support `v` flag
([#&#8203;17404](https://togithub.com/eslint/eslint/issues/17404))
(Yosuke Ota)
-
[`1af6eac`](https://togithub.com/eslint/eslint/commit/1af6eac5727080c809e37c07dc729b44ef24483c)
feat: adds option for allowing empty object patterns as parameter
([#&#8203;17365](https://togithub.com/eslint/eslint/issues/17365))
(Tanuj Kanti)
-
[`cf03104`](https://togithub.com/eslint/eslint/commit/cf03104b278fea59ef46e09f667110f5eaaf95e3)
feat: Improve config error messages
([#&#8203;17385](https://togithub.com/eslint/eslint/issues/17385))
(Nicholas C. Zakas)

#### Bug Fixes

-
[`9803c7c`](https://togithub.com/eslint/eslint/commit/9803c7c04078f0672d8a480fd39cf3bbef8017e6)
fix: FlatESLint#getRulesMetaForResults shouldn't throw on unknown rules
([#&#8203;17393](https://togithub.com/eslint/eslint/issues/17393))
(Milos Djermanovic)
-
[`42faa17`](https://togithub.com/eslint/eslint/commit/42faa17b1c93f801b14bea2840d1d528e25c7211)
fix: Update no-loop-func to not overlap with no-undef
([#&#8203;17358](https://togithub.com/eslint/eslint/issues/17358)) (Matt
Wilkinson)

#### Documentation

-
[`4d474e3`](https://togithub.com/eslint/eslint/commit/4d474e351ba6ce0242f18e55c27cb3ae17b84f63)
docs: update with TypeScript info
([#&#8203;17423](https://togithub.com/eslint/eslint/issues/17423))
(James)
-
[`091f44e`](https://togithub.com/eslint/eslint/commit/091f44e4c72007edb2ac6d4db4eafa5501e41e94)
docs: File extension named processor deprecation
([#&#8203;17362](https://togithub.com/eslint/eslint/issues/17362)) (Matt
Wilkinson)
-
[`9254a6c`](https://togithub.com/eslint/eslint/commit/9254a6cea845dfaf2f3f52f718cb9b071853aa09)
docs: Update README (GitHub Actions Bot)
-
[`6d6dc51`](https://togithub.com/eslint/eslint/commit/6d6dc5141f535728029eef8735854a421bc08eba)
docs: fix overlapping of `open in playground` button
([#&#8203;17403](https://togithub.com/eslint/eslint/issues/17403))
(Tanuj Kanti)
-
[`7fc3a2c`](https://togithub.com/eslint/eslint/commit/7fc3a2ce68979a2c2a6fc779e647b3004ab6f4ac)
docs: Add private class features info to no-underscore-dangle
([#&#8203;17386](https://togithub.com/eslint/eslint/issues/17386)) (Matt
Wilkinson)
-
[`da73e58`](https://togithub.com/eslint/eslint/commit/da73e583e1703a420551d8fa8f7c70b56dc88dd5)
docs: Migrating `eslint-env` configuration comments
([#&#8203;17390](https://togithub.com/eslint/eslint/issues/17390))
(Francesco Trotta)
-
[`80dffed`](https://togithub.com/eslint/eslint/commit/80dffed4c81dcc71fb72bc187aff2f87d141a6ed)
docs: fix Ignoring Files section in config migration guide
([#&#8203;17392](https://togithub.com/eslint/eslint/issues/17392))
(Milos Djermanovic)
-
[`8a9abb7`](https://togithub.com/eslint/eslint/commit/8a9abb7cf424bd49d45c09345dc45ae95f29cc9d)
docs: Update README (GitHub Actions Bot)
-
[`7e9be4b`](https://togithub.com/eslint/eslint/commit/7e9be4bd7331d0e8e8e0af0b075a2f6d28d1bea3)
docs: Update README (GitHub Actions Bot)
-
[`0b0bbe0`](https://togithub.com/eslint/eslint/commit/0b0bbe07d4fb0870f3916e975b8ec6978f838077)
docs: Update README (GitHub Actions Bot)

#### Chores

-
[`d1eb7e4`](https://togithub.com/eslint/eslint/commit/d1eb7e46e954c64af8d7d13d087b3a18f43e6d72)
chore: Update ecosystem dependencies
([#&#8203;17427](https://togithub.com/eslint/eslint/issues/17427))
(Nicholas C. Zakas)
-
[`fab9e97`](https://togithub.com/eslint/eslint/commit/fab9e97ef9dff40e98a5b3b97bdd3b0ff5439d46)
chore: package.json update for eslint-config-eslint release (ESLint
Jenkins)
-
[`6246711`](https://togithub.com/eslint/eslint/commit/6246711e0650d03afe044c36acde048ed2d39ee3)
chore: package.json update for
[@&#8203;eslint/js](https://togithub.com/eslint/js) release (ESLint
Jenkins)
-
[`0aa0bc3`](https://togithub.com/eslint/eslint/commit/0aa0bc365a5425440c8e86c96104d0053a51b602)
chore: Add PRs to triage project
([#&#8203;17421](https://togithub.com/eslint/eslint/issues/17421))
(Nicholas C. Zakas)

### [`v8.45.0`](https://togithub.com/eslint/eslint/releases/tag/v8.45.0)

[Compare
Source](https://togithub.com/eslint/eslint/compare/v8.44.0...v8.45.0)

##### Features

-
[`cdd063c`](https://togithub.com/eslint/eslint/commit/cdd063c388bbfe1781d7a864a832f03a2c1cc277)
feat: Expose LegacyESLint in unsupported API
([#&#8203;17341](https://togithub.com/eslint/eslint/issues/17341))
(Nicholas C. Zakas)
-
[`d34abe5`](https://togithub.com/eslint/eslint/commit/d34abe59eb23932dcbc79757d7932d08ee8b20e5)
feat: fix indent rule for else-if
([#&#8203;17318](https://togithub.com/eslint/eslint/issues/17318))
(Milos Djermanovic)

##### Bug Fixes

-
[`b79b6fb`](https://togithub.com/eslint/eslint/commit/b79b6fb64473969b426d086b484d2e29594a5e9a)
fix: Fix suggestion message in `no-useless-escape`
([#&#8203;17339](https://togithub.com/eslint/eslint/issues/17339))
(Francesco Trotta)
-
[`c667055`](https://togithub.com/eslint/eslint/commit/c667055fb9da8ebac3a99f6e5a8b5565cc86af8e)
fix: provide unique `fix` and `fix.range` objects in lint messages
([#&#8203;17332](https://togithub.com/eslint/eslint/issues/17332))
(Milos Djermanovic)

##### Documentation

-
[`89f3225`](https://togithub.com/eslint/eslint/commit/89f3225108c66425e4132f76db6c1ab13aac98d7)
docs: add playground links to correct and incorrect code blocks
([#&#8203;17306](https://togithub.com/eslint/eslint/issues/17306)) (Josh
Goldberg ✨)
-
[`f8892b5`](https://togithub.com/eslint/eslint/commit/f8892b52920b8967f9e7bec23c75b74e03977d6b)
docs: Expand rule option schema docs
([#&#8203;17198](https://togithub.com/eslint/eslint/issues/17198)) (Matt
Wilkinson)
-
[`8bcbf11`](https://togithub.com/eslint/eslint/commit/8bcbf11b6050418262ffa8e0ca37f365ae92e7ce)
docs: Config Migration Guide
([#&#8203;17230](https://togithub.com/eslint/eslint/issues/17230)) (Ben
Perlmutter)
-
[`bb30908`](https://togithub.com/eslint/eslint/commit/bb3090897166dbfd2931a43a70e2a5c1f3fa0a07)
docs: Update README (GitHub Actions Bot)
-
[`84d243b`](https://togithub.com/eslint/eslint/commit/84d243b245b01b667f0752b592e8bda02a9aa2b1)
docs: Update README (GitHub Actions Bot)
-
[`b762632`](https://togithub.com/eslint/eslint/commit/b762632298f20c4f81e7d01ab850c3f5e3874637)
docs: Update README (GitHub Actions Bot)
-
[`138c096`](https://togithub.com/eslint/eslint/commit/138c096bc9468b553dbafc0e573c6522a17a7922)
docs: add more prefer-destructuring examples with array destructuring
([#&#8203;17330](https://togithub.com/eslint/eslint/issues/17330))
(Milos Djermanovic)
-
[`1fc50a8`](https://togithub.com/eslint/eslint/commit/1fc50a89753346f4f4c786ffd20ac4cf185bb036)
docs: `max-len` rule `code` and `tabWidth` as positional arguments
([#&#8203;17331](https://togithub.com/eslint/eslint/issues/17331))
(Jesús Leganés-Combarro)

##### Chores

-
[`68f63d7`](https://togithub.com/eslint/eslint/commit/68f63d76ce785fab4f42b76f1599026eea379bf7)
chore: package.json update for
[@&#8203;eslint/js](https://togithub.com/eslint/js) release (ESLint
Jenkins)
-
[`5ca9b4d`](https://togithub.com/eslint/eslint/commit/5ca9b4d29f747e9cf5c9055e85c93b3b605d57fc)
chore: update eslint-config-eslint exports
([#&#8203;17336](https://togithub.com/eslint/eslint/issues/17336))
(Milos Djermanovic)
-
[`7bf2e86`](https://togithub.com/eslint/eslint/commit/7bf2e86022c9e95db4ca1472fddfa2ea4edd1870)
chore: remove unused dependencies
([#&#8203;17352](https://togithub.com/eslint/eslint/issues/17352))
(Percy Ma)
-
[`c6f8cd0`](https://togithub.com/eslint/eslint/commit/c6f8cd0d62e4a3c314c6860ff367490bbd05325a)
chore: Remove `defaultIgnores` from FlatESLint private members
([#&#8203;17349](https://togithub.com/eslint/eslint/issues/17349))
(Francesco Trotta)
-
[`0052374`](https://togithub.com/eslint/eslint/commit/0052374035672efe9129343fc00ee51a4c288ff3)
chore: move jsdoc settings to eslint-config-eslint
([#&#8203;17338](https://togithub.com/eslint/eslint/issues/17338)) (唯然)

### [`v8.44.0`](https://togithub.com/eslint/eslint/releases/tag/v8.44.0)

[Compare
Source](https://togithub.com/eslint/eslint/compare/v8.43.0...v8.44.0)

#### Features

-
[`1766771`](https://togithub.com/eslint/eslint/commit/176677180a4a1209fc192771521c9192e1f67578)
feat: add `es2023` and `es2024` environments
([#&#8203;17328](https://togithub.com/eslint/eslint/issues/17328))
(Milos Djermanovic)
-
[`4c50400`](https://togithub.com/eslint/eslint/commit/4c5040022639ae804c15b366afc6e64982bd8ae3)
feat: add `ecmaVersion: 2024`, regexp `v` flag parsing
([#&#8203;17324](https://togithub.com/eslint/eslint/issues/17324))
(Milos Djermanovic)
-
[`4d411e4`](https://togithub.com/eslint/eslint/commit/4d411e4c7063274d6d346f1b7ee46f7575d0bbd2)
feat: add ternaryOperandBinaryExpressions option to no-extra-parens rule
([#&#8203;17270](https://togithub.com/eslint/eslint/issues/17270))
(Percy Ma)
-
[`c8b1f4d`](https://togithub.com/eslint/eslint/commit/c8b1f4d61a256727755d561bf53f889b6cd712e0)
feat: Move `parserServices` to `SourceCode`
([#&#8203;17311](https://togithub.com/eslint/eslint/issues/17311))
(Milos Djermanovic)
-
[`ef6e24e`](https://togithub.com/eslint/eslint/commit/ef6e24e42670f321d996948623846d9caaedac99)
feat: treat unknown nodes as having the lowest precedence
([#&#8203;17302](https://togithub.com/eslint/eslint/issues/17302)) (Brad
Zacher)
-
[`1866e1d`](https://togithub.com/eslint/eslint/commit/1866e1df6175e4ba0ae4a0d88dc3c956bb310035)
feat: allow flat config files to export a Promise
([#&#8203;17301](https://togithub.com/eslint/eslint/issues/17301))
(Milos Djermanovic)

#### Bug Fixes

-
[`a36bcb6`](https://togithub.com/eslint/eslint/commit/a36bcb67f26be42c794797d0cc9948b9cfd4ff71)
fix: no-unused-vars false positive with logical assignment operators
([#&#8203;17320](https://togithub.com/eslint/eslint/issues/17320))
(Gweesin Chan)
-
[`7620b89`](https://togithub.com/eslint/eslint/commit/7620b891e81c234f30f9dbcceb64a05fd0dde65e)
fix: Remove `no-unused-labels` autofix before potential directives
([#&#8203;17314](https://togithub.com/eslint/eslint/issues/17314))
(Francesco Trotta)
-
[`391ed38`](https://togithub.com/eslint/eslint/commit/391ed38b09bd1a3abe85db65b8fcda980ab3d6f4)
fix: Remove `no-extra-semi` autofix before potential directives
([#&#8203;17297](https://togithub.com/eslint/eslint/issues/17297))
(Francesco Trotta)

#### Documentation

-
[`526e911`](https://togithub.com/eslint/eslint/commit/526e91106e6fe101578e9478a9d7f4844d4f72ac)
docs: resubmit pr 17115 doc changes
([#&#8203;17291](https://togithub.com/eslint/eslint/issues/17291)) (唯然)
-
[`e1314bf`](https://togithub.com/eslint/eslint/commit/e1314bf85a52bb0d05b1c9ca3b4c1732bae22172)
docs: Integration section and tutorial
([#&#8203;17132](https://togithub.com/eslint/eslint/issues/17132)) (Ben
Perlmutter)
-
[`19a8c5d`](https://togithub.com/eslint/eslint/commit/19a8c5d84596a9f7f2aa428c1696ba86daf854e6)
docs: Update README (GitHub Actions Bot)

#### Chores

-
[`49e46ed`](https://togithub.com/eslint/eslint/commit/49e46edf3c8dc71d691a97fc33b63ed80ae0db0c)
chore: upgrade
[@&#8203;eslint/js](https://togithub.com/eslint/js)[@&#8203;8](https://togithub.com/8).44.0
([#&#8203;17329](https://togithub.com/eslint/eslint/issues/17329))
(Milos Djermanovic)
-
[`a1cb642`](https://togithub.com/eslint/eslint/commit/a1cb6421f9d185901cd99e5f696e912226ef6632)
chore: package.json update for
[@&#8203;eslint/js](https://togithub.com/eslint/js) release (ESLint
Jenkins)
-
[`840a264`](https://togithub.com/eslint/eslint/commit/840a26462bbf6c27c52c01b85ee2018062157951)
test: More test cases for no-case-declarations
([#&#8203;17315](https://togithub.com/eslint/eslint/issues/17315))
(Elian Cordoba)
-
[`e6e74f9`](https://togithub.com/eslint/eslint/commit/e6e74f9eef0448129dd4775628aba554a2d8c8c9)
chore: package.json update for eslint-config-eslint release (ESLint
Jenkins)
-
[`eb3d794`](https://togithub.com/eslint/eslint/commit/eb3d7946e1e9f70254008744dba2397aaa730114)
chore: upgrade semver@7.5.3
([#&#8203;17323](https://togithub.com/eslint/eslint/issues/17323))
(Ziyad El Abid)
-
[`cf88439`](https://togithub.com/eslint/eslint/commit/cf884390ad8071d88eae05df9321100f1770363d)
chore: upgrade optionator@0.9.3
([#&#8203;17319](https://togithub.com/eslint/eslint/issues/17319))
(Milos Djermanovic)
-
[`9718a97`](https://togithub.com/eslint/eslint/commit/9718a9781d69d2c40b68c631aed97700b32c0082)
refactor: remove unnecessary code in `flat-eslint.js`
([#&#8203;17308](https://togithub.com/eslint/eslint/issues/17308))
(Milos Djermanovic)
-
[`f82e56e`](https://togithub.com/eslint/eslint/commit/f82e56e9acfb9562ece76441472d5657d7d5e296)
perf: various performance improvements
([#&#8203;17135](https://togithub.com/eslint/eslint/issues/17135))
(moonlightaria)
-
[`da81e66`](https://togithub.com/eslint/eslint/commit/da81e66e22b4f3d3fe292cf70c388753304deaad)
chore: update eslint-plugin-jsdoc to 46.2.5
([#&#8203;17245](https://togithub.com/eslint/eslint/issues/17245)) (唯然)
-
[`b991640`](https://togithub.com/eslint/eslint/commit/b991640176d5dce4750f7cc71c56cd6f284c882f)
chore: switch eslint-config-eslint to the flat format
([#&#8203;17247](https://togithub.com/eslint/eslint/issues/17247)) (唯然)

</details>

<details>
<summary>github/eslint-plugin-github (eslint-plugin-github)</summary>

###
[`v4.9.2`](https://togithub.com/github/eslint-plugin-github/releases/tag/v4.9.2)

[Compare
Source](https://togithub.com/github/eslint-plugin-github/compare/v4.9.1...v4.9.2)

#### What's Changed

- Use `getLiteralPropValue` for sr-only class by
[@&#8203;khiga8](https://togithub.com/khiga8) in
[github/eslint-plugin-github#466

**Full Changelog**:
github/eslint-plugin-github@v4.9.1...v4.9.2

###
[`v4.9.1`](https://togithub.com/github/eslint-plugin-github/releases/tag/v4.9.1)

[Compare
Source](https://togithub.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
[@&#8203;camchenry](https://togithub.com/camchenry) in
[github/eslint-plugin-github#455
- bump `prettier` and `eslint-plugin-prettier` to latest versions by
[@&#8203;shiftkey](https://togithub.com/shiftkey) in
[github/eslint-plugin-github#457
- chore(deps): bump the all-dependencies group with 5 updates by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[github/eslint-plugin-github#458
- Set config override for false positive rule by
[@&#8203;khiga8](https://togithub.com/khiga8) in
[github/eslint-plugin-github#460
- Re-introduce accidentally removed testing commands by
[@&#8203;khiga8](https://togithub.com/khiga8) in
[github/eslint-plugin-github#459
- Fix bugs with `getRole` and `getElementType` by
[@&#8203;khiga8](https://togithub.com/khiga8) in
[github/eslint-plugin-github#461
- \[Fix] Only look at semantic elements for `a11y-no-title-attribute` by
[@&#8203;kendallgassner](https://togithub.com/kendallgassner) in
[github/eslint-plugin-github#464
- Check for presence of attribute in `getRole` rather than the value by
[@&#8203;khiga8](https://togithub.com/khiga8) in
[github/eslint-plugin-github#463

#### New Contributors

- [@&#8203;camchenry](https://togithub.com/camchenry) made their first
contribution in
[github/eslint-plugin-github#455
- [@&#8203;shiftkey](https://togithub.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://togithub.com/github/eslint-plugin-github/releases/tag/v4.9.0)

[Compare
Source](https://togithub.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
[@&#8203;kendallgassner](https://togithub.com/kendallgassner) in
[github/eslint-plugin-github#446
- Add polymorphic component check in `getElementType` by
[@&#8203;kendallgassner](https://togithub.com/kendallgassner) in
[github/eslint-plugin-github#449
- Adds `svg-has-accessible-name` rule by
[@&#8203;lindseywild](https://togithub.com/lindseywild) in
[github/eslint-plugin-github#450
- chore(deps): bump semver from 5.7.1 to 5.7.2 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[github/eslint-plugin-github#451
- Create rule: a11y-no-title-attribute by
[@&#8203;kendallgassner](https://togithub.com/kendallgassner) in
[github/eslint-plugin-github#453
- Bump aria-query and update to fix tests by
[@&#8203;khiga8](https://togithub.com/khiga8) in
[github/eslint-plugin-github#448
- Rename `role-supports-aria-props` to `a11y-` by
[@&#8203;khiga8](https://togithub.com/khiga8) in
[github/eslint-plugin-github#454

#### New Contributors

- [@&#8203;kendallgassner](https://togithub.com/kendallgassner) made
their first contribution in
[github/eslint-plugin-github#446
- [@&#8203;lindseywild](https://togithub.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://togithub.com/facebook/jest/blob/HEAD/CHANGELOG.md#2962)

[Compare
Source](https://togithub.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`
([#&#8203;14335](https://togithub.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
([#&#8203;14113](https://togithub.com/jestjs/jest/pull/14113))
- `[jest-snapshot]` Move `@types/prettier` from `dependencies` to
`devDependencies`
([#&#8203;14328](https://togithub.com/jestjs/jest/pull/14328))
- `[jest-snapshot]` Throw an explicit error if Prettier v3 is used
([#&#8203;14367](https://togithub.com/jestjs/jest/pull/14367))
- `[jest-reporters]` Add "skipped" and "todo" symbols to Github Actions
Reporter ([#&#8203;14309](https://togithub.com/jestjs/jest/pull/14309))

##### Chore & Maintenance

- `[@jest/core]` Use `pluralize` from `jest-util` rather than own
internal ([#&#8203;14322](https://togithub.com/jestjs/jest/pull/14322))

###
[`v29.6.1`](https://togithub.com/facebook/jest/blob/HEAD/CHANGELOG.md#2961)

[Compare
Source](https://togithub.com/facebook/jest/compare/v29.6.0...v29.6.1)

##### Fixes

- `[jest-circus]` Revert
[#&#8203;14110](https://togithub.com/jestjs/jest/pull/14110) as it was a
breaking change
([#&#8203;14304](https://togithub.com/jestjs/jest/pull/14304))

###
[`v29.6.0`](https://togithub.com/facebook/jest/blob/HEAD/CHANGELOG.md#2960)

[Compare
Source](https://togithub.com/facebook/jest/compare/v29.5.0...v29.6.0)

##### Features

- `[jest-circus, jest-snapshot]` Add support for snapshot matchers in
concurrent tests
([#&#8203;14139](https://togithub.com/jestjs/jest/pull/14139))
- `[jest-cli]` Include type definitions to generated config files
([#&#8203;14078](https://togithub.com/facebook/jest/pull/14078))
- `[jest-snapshot]` Support arrays as property matchers
([#&#8203;14025](https://togithub.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
([#&#8203;14174](https://togithub.com/jestjs/jest/pull/14174))

##### Fixes

- `[jest-circus]` Prevent false test failures caused by promise
rejections handled asynchronously
([#&#8203;14110](https://togithub.com/jestjs/jest/pull/14110))
- `[jest-config]` Handle frozen config object
([#&#8203;14054](https://togithub.com/facebook/jest/pull/14054))
- `[jest-config]` Allow `coverageDirectory` and `collectCoverageFrom` in
project config
([#&#8203;14180](https://togithub.com/jestjs/jest/pull/14180))
- `[jest-core]` Always use workers in watch mode to avoid crashes
([#&#8203;14059](https://togithub.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
([#&#8203;13989](https://togithub.com/facebook/jest/pull/13989))
- `[jest-matcher-utils]` Fix copying value of inherited getters
([#&#8203;14007](https://togithub.com/facebook/jest/pull/14007))
- `[jest-mock]` Tweak typings to allow `jest.replaceProperty()` replace
methods ([#&#8203;14008](https://togithub.com/facebook/jest/pull/14008))
- `[jest-mock]` Improve user input validation and error messages of
`spyOn` and `replaceProperty` methods
([#&#8203;14087](https://togithub.com/facebook/jest/pull/14087))
- `[jest-runtime]` Bind `jest.isolateModulesAsync` to `this`
([#&#8203;14083](https://togithub.com/facebook/jest/pull/14083))
- `[jest-runtime]` Forward `wrapperLength` to the `Script` constructor
as `columnOffset` for accurate debugging
([#&#8203;14148](https://togithub.com/facebook/jest/pull/14148))
- `[jest-runtime]` Guard `_isMockFunction` access with `in`
([#&#8203;14188](https://togithub.com/facebook/jest/pull/14188))
- `[jest-snapshot]` Fix a potential bug when not using prettier and
improve performance
([#&#8203;14036](https://togithub.com/facebook/jest/pull/14036))
- `[@jest/transform]` Do not instrument `.json` modules
([#&#8203;14048](https://togithub.com/facebook/jest/pull/14048))
- `[jest-worker]` Restart a shut down worker before sending it a task
([#&#8203;14015](https://togithub.com/facebook/jest/pull/14015))

##### Chore & Maintenance

- `[*]` Update `semver` dependency to get vulnerability fix
([#&#8203;14262](https://togithub.com/jestjs/jest/pull/14262))
- `[docs]` Updated documentation for the `--runTestsByPath` CLI command
([#&#8203;14004](https://togithub.com/facebook/jest/pull/14004))
- `[docs]` Updated documentation regarding the synchronous fallback when
asynchronous code transforms are unavailable
([#&#8203;14056](https://togithub.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://togithub.com/sigstore/sigstore-js/releases/tag/sigstore%401.8.0)

[Compare
Source](https://togithub.com/sigstore/sigstore-js/compare/sigstore@1.7.0...sigstore@1.8.0)

##### Minor Changes

- [`f1b8bad`](https://togithub.com/sigstore/sigstore-js/commit/f1b8bad):
Support for verifying v0.2 Sigstore bundles that contain inclusion
proofs from Rekor
- [`d9b1540`](https://togithub.com/sigstore/sigstore-js/commit/d9b1540):
Integrate
[@&#8203;sigstore/bundle](https://togithub.com/sigstore/bundle) package

##### Patch Changes

- [`e0c16ec`](https://togithub.com/sigstore/sigstore-js/commit/e0c16ec):
Bump
[@&#8203;sigstore/protobuf-specs](https://togithub.com/sigstore/protobuf-specs)
from 0.1.0 to 0.2.0
- [`6abe9ec`](https://togithub.com/sigstore/sigstore-js/commit/6abe9ec):
Fix bug when setting `tlogThreshold`/`ctLogThreshold` verification
options to 0
- Updated dependencies
\[[`e0c16ec`](https://togithub.com/sigstore/sigstore-js/commit/e0c16ec)]
- Updated dependencies
\[[`f1b8bad`](https://togithub.com/sigstore/sigstore-js/commit/f1b8bad)]
- Updated dependencies
\[[`a388e25`](https://togithub.com/sigstore/sigstore-js/commit/a388e25)]
- Updated dependencies
\[[`e0c16ec`](https://togithub.com/sigstore/sigstore-js/commit/e0c16ec)]
- Updated dependencies
\[[`2a5f500`](https://togithub.com/sigstore/sigstore-js/commit/2a5f500)]
- Updated dependencies
\[[`2a869ba`](https://togithub.com/sigstore/sigstore-js/commit/2a869ba)]
-
[@&#8203;sigstore/bundle](https://togithub.com/sigstore/bundle)[@&#8203;1](https://togithub.com/1).0.0
-
[@&#8203;sigstore/tuf](https://togithub.com/sigstore/tuf)[@&#8203;1](https://togithub.com/1).0.3

###
[`v1.7.0`](https://togithub.com/sigstore/sigstore-js/releases/tag/sigstore%401.7.0)

[Compare
Source](https://togithub.com/sigstore/sigstore-js/compare/sigstore@1.6.0...sigstore@1.7.0)

##### Minor Changes

- [`f374dd3`](https://togithub.com/sigstore/sigstore-js/commit/f374dd3):
Include transparency log inclusion proof in Sigstore bundle
- [`fbfb315`](https://togithub.com/sigstore/sigstore-js/commit/fbfb315):
Exports new `createVerifier` function

##### Patch Changes

- [`bd1e1e1`](https://togithub.com/sigstore/sigstore-js/commit/bd1e1e1):
Internal refactoring of Typescript types
- Updated dependencies
\[[`b97be71`](https://togithub.com/sigstore/sigstore-js/commit/b97be71)]
-
[@&#8203;sigstore/tuf](https://togithub.com/sigstore/tuf)[@&#8203;1](https://togithub.com/1).0.1

</details>

<details>
<summary>kulshekhar/ts-jest (ts-jest)</summary>

###
[`v29.1.1`](https://togithub.com/kulshekhar/ts-jest/blob/HEAD/CHANGELOG.md#2911-2023-06-23)

[Compare
Source](https://togithub.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://togithub.com/microsoft/TypeScript/releases/tag/v5.1.6):
TypeScript 5.1.6

[Compare
Source](https://togithub.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://togithub.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://togithub.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://togithub.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://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.1.3%22+is%3Aclosed+).
- (5.1.4 [intentionally
skipped](https://togithub.com/microsoft/TypeScript/issues/53031#issuecomment-1610038922))
- [fixed issues query for Typescript v5.1.5
(Stable)](https://togithub.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://togithub.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://togithub.com/microsoft/TypeScript/releases/tag/v5.1.5):
TypeScript 5.1.5

[Compare
Source](https://togithub.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://togithub.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://togithub.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://togithub.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://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.1.3%22+is%3Aclosed+).
- (5.1.4 [intentionally
skipped](https://togithub.com/microsoft/TypeScript/issues/53031#issuecomment-1610038922))
- [fixed issues query for Typescript v5.1.5
(Stable)](https://togithub.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://togithub.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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants