ts-api-utils
ts-api-utils copied to clipboard
chore(deps): update dependency prettier to v3.3.3
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| prettier (source) | 3.1.1 -> 3.3.3 |
Release Notes
prettier/prettier (prettier)
v3.3.3
Add parentheses for nullish coalescing in ternary (#​16391 by @​cdignam-segment)
This change adds clarity to operator precedence.
// Input
foo ? bar ?? foo : baz;
foo ?? bar ? a : b;
a ? b : foo ?? bar;
// Prettier 3.3.2
foo ? bar ?? foo : baz;
foo ?? bar ? a : b;
a ? b : foo ?? bar;
// Prettier 3.3.3
foo ? (bar ?? foo) : baz;
(foo ?? bar) ? a : b;
a ? b : (foo ?? bar);
Add parentheses for decorator expressions (#​16458 by @​y-schneider)
Prevent parentheses around member expressions or tagged template literals from being removed to follow the stricter parsing rules of TypeScript 5.5.
// Input
@​(foo`tagged template`)
class X {}
// Prettier 3.3.2
@​foo`tagged template`
class X {}
// Prettier 3.3.3
@​(foo`tagged template`)
class X {}
Support @let declaration syntax (#​16474 by @​sosukesuzuki)
Adds support for Angular v18 @let declaration syntax.
Please see the following code example. The @let declaration allows you to define local variables within the template:
@​let name = 'Frodo';
<h1>Dashboard for {{name}}</h1>
Hello, {{name}}
For more details, please refer to the excellent blog post by the Angular Team: Introducing @​let in Angular.
We also appreciate the Angular Team for kindly answering our questions to implement this feature.
v3.3.2
Fix handlebars path expressions starts with @ (#​16358 by @​Princeyadav05)
{{! Input }}
<div>{{@​x.y.z}}</div>
{{! Prettier 3.3.1 }}
<div>{{@​x}}</div>
{{! Prettier 3.3.2 }}
<div>{{@​x.y.z}}</div>
v3.3.1
Preserve empty lines in front matter (#​16347 by @​fisker)
<!-- Input -->
---
foo:
- bar1
- bar2
- bar3
---
Markdown
<!-- Prettier 3.3.0 -->
---
foo:
- bar1
- bar2
- bar3
---
Markdown
<!-- Prettier 3.3.1 -->
---
foo:
- bar1
- bar2
- bar3
---
Markdown
Preserve explicit language in front matter (#​16348 by @​fisker)
<!-- Input -->
---yaml
title: Hello
slug: home
---
<!-- Prettier 3.3.0 -->
---
title: Hello
slug: home
---
<!-- Prettier 3.3.1 -->
---yaml
title: Hello
slug: home
---
Avoid line breaks in import attributes (#​16349 by @​fisker)
// Input
import something from "./some-very-very-very-very-very-very-very-very-long-path.json" with { type: "json" };
// Prettier 3.3.0
import something from "./some-very-very-very-very-very-very-very-very-long-path.json" with { type:
"json" };
// Prettier 3.3.1
import something from "./some-very-very-very-very-very-very-very-very-long-path.json" with { type: "json" };
v3.3.0
đź”— Release Notes
v3.2.5
Support Angular inline styles as single template literal (#​15968 by @​sosukesuzuki)
Angular v17 supports single string inline styles.
// Input
@​Component({
template: `<div>...</div>`,
styles: `h1 { color: blue; }`,
})
export class AppComponent {}
// Prettier 3.2.4
@​Component({
template: `<div>...</div>`,
styles: `h1 { color: blue; }`,
})
export class AppComponent {}
// Prettier 3.2.5
@​Component({
template: `<div>...</div>`,
styles: `
h1 {
color: blue;
}
`,
})
export class AppComponent {}
Unexpected embedded formatting for Angular template (#​15969 by @​JounQin)
Computed template should not be considered as Angular component template
// Input
const template = "foobar";
@​Component({
[template]: `<h1>{{ hello }}</h1>`,
})
export class AppComponent {}
// Prettier 3.2.4
const template = "foobar";
@​Component({
[template]: `<h1>{{ hello }}</h1>`,
})
export class AppComponent {}
// Prettier 3.2.5
const template = "foobar";
@​Component({
[template]: `<h1>{{ hello }}</h1>`,
})
export class AppComponent {}
Use "json" parser for tsconfig.json by default (#​16012 by @​sosukesuzuki)
In v2.3.0, 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 data.
tsconfig.json is a special file used by TypeScript, it uses .json file extension, but it actually uses the 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
{
"overrides": [
{
"files": ["tsconfig.json", "jsconfig.json"],
"options": {
"parser": "jsonc"
}
}
]
}
v3.2.4
Fix incorrect parser inference (#​15947 by @​fisker)
Files like .eslintrc.json were incorrectly formatted as JSONC files.
// 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
Throw errors for invalid code (#​15881 by @​fisker, @​Josh-Cena, @​auvred)
// Input
1++;
// Prettier 3.2.2
1++;
// Prettier 3.2.3
SyntaxError: Invalid left-hand side expression in unary operation (1:1)
> 1 | 1++;
| ^
// 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 by @​fisker)
// 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
Fix crash when parsing template literal CSS in a JSX style tag using a spread attribute (#​15896 by @​eelco)
For example this code would crash before:
<style {...spread}>{`.{}`}</style>
Fix formatting error on optional call expression and member chain (#​15920 by @​sosukesuzuki)
// 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
Fix formatting error on member chain (#​15915 by @​sosukesuzuki)
// 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
đź”— Release Notes
Configuration
đź“… Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
â™» Rebasing: Whenever PR is behind base branch, 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 was generated by Mend Renovate. View the repository job log.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 80.16%. Comparing base (
c87c47b) to head (656be4a). Report is 7 commits behind head on main.
:exclamation: Current head 656be4a differs from pull request most recent head 41dfdf2
Please upload reports for the commit 41dfdf2 to get more accurate results.
Additional details and impacted files
@@ Coverage Diff @@
## main #410 +/- ##
==========================================
- Coverage 80.59% 80.16% -0.43%
==========================================
Files 35 35
Lines 6575 6575
Branches 440 431 -9
==========================================
- Hits 5299 5271 -28
- Misses 1276 1304 +28
| Flag | Coverage Δ | |
|---|---|---|
| 4.3.5 | 80.16% <ø> (ø) |
|
| 4.6.4 | ? |
|
| 4.9.5 | ? |
|
| latest | ? |
Flags with carried forward coverage won't be shown. Click here to find out more.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Renovate Ignore Notification
Because you closed this PR without merging, Renovate will ignore this update (^3.1.1). You will get a PR once a newer version is released. To ignore this dependency forever, add it to the ignoreDeps array of your Renovate config.
If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.