`,
})
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 - "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.
π Ignore: Close this PR and you won't be reminded about this update again.
[ ] 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:
3.1.1
->3.3.0
Release Notes
prettier/prettier (prettier)
### [`v3.3.0`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#330) [Compare Source](https://togithub.com/prettier/prettier/compare/3.2.5...3.3.0) [diff](https://togithub.com/prettier/prettier/compare/3.2.5...3.3.0) π [Release Notes](https://prettier.io/blog/2024/06/01/3.3.0.html) ### [`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 - "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.
π Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.