chore(deps): update dependency prettier to v2
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
prettier (source) | devDependencies | major | 1.19.1 -> 2.2.1 |
Release Notes
prettier/prettier
v2.2.1
#9741 by @sosukesuzuki)
Fix formatting for AssignmentExpression with ClassExpression (// Input
module.exports = class A extends B {
method() {
console.log("foo");
}
};
// Prettier 2.2.0
module.exports = class A extends (
B
) {
method() {
console.log("foo");
}
};
// Prettier 2.2.1
module.exports = class A extends B {
method() {
console.log("foo");
}
};
v2.2.0
v2.1.2
#9116 by @sosukesuzuki)
Fix formatting for directives in fields (
v2.1.1
#9043 by @fisker)
Fix format on html with frontMatter (<!-- Input -->
---
layout: foo
---
Test <a
href="https://prettier.io">abc</a>.
<!-- Prettier stable -->
TypeError: Cannot read property 'end' of undefined
...
<!-- Prettier master -->
---
layout: foo
---
Test <a href="https://prettier.io">abc</a>.
...infer T
(#9044 by @fisker)
Fix broken format for // Input
type Tail<T extends any[]> = T extends [infer U, ...infer R] ? R : never;
// Prettier stable
type Tail<T extends any[]> = T extends [infer U, ...(infer R)] ? R : never;
// Prettier master
type Tail<T extends any[]> = T extends [infer U, ...infer R] ? R : never;
style[lang="sass"]
(#9051 by @fisker)
Fix format on <!-- Input -->
<style lang="sass">
.hero
@​include background-centered
</style>
<!-- Prettier stable -->
<style lang="sass">
.hero @​include background-centered;
</style>
<!-- Prettier master -->
<style lang="sass">
.hero
@​include background-centered
</style>
src
attribute format (#9052, #9055 by @fisker)
Fix self-closing blocks and blocks with <!-- Input -->
<custom lang="markdown" src="./foo.md"></custom>
<custom lang="markdown" src="./foo.md" />
<custom lang="markdown" />
<!-- Prettier stable -->
<custom lang="markdown" src="./foo.md">
</custom>
<custom lang="markdown" src="./foo.md"
/>
<custom lang="markdown"
/>
<!-- Prettier master -->
<custom lang="markdown" src="./foo.md"></custom>
<custom lang="markdown" src="./foo.md" />
<custom lang="markdown" />
v2.1.0
v2.0.5
:extend
(#7984 by @fisker)
Less: Fix formatting of // Input
.class {
&:extend(.some-class .some-other-class .some-very-loooooooooooooong-class all);
}
// Prettier 2.0.4
.class {
&:extend(
.some-class .some-other-class .some-very-loooooooooooooong-class all
);
}
// Prettier 2.0.4 (Second format)
.class {
&: extend(
.some-class .some-other-class .some-very-loooooooooooooong-class all
);
}
// Prettier 2.0.5
.class {
&:extend(
.some-class .some-other-class .some-very-loooooooooooooong-class all
);
}
resolve
if builtin require.resolve
is overridden (#8072 by @fisker)
Editor integration: Use This fixes issues that the users of Atom and WebStorm faced with 2.0.4.
Prettier now switches to using the resolve
module for resolving configuration files and plugins if it detects that require.resolve
isn't Node's builtin function (doesn't support the second argument), which happens in environments like editor extensions. To force the fallback, set the MRETTIER_FALLBACK_RESOLVE
environment variable to true
.
v2.0.4
#7869, "[TypeScript] format TSAsExpression with same logic as BinaryExpression" (#7958)
Revert
v2.0.3
JavaScript
prettier-ignore
inside JSX (#7877 by @fisker)
Fix // Input
<div>
{
/* prettier-ignore */
x ? <Y/> : <Z/>
}
</div>;
// Prettier 2.0.2 (first output)
<div>
{/* prettier-ignore */
x ? <Y/> : <Z/>}
</div>;
// Prettier 2.0.2 (second output)
<div>{/* prettier-ignore */ x ? <Y/> : <Z/>}</div>;
// Prettier 2.0.3
<div>
{
/* prettier-ignore */
x ? <Y/> : <Z/>
}
</div>;
#7883 by @thorn0)
Fix regressions in styled-components template literals (// Input
const Icon = styled.div`
background: var(--${background});
${Link}:not(:first-child) {
fill: rebeccapurple;
}
`;
// Prettier 2.0.2
const Icon = styled.div`
background: var(-- ${background});
${Link}:not (:first-child) {
fill: rebeccapurple;
}
`;
// Prettier 2.0.3
const Icon = styled.div`
background: var(--${background});
${Link}:not(:first-child) {
fill: rebeccapurple;
}
`;
#7891 by @sidharthv96)
Fix: line endings were not always converted properly in multiline strings and comments (// Input
export const IAmIncredibleLongFunctionName = IAmAnotherFunctionName(<CRLF>
(_0: IAmIncredibleLongParameterType) => {<CRLF>
setTimeout(() => {<CRLF>
/*<CRLF>
Multiline comment<CRLF>
Multiline comment<CRLF>
Multiline comment<CRLF>
*/<CRLF>
console.log(<CRLF>
"Multiline string\<CRLF>
Multiline string\<CRLF>
Multiline string"<CRLF>
);<CRLF>
});<CRLF>
}<CRLF>
);<CRLF>
// Prettier 2.0.2
export const IAmIncredibleLongFunctionName = IAmAnotherFunctionName(<CRLF>
(_0: IAmIncredibleLongParameterType) => {<CRLF>
setTimeout(() => {<CRLF>
/*<LF>
Multiline comment<LF>
Multiline comment<LF>
Multiline comment<LF>
*/<CRLF>
console.log(<CRLF>
"Multiline string\<LF>
Multiline string\<LF>
Multiline string"<CRLF>
);<CRLF>
});<CRLF>
}<CRLF>
);<CRLF>
// Prettier 2.0.3: same as input
#7911 by @bakkot)
Fix bug with holes in array literals (// Input
new Test()
.test()
.test([, 0])
.test();
// Prettier 2.0.2
[error] in.js: TypeError: Cannot read property 'type' of null
// Prettier 2.0.3
new Test().test().test([, 0]).test();
TypeScript
#7869 by @sosukesuzuki)
Wrap TSAsExpression (// Input
const value = thisIsAnIdentifier as ThisIsAReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongInterface;
// Prettier 2.0.2
const value = thisIsAnIdentifier as ThisIsAReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongInterface;
// Prettier 2.0.3
const value =
thisIsAnIdentifier as
ThisIsAReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyReallyLongInterface;
Flow
#7892 by @sosukesuzuki)
Print dangling comments for inexact object type (// Input
type Foo = {
// comment
...,
};
// Prettier 2.0.2
Error: Comment "comment" was not printed. Please report this error!
// Prettier 2.0.3
type Foo = {
// comment
...,
};
#7923 by @DmitryGonchar)
Do not add comma for explicit inexact object with indexer property or no properties (// Input
type T = {
[string]: number,
...,
}
type T = {
// comment
...,
}
// Prettier 2.0.2
type T = {
[string]: number,
...,
}
type T = {
// comment
...,
}
// Prettier 2.0.3
type T = {
[string]: number,
...
}
type T = {
// comment
...
}
HTML
#7867 by @fisker)
Fix printing of ignored empty inline elements (<!-- Input-->
<!--prettier-ignore--><span></span>
<!--prettier-ignore--><span>_</span>
<!-- Prettier 2.0.2 (first output) -->
<!--prettier-ignore--><span
></span>
<!--prettier-ignore--><span>_</span>
<!-- Prettier 2.0.2 (second output) -->
<!--prettier-ignore--><span
></span>
<!--prettier-ignore--><span>_</span>
<!-- Prettier 2.0.3 -->
<!--prettier-ignore--><span></span>
<!--prettier-ignore--><span>_</span>
script
and style
inside tags with a colon in the name (#7916 by @fisker)
Format <!-- Input -->
<with:colon>
<script>function foo(){ return 1}</script>
<style>a {color: #f00}</style>
</with:colon>
<!-- Prettier 2.0.2 -->
<with:colon>
<script>
function foo(){ return 1}
</script>
<style>
a {color: #f00}
</style>
</with:colon>
<!-- Prettier 2.0.3 -->
<with:colon>
<script>
function foo() {
return 1;
}
</script>
<style>
a {
color: #f00;
}
</style>
</with:colon>
Other changes
- Workaround for
require.resolve
in prettier-vscode (#7951 by @thorn0) - Fix unstable Angular expression binding (#7924 by @fisker)
- Update
isSCSS
regex (#7922 by @fisker) - Fix formatting of empty files (#7921 by @fisker)
v2.0.2
2.0 regressions
#7842 by @thorn0)
JavaScript: Fix formatting of pseudo-elements and pseudo-classes in styled-components template literals (// Input
const Foo = styled.div`
${media.smallDown}::before {}
`;
// Prettier 2.0.0
const Foo = styled.div`
${media.smallDown}: : before{
}
`;
// Prettier 2.0.2
const Foo = styled.div`
${media.smallDown}::before {
}
`;
#7836 by @bakkot)
TypeScript: Avoid trailing commas on index signatures with only one parameter (TypeScript index signatures technically allow multiple parameters and trailing commas, but it's an error to have multiple parameters there, and Babel's TypeScript parser does not accept them. So Prettier now avoids putting a trailing comma there when you have only one parameter.
// Input
export type A = {
a?: {
[
x: string
]: typeof SomeLongLongLongTypeName[keyof typeof SomeLongLongLongTypeName];
} | null;
};
// Prettier 2.0.0
export type A = {
a?: {
[
x: string,
]: typeof SomeLongLongLongTypeName[keyof typeof SomeLongLongLongTypeName];
} | null;
};
// Prettier 2.0.2
export type A = {
a?: {
[
x: string
]: typeof SomeLongLongLongTypeName[keyof typeof SomeLongLongLongTypeName];
} | null;
};
#7847)
Revert "markdown: fix redundant leading spaces in markdown list" (See #7846
Other changes
prettier-ignore
in union types (#7798 by @thorn0)
TypeScript: Fix // Input
export type a =
// foo
| foo1&foo2
// prettier-ignore
| bar1&bar2
// baz
| baz1&baz2;
// Prettier 2.0.0
export type a =
// foo
| foo1&foo2
// prettier-ignore
// prettier-ignore
| (bar1 & bar2)
// baz
| (baz1 & baz2);
// Prettier 2.0.2
export type a =
// foo
| (foo1 & foo2)
// prettier-ignore
| bar1&bar2
// baz
| (baz1 & baz2);
v2.0.1
import-fresh
module (#7820 by @thorn0)
API: Fix build script to not corrupt
v2.0.0
Renovate configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot. The local configuration can be found in the SI Renovate Bot repository.