typescript-eslint/typescript-eslint (@typescript-eslint/eslint-plugin)
### [`v6.21.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6210-2024-02-05)
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.20.0...v6.21.0)
##### 🚀 Features
- export plugin metadata
- allow `parserOptions.project: false`
- **eslint-plugin:** add rule prefer-find
##### 🩹 Fixes
- **eslint-plugin:** \[no-unused-vars] don't report on types referenced in export assignment expression
- **eslint-plugin:** \[switch-exhaustiveness-check] better support for intersections, infinite types, non-union values
- **eslint-plugin:** \[consistent-type-imports] dont report on types used in export assignment expressions
- **eslint-plugin:** \[no-unnecessary-condition] handle left-hand optional with exactOptionalPropertyTypes option
- **eslint-plugin:** \[class-literal-property-style] allow getter when same key setter exists
- **eslint-plugin:** \[no-unnecessary-type-assertion] provide valid fixes for assertions with extra tokens before `as` keyword
##### ❤️ Thank You
- auvred
- Brad Zacher
- Kirk Waiblinger
- Pete Gonzalez
- YeonJuan
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.
### [`v6.20.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6200-2024-01-29)
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.19.1...v6.20.0)
##### 🚀 Features
- **eslint-plugin:** \[member-ordering] allow easy reuse of the default ordering
##### 🩹 Fixes
- **eslint-plugin:** \[no-useless-template-literals] incorrect bigint autofix result
- **eslint-plugin:** \[prefer-nullish-coalescing] treat any/unknown as non-nullable
- **eslint-plugin:** \[no-useless-template-literals] report Infinity & NaN
- **eslint-plugin:** \[prefer-readonly] disable checking accessors
##### ❤️ Thank You
- Alex Parloti
- auvred
- James Browning
- StyleShit
- YeonJuan
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.
### [`v6.19.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6191-2024-01-22)
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.19.0...v6.19.1)
##### 🩹 Fixes
- **type-utils:** preventing isUnsafeAssignment infinite recursive calls
- **eslint-plugin:** \[no-unnecessary-condition] fix false positive for type variable
##### ❤️ Thank You
- YeonJuan
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.
### [`v6.19.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6190-2024-01-15)
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.18.1...v6.19.0)
##### 🚀 Features
- **eslint-plugin:** \[prefer-promise-reject-errors] add rule
- **eslint-plugin:** \[no-array-delete] add new rule
- **eslint-plugin:** \[no-useless-template-literals] add fix suggestions
##### 🩹 Fixes
- **eslint-plugin:** \[no-unnecessary-type-assertion] detect unnecessary non-null-assertion on a call expression
- **eslint-plugin:** \[no-unnecesary-type-assertion] treat unknown/any as nullable
##### ❤️ Thank You
- auvred
- Brad Zacher
- Josh Goldberg ✨
- Joshua Chen
- LJX
- Steven
- StyleShit
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.
### [`v6.18.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6181-2024-01-08)
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.18.0...v6.18.1)
##### 🩹 Fixes
- **eslint-plugin:** \[no-non-null-assertion] provide valid fix when member access is on next line
- **eslint-plugin:** \[no-unnecessary-condition] improve checking optional callee
- **eslint-plugin:** \[prefer-readonly] support modifiers of unions and intersections
- **eslint-plugin:** \[switch-exhaustiveness-check] fix new allowDefaultCaseForExhaustiveSwitch option
##### ❤️ Thank You
- auvred
- James
- Josh Goldberg ✨
- YeonJuan
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.
### [`v6.18.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6180-2024-01-06)
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.17.0...v6.18.0)
##### 🚀 Features
- **typescript-estree:** throw on invalid update expressions
- **eslint-plugin:** \[no-var-requires, no-require-imports] allow option
##### ❤️ Thank You
- auvred
- Joshua Chen
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.
### [`v6.17.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6170-2024-01-01)
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.16.0...v6.17.0)
##### Bug Fixes
- **eslint-plugin:** \[no-restricted-imports] prevent crash when `patterns` or `paths` in options are empty ([#8108](https://togithub.com/typescript-eslint/typescript-eslint/issues/8108)) ([675e987](https://togithub.com/typescript-eslint/typescript-eslint/commit/675e987ca1d13244c03d7e09d4e42c6539689d9a))
##### Features
- **eslint-plugin:** \[no-floating-promises] flag result of .map(async) ([#7897](https://togithub.com/typescript-eslint/typescript-eslint/issues/7897)) ([5857356](https://togithub.com/typescript-eslint/typescript-eslint/commit/5857356962060b19aa792bee778f9167ee54154b))
- **eslint-plugin:** \[switch-exhaustiveness-check] add an option to warn against a `default` case on an already exhaustive `switch` ([#7539](https://togithub.com/typescript-eslint/typescript-eslint/issues/7539)) ([6a219bd](https://togithub.com/typescript-eslint/typescript-eslint/commit/6a219bdfe6fcf86aae28158e0d855f87a8bac719))
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.
### [`v6.16.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6160-2023-12-25)
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.15.0...v6.16.0)
##### Bug Fixes
- **eslint-plugin:** \[unbound-method] exempt all non-Promise built-in statics ([#8096](https://togithub.com/typescript-eslint/typescript-eslint/issues/8096)) ([3182959](https://togithub.com/typescript-eslint/typescript-eslint/commit/31829591e2c5cf6bdbdd5da23b12c5782f710fa5))
##### Features
- **eslint-plugin:** deprecate formatting (meta.type: layout) rules ([#8073](https://togithub.com/typescript-eslint/typescript-eslint/issues/8073)) ([04dea84](https://togithub.com/typescript-eslint/typescript-eslint/commit/04dea84e8e934a415ec1381a90de3cde670d0dc3))
- **eslint-plugin:** deprecate no-extra-semi in favor of ESLint Stylistic equivalent ([#8123](https://togithub.com/typescript-eslint/typescript-eslint/issues/8123)) ([9368bf3](https://togithub.com/typescript-eslint/typescript-eslint/commit/9368bf390afc58a19123782f8dff2bb5cdd3cccc))
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.
typescript-eslint/typescript-eslint (@typescript-eslint/parser)
### [`v6.21.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6210-2024-02-05)
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.20.0...v6.21.0)
##### 🚀 Features
- allow `parserOptions.project: false`
##### ❤️ Thank You
- auvred
- Brad Zacher
- Kirk Waiblinger
- Pete Gonzalez
- YeonJuan
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.
### [`v6.20.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6200-2024-01-29)
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.19.1...v6.20.0)
This was a version bump only for parser to align it with other projects, there were no code changes.
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.
### [`v6.19.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6191-2024-01-22)
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.19.0...v6.19.1)
This was a version bump only for parser to align it with other projects, there were no code changes.
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.
### [`v6.19.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6190-2024-01-15)
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.18.1...v6.19.0)
This was a version bump only for parser to align it with other projects, there were no code changes.
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.
### [`v6.18.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6181-2024-01-08)
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.18.0...v6.18.1)
This was a version bump only for parser to align it with other projects, there were no code changes.
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.
### [`v6.18.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6180-2024-01-06)
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.17.0...v6.18.0)
This was a version bump only for parser to align it with other projects, there were no code changes.
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.
### [`v6.17.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6170-2024-01-01)
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.16.0...v6.17.0)
**Note:** Version bump only for package [@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.
### [`v6.16.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6160-2023-12-25)
[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.15.0...v6.16.0)
**Note:** Version bump only for package [@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.
eslint/eslint (eslint)
### [`v8.57.0`](https://togithub.com/eslint/eslint/releases/tag/v8.57.0)
[Compare Source](https://togithub.com/eslint/eslint/compare/v8.56.0...v8.57.0)
#### Features
- [`1120b9b`](https://togithub.com/eslint/eslint/commit/1120b9b7b97f10f059d8b7ede19de2572f892366) feat: Add loadESLint() API method for v8 ([#18098](https://togithub.com/eslint/eslint/issues/18098)) (Nicholas C. Zakas)
- [`dca7d0f`](https://togithub.com/eslint/eslint/commit/dca7d0f1c262bc72310147bcefe1d04ecf60acbc) feat: Enable `eslint.config.mjs` and `eslint.config.cjs` ([#18066](https://togithub.com/eslint/eslint/issues/18066)) (Nitin Kumar)
#### Bug Fixes
- [`2196d97`](https://togithub.com/eslint/eslint/commit/2196d97094ba94d6d750828879a29538d1600de5) fix: handle absolute file paths in `FlatRuleTester` ([#18064](https://togithub.com/eslint/eslint/issues/18064)) (Nitin Kumar)
- [`69dd1d1`](https://togithub.com/eslint/eslint/commit/69dd1d1387b7b53617548d1f9f2c149f179e6e17) fix: Ensure config keys are printed for config errors ([#18067](https://togithub.com/eslint/eslint/issues/18067)) (Nitin Kumar)
- [`9852a31`](https://togithub.com/eslint/eslint/commit/9852a31edcf054bd5d15753ef18e2ad3216b1b71) fix: deep merge behavior in flat config ([#18065](https://togithub.com/eslint/eslint/issues/18065)) (Nitin Kumar)
- [`4c7e9b0`](https://togithub.com/eslint/eslint/commit/4c7e9b0b539ba879ac1799e81f3b6add2eed4b2f) fix: allow circular references in config ([#18056](https://togithub.com/eslint/eslint/issues/18056)) (Milos Djermanovic)
#### Documentation
- [`84922d0`](https://togithub.com/eslint/eslint/commit/84922d0bfa10689a34a447ab8e55975ff1c1c708) docs: Show prerelease version in dropdown ([#18139](https://togithub.com/eslint/eslint/issues/18139)) (Nicholas C. Zakas)
- [`5b8c363`](https://togithub.com/eslint/eslint/commit/5b8c3636a3d7536535a6878eca0e5b773e4829d4) docs: Switch to Ethical Ads ([#18117](https://togithub.com/eslint/eslint/issues/18117)) (Milos Djermanovic)
- [`77dbfd9`](https://togithub.com/eslint/eslint/commit/77dbfd9887b201a46fc68631cbde50c08e1a8dbf) docs: show NEXT in version selectors ([#18052](https://togithub.com/eslint/eslint/issues/18052)) (Milos Djermanovic)
#### Chores
- [`1813aec`](https://togithub.com/eslint/eslint/commit/1813aecc4660582b0678cf32ba466eb9674266c4) chore: upgrade [@eslint/js](https://togithub.com/eslint/js)[@8](https://togithub.com/8).57.0 ([#18143](https://togithub.com/eslint/eslint/issues/18143)) (Milos Djermanovic)
- [`5c356bb`](https://togithub.com/eslint/eslint/commit/5c356bb0c6f53c570224f8e9f02c4baca8fc6d2f) chore: package.json update for [@eslint/js](https://togithub.com/eslint/js) release (Jenkins)
- [`f4a1fe2`](https://togithub.com/eslint/eslint/commit/f4a1fe2e45aa1089fe775290bf530de82f34bf16) test: add more tests for ignoring files and directories ([#18068](https://togithub.com/eslint/eslint/issues/18068)) (Nitin Kumar)
- [`42c0aef`](https://togithub.com/eslint/eslint/commit/42c0aefaf6ea8b998b1c6db61906a79c046d301a) ci: Enable CI for `v8.x` branch ([#18047](https://togithub.com/eslint/eslint/issues/18047)) (Milos Djermanovic)
jest-community/eslint-plugin-jest (eslint-plugin-jest)
### [`v27.9.0`](https://togithub.com/jest-community/eslint-plugin-jest/blob/HEAD/CHANGELOG.md#2790-2024-02-16)
[Compare Source](https://togithub.com/jest-community/eslint-plugin-jest/compare/v27.8.0...v27.9.0)
##### Features
- add should-be-fine support for flat configs ([#1505](https://togithub.com/jest-community/eslint-plugin-jest/issues/1505)) ([4cc2a1b](https://togithub.com/jest-community/eslint-plugin-jest/commit/4cc2a1b680507ff006b5d2b02fa6d262584bb263))
### [`v27.8.0`](https://togithub.com/jest-community/eslint-plugin-jest/blob/HEAD/CHANGELOG.md#2780-2024-02-13)
[Compare Source](https://togithub.com/jest-community/eslint-plugin-jest/compare/v27.7.0...v27.8.0)
##### Features
- support `failing.each` ([#1499](https://togithub.com/jest-community/eslint-plugin-jest/issues/1499)) ([9e9cf83](https://togithub.com/jest-community/eslint-plugin-jest/commit/9e9cf8302ae182402da853a11b05e1560ccc63ee))
### [`v27.7.0`](https://togithub.com/jest-community/eslint-plugin-jest/blob/HEAD/CHANGELOG.md#2770-2024-02-13)
[Compare Source](https://togithub.com/jest-community/eslint-plugin-jest/compare/v27.6.3...v27.7.0)
##### Features
- allow `[@typescript-eslint](https://togithub.com/typescript-eslint)` v7 ([#1500](https://togithub.com/jest-community/eslint-plugin-jest/issues/1500)) ([6be2928](https://togithub.com/jest-community/eslint-plugin-jest/commit/6be2928816c69afca88a598e302910b113068ee9))
#### [27.6.3](https://togithub.com/jest-community/eslint-plugin-jest/compare/v27.6.2...v27.6.3) (2024-01-12)
##### Bug Fixes
- replace use of deprecated methods ([#1453](https://togithub.com/jest-community/eslint-plugin-jest/issues/1453)) ([9204a51](https://togithub.com/jest-community/eslint-plugin-jest/commit/9204a51b4a43541e5e59c6c7fb3a3da1e2d49c2b))
#### [27.6.2](https://togithub.com/jest-community/eslint-plugin-jest/compare/v27.6.1...v27.6.2) (2024-01-10)
##### Reverts
- Revert "chore: use relative path to parent `tsconfig.json` ([#1476](https://togithub.com/jest-community/eslint-plugin-jest/issues/1476))" ([5e6199d](https://togithub.com/jest-community/eslint-plugin-jest/commit/5e6199d62154e21ccc732bc09d8bbb87bd3ef748)), closes [#1476](https://togithub.com/jest-community/eslint-plugin-jest/issues/1476)
#### [27.6.1](https://togithub.com/jest-community/eslint-plugin-jest/compare/v27.6.0...v27.6.1) (2024-01-01)
##### Bug Fixes
- include plugin `meta` information with snapshot processor for ESLint v9 ([#1484](https://togithub.com/jest-community/eslint-plugin-jest/issues/1484)) ([067e246](https://togithub.com/jest-community/eslint-plugin-jest/commit/067e246864813fa88933f06628b6ca0ff31ca863))
### [`v27.6.3`](https://togithub.com/jest-community/eslint-plugin-jest/blob/HEAD/CHANGELOG.md#2763-2024-01-12)
[Compare Source](https://togithub.com/jest-community/eslint-plugin-jest/compare/v27.6.2...v27.6.3)
##### Bug Fixes
- replace use of deprecated methods ([#1453](https://togithub.com/jest-community/eslint-plugin-jest/issues/1453)) ([9204a51](https://togithub.com/jest-community/eslint-plugin-jest/commit/9204a51b4a43541e5e59c6c7fb3a3da1e2d49c2b))
### [`v27.6.2`](https://togithub.com/jest-community/eslint-plugin-jest/blob/HEAD/CHANGELOG.md#2762-2024-01-10)
[Compare Source](https://togithub.com/jest-community/eslint-plugin-jest/compare/v27.6.1...v27.6.2)
##### Reverts
- Revert "chore: use relative path to parent `tsconfig.json` ([#1476](https://togithub.com/jest-community/eslint-plugin-jest/issues/1476))" ([5e6199d](https://togithub.com/jest-community/eslint-plugin-jest/commit/5e6199d62154e21ccc732bc09d8bbb87bd3ef748)), closes [#1476](https://togithub.com/jest-community/eslint-plugin-jest/issues/1476)
### [`v27.6.1`](https://togithub.com/jest-community/eslint-plugin-jest/blob/HEAD/CHANGELOG.md#2761-2024-01-01)
[Compare Source](https://togithub.com/jest-community/eslint-plugin-jest/compare/v27.6.0...v27.6.1)
##### Bug Fixes
- include plugin `meta` information with snapshot processor for ESLint v9 ([#1484](https://togithub.com/jest-community/eslint-plugin-jest/issues/1484)) ([067e246](https://togithub.com/jest-community/eslint-plugin-jest/commit/067e246864813fa88933f06628b6ca0ff31ca863))
prettier/prettier (prettier)
### [`v3.2.5`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#325)
[Compare Source](https://togithub.com/prettier/prettier/compare/3.2.4...3.2.5)
[diff](https://togithub.com/prettier/prettier/compare/3.2.4...3.2.5)
##### Support Angular inline styles as single template literal ([#15968](https://togithub.com/prettier/prettier/pull/15968) by [@sosukesuzuki](https://togithub.com/sosukesuzuki))
[Angular v17](https://blog.angular.io/introducing-angular-v17-4d7033312e4b) supports single string inline styles.
```ts
// Input
@Component({
template: `
`,
})
export class AppComponent {}
```
##### Use `"json"` parser for `tsconfig.json` by default ([#16012](https://togithub.com/prettier/prettier/pull/16012) by [@sosukesuzuki](https://togithub.com/sosukesuzuki))
In [v2.3.0](https://prettier.io/blog/2024/01/12/3.2.0#new-jsonc-parser-added-15831httpsgithubcomprettierprettierpull15831-by-fiskerhttpsgithubcomfisker), we introduced `"jsonc"` parser which adds trialing comma **by default**.
When adding a new parser we also define how it will be used based on the [`linguist-languages`](https://www.npmjs.com/package/linguist-languages) data.
`tsconfig.json` is a special file used by [TypeScript](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html#using-tsconfigjson-or-jsconfigjson), it uses `.json` file extension, but it actually uses the [JSON with Comments](https://code.visualstudio.com/docs/languages/json#\_json-with-comments) syntax. However, we found that there are many third-party tools not recognize it correctly because of the confusing `.json` file extension.
We decide to treat it as a JSON file for now to avoid the extra configuration step.
To keep using the `"jsonc"` parser for your `tsconfig.json` files, add the following to your `.pretterrc` file
```json
{
"overrides": [
{
"files": ["tsconfig.json", "jsconfig.json"],
"options": {
"parser": "jsonc"
}
}
]
}
```
```
```
### [`v3.2.4`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#324)
[Compare Source](https://togithub.com/prettier/prettier/compare/3.2.3...3.2.4)
[diff](https://togithub.com/prettier/prettier/compare/3.2.3...3.2.4)
##### Fix incorrect parser inference ([#15947](https://togithub.com/prettier/prettier/pull/15947) by [@fisker](https://togithub.com/fisker))
Files like `.eslintrc.json` were incorrectly formatted as JSONC files.
```jsx
// Input
prettier --file-info .eslintrc.json
{ "ignored": false, "inferredParser": "jsonc" }
// Prettier 3.2.4
prettier --file-info .eslintrc.json
{ "ignored": false, "inferredParser": "json" }
```
### [`v3.2.3`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#323)
[Compare Source](https://togithub.com/prettier/prettier/compare/3.2.2...3.2.3)
[diff](https://togithub.com/prettier/prettier/compare/3.2.2...3.2.3)
##### Throw errors for invalid code ([#15881](https://togithub.com/prettier/prettier/pull/15881) by [@fisker](https://togithub.com/fisker), [@Josh-Cena](https://togithub.com/Josh-Cena), [@auvred](https://togithub.com/auvred))
```ts
// Input
1++;
// Prettier 3.2.2
1++;
// Prettier 3.2.3
SyntaxError: Invalid left-hand side expression in unary operation (1:1)
> 1 | 1++;
| ^
```
```ts
// Input
try {} catch (error = 1){}
// Prettier 3.2.2
try {
} catch (error) {}
// Prettier 3.2.3
SyntaxError: Catch clause variable cannot have an initializer. (1:23)
> 1 | try {} catch (error = 1){}
| ^
```
##### Fix parser inference ([#15927](https://togithub.com/prettier/prettier/pull/15927) by [@fisker](https://togithub.com/fisker))
```console
// Prettier 3.2.2
prettier --file-info tsconfig.json
{ "ignored": false, "inferredParser": "json" }
// Prettier 3.2.3
prettier --file-info tsconfig.json
{ "ignored": false, "inferredParser": "jsonc" }
```
### [`v3.2.2`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#322)
[Compare Source](https://togithub.com/prettier/prettier/compare/3.2.1...3.2.2)
[diff](https://togithub.com/prettier/prettier/compare/3.2.1...3.2.2)
##### Fix crash when parsing template literal CSS in a JSX style tag using a spread attribute ([#15896](https://togithub.com/prettier/prettier/pull/15896) by [@eelco](https://togithub.com/eelco))
For example this code would crash before:
```jsx
```
##### Fix formatting error on optional call expression and member chain ([#15920](https://togithub.com/prettier/prettier/pull/15920) by [@sosukesuzuki](https://togithub.com/sosukesuzuki))
```jsx
// Input
a(() => {}, c?.d());
// Prettier 3.2.1
TypeError: Cannot read properties of undefined (reading 'type')
// Prettier 3.2.2
a(() => {}, c?.d());
```
### [`v3.2.1`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#321)
[Compare Source](https://togithub.com/prettier/prettier/compare/3.2.0...3.2.1)
[diff](https://togithub.com/prettier/prettier/compare/3.2.0...3.2.1)
##### Fix formatting error on member chain ([#15915](https://togithub.com/prettier/prettier/pull/15915) by [@sosukesuzuki](https://togithub.com/sosukesuzuki))
```jsx
// Input
test().test2().test2(thing?.something);
// Prettier 3.2.0
TypeError: Cannot read properties of undefined (reading 'type')
// Prettier 3.2.1
test().test2().test2(thing?.something);
```
### [`v3.2.0`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#320)
[Compare Source](https://togithub.com/prettier/prettier/compare/3.1.1...3.2.0)
[diff](https://togithub.com/prettier/prettier/compare/3.1.1...3.2.0)
🔗 [Release Notes](https://prettier.io/blog/2024/01/13/3.2.0.html)
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
6.15.0
->6.21.0
6.15.0
->6.21.0
8.56.0
->8.57.0
27.6.0
->27.9.0
3.1.1
->3.2.5
Release Notes
typescript-eslint/typescript-eslint (@typescript-eslint/eslint-plugin)
### [`v6.21.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6210-2024-02-05) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.20.0...v6.21.0) ##### 🚀 Features - export plugin metadata - allow `parserOptions.project: false` - **eslint-plugin:** add rule prefer-find ##### 🩹 Fixes - **eslint-plugin:** \[no-unused-vars] don't report on types referenced in export assignment expression - **eslint-plugin:** \[switch-exhaustiveness-check] better support for intersections, infinite types, non-union values - **eslint-plugin:** \[consistent-type-imports] dont report on types used in export assignment expressions - **eslint-plugin:** \[no-unnecessary-condition] handle left-hand optional with exactOptionalPropertyTypes option - **eslint-plugin:** \[class-literal-property-style] allow getter when same key setter exists - **eslint-plugin:** \[no-unnecessary-type-assertion] provide valid fixes for assertions with extra tokens before `as` keyword ##### ❤️ Thank You - auvred - Brad Zacher - Kirk Waiblinger - Pete Gonzalez - YeonJuan 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. ### [`v6.20.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6200-2024-01-29) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.19.1...v6.20.0) ##### 🚀 Features - **eslint-plugin:** \[member-ordering] allow easy reuse of the default ordering ##### 🩹 Fixes - **eslint-plugin:** \[no-useless-template-literals] incorrect bigint autofix result - **eslint-plugin:** \[prefer-nullish-coalescing] treat any/unknown as non-nullable - **eslint-plugin:** \[no-useless-template-literals] report Infinity & NaN - **eslint-plugin:** \[prefer-readonly] disable checking accessors ##### ❤️ Thank You - Alex Parloti - auvred - James Browning - StyleShit - YeonJuan 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. ### [`v6.19.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6191-2024-01-22) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.19.0...v6.19.1) ##### 🩹 Fixes - **type-utils:** preventing isUnsafeAssignment infinite recursive calls - **eslint-plugin:** \[no-unnecessary-condition] fix false positive for type variable ##### ❤️ Thank You - YeonJuan 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. ### [`v6.19.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6190-2024-01-15) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.18.1...v6.19.0) ##### 🚀 Features - **eslint-plugin:** \[prefer-promise-reject-errors] add rule - **eslint-plugin:** \[no-array-delete] add new rule - **eslint-plugin:** \[no-useless-template-literals] add fix suggestions ##### 🩹 Fixes - **eslint-plugin:** \[no-unnecessary-type-assertion] detect unnecessary non-null-assertion on a call expression - **eslint-plugin:** \[no-unnecesary-type-assertion] treat unknown/any as nullable ##### ❤️ Thank You - auvred - Brad Zacher - Josh Goldberg ✨ - Joshua Chen - LJX - Steven - StyleShit 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. ### [`v6.18.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6181-2024-01-08) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.18.0...v6.18.1) ##### 🩹 Fixes - **eslint-plugin:** \[no-non-null-assertion] provide valid fix when member access is on next line - **eslint-plugin:** \[no-unnecessary-condition] improve checking optional callee - **eslint-plugin:** \[prefer-readonly] support modifiers of unions and intersections - **eslint-plugin:** \[switch-exhaustiveness-check] fix new allowDefaultCaseForExhaustiveSwitch option ##### ❤️ Thank You - auvred - James - Josh Goldberg ✨ - YeonJuan 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. ### [`v6.18.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6180-2024-01-06) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.17.0...v6.18.0) ##### 🚀 Features - **typescript-estree:** throw on invalid update expressions - **eslint-plugin:** \[no-var-requires, no-require-imports] allow option ##### ❤️ Thank You - auvred - Joshua Chen 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. ### [`v6.17.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6170-2024-01-01) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.16.0...v6.17.0) ##### Bug Fixes - **eslint-plugin:** \[no-restricted-imports] prevent crash when `patterns` or `paths` in options are empty ([#8108](https://togithub.com/typescript-eslint/typescript-eslint/issues/8108)) ([675e987](https://togithub.com/typescript-eslint/typescript-eslint/commit/675e987ca1d13244c03d7e09d4e42c6539689d9a)) ##### Features - **eslint-plugin:** \[no-floating-promises] flag result of .map(async) ([#7897](https://togithub.com/typescript-eslint/typescript-eslint/issues/7897)) ([5857356](https://togithub.com/typescript-eslint/typescript-eslint/commit/5857356962060b19aa792bee778f9167ee54154b)) - **eslint-plugin:** \[switch-exhaustiveness-check] add an option to warn against a `default` case on an already exhaustive `switch` ([#7539](https://togithub.com/typescript-eslint/typescript-eslint/issues/7539)) ([6a219bd](https://togithub.com/typescript-eslint/typescript-eslint/commit/6a219bdfe6fcf86aae28158e0d855f87a8bac719)) 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. ### [`v6.16.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6160-2023-12-25) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.15.0...v6.16.0) ##### Bug Fixes - **eslint-plugin:** \[unbound-method] exempt all non-Promise built-in statics ([#8096](https://togithub.com/typescript-eslint/typescript-eslint/issues/8096)) ([3182959](https://togithub.com/typescript-eslint/typescript-eslint/commit/31829591e2c5cf6bdbdd5da23b12c5782f710fa5)) ##### Features - **eslint-plugin:** deprecate formatting (meta.type: layout) rules ([#8073](https://togithub.com/typescript-eslint/typescript-eslint/issues/8073)) ([04dea84](https://togithub.com/typescript-eslint/typescript-eslint/commit/04dea84e8e934a415ec1381a90de3cde670d0dc3)) - **eslint-plugin:** deprecate no-extra-semi in favor of ESLint Stylistic equivalent ([#8123](https://togithub.com/typescript-eslint/typescript-eslint/issues/8123)) ([9368bf3](https://togithub.com/typescript-eslint/typescript-eslint/commit/9368bf390afc58a19123782f8dff2bb5cdd3cccc)) 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.typescript-eslint/typescript-eslint (@typescript-eslint/parser)
### [`v6.21.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6210-2024-02-05) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.20.0...v6.21.0) ##### 🚀 Features - allow `parserOptions.project: false` ##### ❤️ Thank You - auvred - Brad Zacher - Kirk Waiblinger - Pete Gonzalez - YeonJuan 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. ### [`v6.20.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6200-2024-01-29) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.19.1...v6.20.0) This was a version bump only for parser to align it with other projects, there were no code changes. 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. ### [`v6.19.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6191-2024-01-22) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.19.0...v6.19.1) This was a version bump only for parser to align it with other projects, there were no code changes. 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. ### [`v6.19.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6190-2024-01-15) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.18.1...v6.19.0) This was a version bump only for parser to align it with other projects, there were no code changes. 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. ### [`v6.18.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6181-2024-01-08) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.18.0...v6.18.1) This was a version bump only for parser to align it with other projects, there were no code changes. 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. ### [`v6.18.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6180-2024-01-06) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.17.0...v6.18.0) This was a version bump only for parser to align it with other projects, there were no code changes. 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. ### [`v6.17.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6170-2024-01-01) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.16.0...v6.17.0) **Note:** Version bump only for package [@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. ### [`v6.16.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6160-2023-12-25) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.15.0...v6.16.0) **Note:** Version bump only for package [@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.eslint/eslint (eslint)
### [`v8.57.0`](https://togithub.com/eslint/eslint/releases/tag/v8.57.0) [Compare Source](https://togithub.com/eslint/eslint/compare/v8.56.0...v8.57.0) #### Features - [`1120b9b`](https://togithub.com/eslint/eslint/commit/1120b9b7b97f10f059d8b7ede19de2572f892366) feat: Add loadESLint() API method for v8 ([#18098](https://togithub.com/eslint/eslint/issues/18098)) (Nicholas C. Zakas) - [`dca7d0f`](https://togithub.com/eslint/eslint/commit/dca7d0f1c262bc72310147bcefe1d04ecf60acbc) feat: Enable `eslint.config.mjs` and `eslint.config.cjs` ([#18066](https://togithub.com/eslint/eslint/issues/18066)) (Nitin Kumar) #### Bug Fixes - [`2196d97`](https://togithub.com/eslint/eslint/commit/2196d97094ba94d6d750828879a29538d1600de5) fix: handle absolute file paths in `FlatRuleTester` ([#18064](https://togithub.com/eslint/eslint/issues/18064)) (Nitin Kumar) - [`69dd1d1`](https://togithub.com/eslint/eslint/commit/69dd1d1387b7b53617548d1f9f2c149f179e6e17) fix: Ensure config keys are printed for config errors ([#18067](https://togithub.com/eslint/eslint/issues/18067)) (Nitin Kumar) - [`9852a31`](https://togithub.com/eslint/eslint/commit/9852a31edcf054bd5d15753ef18e2ad3216b1b71) fix: deep merge behavior in flat config ([#18065](https://togithub.com/eslint/eslint/issues/18065)) (Nitin Kumar) - [`4c7e9b0`](https://togithub.com/eslint/eslint/commit/4c7e9b0b539ba879ac1799e81f3b6add2eed4b2f) fix: allow circular references in config ([#18056](https://togithub.com/eslint/eslint/issues/18056)) (Milos Djermanovic) #### Documentation - [`84922d0`](https://togithub.com/eslint/eslint/commit/84922d0bfa10689a34a447ab8e55975ff1c1c708) docs: Show prerelease version in dropdown ([#18139](https://togithub.com/eslint/eslint/issues/18139)) (Nicholas C. Zakas) - [`5b8c363`](https://togithub.com/eslint/eslint/commit/5b8c3636a3d7536535a6878eca0e5b773e4829d4) docs: Switch to Ethical Ads ([#18117](https://togithub.com/eslint/eslint/issues/18117)) (Milos Djermanovic) - [`77dbfd9`](https://togithub.com/eslint/eslint/commit/77dbfd9887b201a46fc68631cbde50c08e1a8dbf) docs: show NEXT in version selectors ([#18052](https://togithub.com/eslint/eslint/issues/18052)) (Milos Djermanovic) #### Chores - [`1813aec`](https://togithub.com/eslint/eslint/commit/1813aecc4660582b0678cf32ba466eb9674266c4) chore: upgrade [@eslint/js](https://togithub.com/eslint/js)[@8](https://togithub.com/8).57.0 ([#18143](https://togithub.com/eslint/eslint/issues/18143)) (Milos Djermanovic) - [`5c356bb`](https://togithub.com/eslint/eslint/commit/5c356bb0c6f53c570224f8e9f02c4baca8fc6d2f) chore: package.json update for [@eslint/js](https://togithub.com/eslint/js) release (Jenkins) - [`f4a1fe2`](https://togithub.com/eslint/eslint/commit/f4a1fe2e45aa1089fe775290bf530de82f34bf16) test: add more tests for ignoring files and directories ([#18068](https://togithub.com/eslint/eslint/issues/18068)) (Nitin Kumar) - [`42c0aef`](https://togithub.com/eslint/eslint/commit/42c0aefaf6ea8b998b1c6db61906a79c046d301a) ci: Enable CI for `v8.x` branch ([#18047](https://togithub.com/eslint/eslint/issues/18047)) (Milos Djermanovic)jest-community/eslint-plugin-jest (eslint-plugin-jest)
### [`v27.9.0`](https://togithub.com/jest-community/eslint-plugin-jest/blob/HEAD/CHANGELOG.md#2790-2024-02-16) [Compare Source](https://togithub.com/jest-community/eslint-plugin-jest/compare/v27.8.0...v27.9.0) ##### Features - add should-be-fine support for flat configs ([#1505](https://togithub.com/jest-community/eslint-plugin-jest/issues/1505)) ([4cc2a1b](https://togithub.com/jest-community/eslint-plugin-jest/commit/4cc2a1b680507ff006b5d2b02fa6d262584bb263)) ### [`v27.8.0`](https://togithub.com/jest-community/eslint-plugin-jest/blob/HEAD/CHANGELOG.md#2780-2024-02-13) [Compare Source](https://togithub.com/jest-community/eslint-plugin-jest/compare/v27.7.0...v27.8.0) ##### Features - support `failing.each` ([#1499](https://togithub.com/jest-community/eslint-plugin-jest/issues/1499)) ([9e9cf83](https://togithub.com/jest-community/eslint-plugin-jest/commit/9e9cf8302ae182402da853a11b05e1560ccc63ee)) ### [`v27.7.0`](https://togithub.com/jest-community/eslint-plugin-jest/blob/HEAD/CHANGELOG.md#2770-2024-02-13) [Compare Source](https://togithub.com/jest-community/eslint-plugin-jest/compare/v27.6.3...v27.7.0) ##### Features - allow `[@typescript-eslint](https://togithub.com/typescript-eslint)` v7 ([#1500](https://togithub.com/jest-community/eslint-plugin-jest/issues/1500)) ([6be2928](https://togithub.com/jest-community/eslint-plugin-jest/commit/6be2928816c69afca88a598e302910b113068ee9)) #### [27.6.3](https://togithub.com/jest-community/eslint-plugin-jest/compare/v27.6.2...v27.6.3) (2024-01-12) ##### Bug Fixes - replace use of deprecated methods ([#1453](https://togithub.com/jest-community/eslint-plugin-jest/issues/1453)) ([9204a51](https://togithub.com/jest-community/eslint-plugin-jest/commit/9204a51b4a43541e5e59c6c7fb3a3da1e2d49c2b)) #### [27.6.2](https://togithub.com/jest-community/eslint-plugin-jest/compare/v27.6.1...v27.6.2) (2024-01-10) ##### Reverts - Revert "chore: use relative path to parent `tsconfig.json` ([#1476](https://togithub.com/jest-community/eslint-plugin-jest/issues/1476))" ([5e6199d](https://togithub.com/jest-community/eslint-plugin-jest/commit/5e6199d62154e21ccc732bc09d8bbb87bd3ef748)), closes [#1476](https://togithub.com/jest-community/eslint-plugin-jest/issues/1476) #### [27.6.1](https://togithub.com/jest-community/eslint-plugin-jest/compare/v27.6.0...v27.6.1) (2024-01-01) ##### Bug Fixes - include plugin `meta` information with snapshot processor for ESLint v9 ([#1484](https://togithub.com/jest-community/eslint-plugin-jest/issues/1484)) ([067e246](https://togithub.com/jest-community/eslint-plugin-jest/commit/067e246864813fa88933f06628b6ca0ff31ca863)) ### [`v27.6.3`](https://togithub.com/jest-community/eslint-plugin-jest/blob/HEAD/CHANGELOG.md#2763-2024-01-12) [Compare Source](https://togithub.com/jest-community/eslint-plugin-jest/compare/v27.6.2...v27.6.3) ##### Bug Fixes - replace use of deprecated methods ([#1453](https://togithub.com/jest-community/eslint-plugin-jest/issues/1453)) ([9204a51](https://togithub.com/jest-community/eslint-plugin-jest/commit/9204a51b4a43541e5e59c6c7fb3a3da1e2d49c2b)) ### [`v27.6.2`](https://togithub.com/jest-community/eslint-plugin-jest/blob/HEAD/CHANGELOG.md#2762-2024-01-10) [Compare Source](https://togithub.com/jest-community/eslint-plugin-jest/compare/v27.6.1...v27.6.2) ##### Reverts - Revert "chore: use relative path to parent `tsconfig.json` ([#1476](https://togithub.com/jest-community/eslint-plugin-jest/issues/1476))" ([5e6199d](https://togithub.com/jest-community/eslint-plugin-jest/commit/5e6199d62154e21ccc732bc09d8bbb87bd3ef748)), closes [#1476](https://togithub.com/jest-community/eslint-plugin-jest/issues/1476) ### [`v27.6.1`](https://togithub.com/jest-community/eslint-plugin-jest/blob/HEAD/CHANGELOG.md#2761-2024-01-01) [Compare Source](https://togithub.com/jest-community/eslint-plugin-jest/compare/v27.6.0...v27.6.1) ##### Bug Fixes - include plugin `meta` information with snapshot processor for ESLint v9 ([#1484](https://togithub.com/jest-community/eslint-plugin-jest/issues/1484)) ([067e246](https://togithub.com/jest-community/eslint-plugin-jest/commit/067e246864813fa88933f06628b6ca0ff31ca863))prettier/prettier (prettier)
### [`v3.2.5`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#325) [Compare Source](https://togithub.com/prettier/prettier/compare/3.2.4...3.2.5) [diff](https://togithub.com/prettier/prettier/compare/3.2.4...3.2.5) ##### Support Angular inline styles as single template literal ([#15968](https://togithub.com/prettier/prettier/pull/15968) by [@sosukesuzuki](https://togithub.com/sosukesuzuki)) [Angular v17](https://blog.angular.io/introducing-angular-v17-4d7033312e4b) supports single string inline styles. ```ts // Input @Component({ template: `{{ hello }}
`, }) export class AppComponent {} // Prettier 3.2.4 const template = "foobar"; @Component({ [template]: `{{ hello }}
`, }) export class AppComponent {} // Prettier 3.2.5 const template = "foobar"; @Component({ [template]: `{{ hello }}
`, }) export class AppComponent {} ``` ##### Use `"json"` parser for `tsconfig.json` by default ([#16012](https://togithub.com/prettier/prettier/pull/16012) by [@sosukesuzuki](https://togithub.com/sosukesuzuki)) In [v2.3.0](https://prettier.io/blog/2024/01/12/3.2.0#new-jsonc-parser-added-15831httpsgithubcomprettierprettierpull15831-by-fiskerhttpsgithubcomfisker), we introduced `"jsonc"` parser which adds trialing comma **by default**. When adding a new parser we also define how it will be used based on the [`linguist-languages`](https://www.npmjs.com/package/linguist-languages) data. `tsconfig.json` is a special file used by [TypeScript](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html#using-tsconfigjson-or-jsconfigjson), it uses `.json` file extension, but it actually uses the [JSON with Comments](https://code.visualstudio.com/docs/languages/json#\_json-with-comments) syntax. However, we found that there are many third-party tools not recognize it correctly because of the confusing `.json` file extension. We decide to treat it as a JSON file for now to avoid the extra configuration step. To keep using the `"jsonc"` parser for your `tsconfig.json` files, add the following to your `.pretterrc` file ```json { "overrides": [ { "files": ["tsconfig.json", "jsconfig.json"], "options": { "parser": "jsonc" } } ] } ``` ``` ``` ### [`v3.2.4`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#324) [Compare Source](https://togithub.com/prettier/prettier/compare/3.2.3...3.2.4) [diff](https://togithub.com/prettier/prettier/compare/3.2.3...3.2.4) ##### Fix incorrect parser inference ([#15947](https://togithub.com/prettier/prettier/pull/15947) by [@fisker](https://togithub.com/fisker)) Files like `.eslintrc.json` were incorrectly formatted as JSONC files. ```jsx // Input prettier --file-info .eslintrc.json { "ignored": false, "inferredParser": "jsonc" } // Prettier 3.2.4 prettier --file-info .eslintrc.json { "ignored": false, "inferredParser": "json" } ``` ### [`v3.2.3`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#323) [Compare Source](https://togithub.com/prettier/prettier/compare/3.2.2...3.2.3) [diff](https://togithub.com/prettier/prettier/compare/3.2.2...3.2.3) ##### Throw errors for invalid code ([#15881](https://togithub.com/prettier/prettier/pull/15881) by [@fisker](https://togithub.com/fisker), [@Josh-Cena](https://togithub.com/Josh-Cena), [@auvred](https://togithub.com/auvred)) ```ts // Input 1++; // Prettier 3.2.2 1++; // Prettier 3.2.3 SyntaxError: Invalid left-hand side expression in unary operation (1:1) > 1 | 1++; | ^ ``` ```ts // Input try {} catch (error = 1){} // Prettier 3.2.2 try { } catch (error) {} // Prettier 3.2.3 SyntaxError: Catch clause variable cannot have an initializer. (1:23) > 1 | try {} catch (error = 1){} | ^ ``` ##### Fix parser inference ([#15927](https://togithub.com/prettier/prettier/pull/15927) by [@fisker](https://togithub.com/fisker)) ```console // Prettier 3.2.2 prettier --file-info tsconfig.json { "ignored": false, "inferredParser": "json" } // Prettier 3.2.3 prettier --file-info tsconfig.json { "ignored": false, "inferredParser": "jsonc" } ``` ### [`v3.2.2`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#322) [Compare Source](https://togithub.com/prettier/prettier/compare/3.2.1...3.2.2) [diff](https://togithub.com/prettier/prettier/compare/3.2.1...3.2.2) ##### Fix crash when parsing template literal CSS in a JSX style tag using a spread attribute ([#15896](https://togithub.com/prettier/prettier/pull/15896) by [@eelco](https://togithub.com/eelco)) For example this code would crash before: ```jsx ``` ##### Fix formatting error on optional call expression and member chain ([#15920](https://togithub.com/prettier/prettier/pull/15920) by [@sosukesuzuki](https://togithub.com/sosukesuzuki)) ```jsx // Input a(() => {}, c?.d()); // Prettier 3.2.1 TypeError: Cannot read properties of undefined (reading 'type') // Prettier 3.2.2 a(() => {}, c?.d()); ``` ### [`v3.2.1`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#321) [Compare Source](https://togithub.com/prettier/prettier/compare/3.2.0...3.2.1) [diff](https://togithub.com/prettier/prettier/compare/3.2.0...3.2.1) ##### Fix formatting error on member chain ([#15915](https://togithub.com/prettier/prettier/pull/15915) by [@sosukesuzuki](https://togithub.com/sosukesuzuki)) ```jsx // Input test().test2().test2(thing?.something); // Prettier 3.2.0 TypeError: Cannot read properties of undefined (reading 'type') // Prettier 3.2.1 test().test2().test2(thing?.something); ``` ### [`v3.2.0`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#320) [Compare Source](https://togithub.com/prettier/prettier/compare/3.1.1...3.2.0) [diff](https://togithub.com/prettier/prettier/compare/3.1.1...3.2.0) 🔗 [Release Notes](https://prettier.io/blog/2024/01/13/3.2.0.html)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Mend Renovate. View repository job log here.