possu
possu copied to clipboard
Update dependency prettier to v3.2.5
This PR contains the following updates:
Package | Change | Age | Adoption | Passing | Confidence |
---|---|---|---|---|---|
prettier (source) | 3.0.3 -> 3.2.5 |
Release Notes
prettier/prettier (prettier)
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
v3.1.1
Fix config file search (#15363 by @fisker)
Previously, we start search for config files from the filePath as a directory, if it happened to be a directory and contains config file, it will be used by mistake.
├─ .prettierrc
└─ test.js (A directory)
└─ .prettierrc
// Prettier 3.1.0
await prettier.resolveConfigFile(new URL("./test.js", import.meta.url));
// <CWD>/test.js/.prettierrc
// Prettier 3.1.1
await prettier.resolveConfigFile(new URL("./test.js", import.meta.url));
// <CWD>/.prettierrc
Skip explicitly passed symbolic links with --no-error-on-unmatched-pattern
(#15533 by @sanmai-NL)
Since Prettier v3, we stopped following symbolic links, however in some use cases, the symbolic link patterns can't be filtered out, and there is no way to prevent Prettier from throwing errors.
In Prettier 3.1.1, you can use --no-error-on-unmatched-pattern
to simply skip symbolic links.
Consistently use tabs in ternaries when useTabs
is true
(#15662 by @auvred)
// Input
aaaaaaaaaaaaaaa
? bbbbbbbbbbbbbbbbbb
: ccccccccccccccc
? ddddddddddddddd
: eeeeeeeeeeeeeee
? fffffffffffffff
: gggggggggggggggg;
// Prettier 3.1.0
aaaaaaaaaaaaaaa
? bbbbbbbbbbbbbbbbbb
: ccccccccccccccc
? ddddddddddddddd
: eeeeeeeeeeeeeee
? fffffffffffffff
: gggggggggggggggg;
// Prettier 3.1.1
aaaaaaaaaaaaaaa
? bbbbbbbbbbbbbbbbbb
: ccccccccccccccc
? ddddddddddddddd
: eeeeeeeeeeeeeee
? fffffffffffffff
: gggggggggggggggg;
Improve config file search (#15663 by @fisker)
The Prettier config file search performance has been improved by more effective cache strategy.
Fix unstable and ugly formatting for comments in destructuring patterns (#15708 by @sosukesuzuki)
// Input
const {
foo,
// bar
// baz
}: Foo = expr;
// Prettier 3.1.0
const {
foo1,
} // bar
// baz
: Foo = expr;
// Prettier 3.1.0 second output
const {
foo1, // bar
} // baz
: Foo = expr;
// Prettier 3.1.1
const {
foo1,
// bar
// baz
}: Foo = expr;
Support "Import Attributes" (#15718 by @fisker)
TypeScript 5.3 supports the latest updates to the import attributes proposal.
import something from "./something.json" with { type: "json" };
Fix false claim in docs that cursorOffset is incompatible with rangeStart/rangeEnd (#15750 by @ExplodingCabbage)
The cursorOffset option has in fact been compatible with rangeStart/rangeEnd for over 5 years, thanks to work by @ds300. However, Prettier's documentation (including the CLI --help
text) continued to claim otherwise, falsely. The documentation is now fixed.
Keep curly braces and from
keyword in empty import
statements (#15756 by @fisker)
// Input
import { } from 'foo';
import { /* comment */ } from 'bar';
// Prettier 3.1.0
import {} from "foo";
import /* comment */ "bar";
// Prettier 3.1.1
import {} from "foo";
import {} from /* comment */ "bar";
Keep empty import attributes and assertions (#15757 by @fisker)
// Input
import foo from "foo" with {};
import bar from "bar" assert {};
// Prettier 3.1.0
import foo from "foo";
import bar from "bar";
// Prettier 3.1.1
import foo from "foo" with {};
import bar from "bar" assert {};
v3.1.0
Configuration
📅 Schedule: Branch creation - "every weekend" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ 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.