nx-packaged
nx-packaged copied to clipboard
build: update prettier to version 2.1.2
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| prettier (source) | devDependencies | major | 1.16.4 -> 2.1.2 |
Release Notes
prettier/prettier
v2.1.2
Fix formatting for directives in fields (#9116 by @sosukesuzuki)
v2.1.1
Fix format on html with frontMatter (#9043 by @fisker)
<!-- 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>.
Fix broken format for ...infer T (#9044 by @fisker)
// 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;
Fix format on style[lang="sass"] (#9051 by @fisker)
<!-- 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>
Fix self-closing blocks and blocks with src attribute format (#9052, #9055 by @fisker)
<!-- 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
Less: Fix formatting of :extend (#7984 by @fisker)
// 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
);
}
Editor integration: Use resolve if builtin require.resolve is overridden (#8072 by @fisker)
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 PRETTIER_FALLBACK_RESOLVE environment variable to true.
v2.0.4
Revert #7869, "[TypeScript] format TSAsExpression with same logic as BinaryExpression" (#7958)
v2.0.3
JavaScript
Fix prettier-ignore inside JSX (#7877 by @fisker)
// 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>;
Fix regressions in styled-components template literals (#7883 by @thorn0)
// 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;
}
`;
Fix: line endings were not always converted properly in multiline strings and comments (#7891 by @sidharthv96)
// 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
Fix bug with holes in array literals (#7911 by @bakkot)
// 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
Wrap TSAsExpression (#7869 by @sosukesuzuki)
// 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
Print dangling comments for inexact object type (#7892 by @sosukesuzuki)
// 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
...,
};
Do not add comma for explicit inexact object with indexer property or no properties (#7923 by @DmitryGonchar)
// 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
Fix printing of ignored empty inline elements (#7867 by @fisker)
<!-- 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>
Format script and style inside tags with a colon in the name (#7916 by @fisker)
<!-- 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.resolvein prettier-vscode (#7951 by @thorn0) - Fix unstable Angular expression binding (#7924 by @fisker)
- Update
isSCSSregex (#7922 by @fisker) - Fix formatting of empty files (#7921 by @fisker)
v2.0.2
2.0 regressions
JavaScript: Fix formatting of pseudo-elements and pseudo-classes in styled-components template literals (#7842 by @thorn0)
// 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 {
}
`;
TypeScript: Avoid trailing commas on index signatures with only one parameter (#7836 by @bakkot)
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;
};
Revert "markdown: fix redundant leading spaces in markdown list" (#7847)
See #7846
Other changes
TypeScript: Fix prettier-ignore in union types (#7798 by @thorn0)
// 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
API: Fix build script to not corrupt import-fresh module (#7820 by @thorn0)
v2.0.0
v1.19.1
CLI
Fix --stdin regression in 1.19.0 (#6894 by @lydell)
// Prettier stable
$ echo "test" | prettier --stdin --parser babel
[error] regeneratorRuntime is not defined
// Prettier master
$ echo "test" | prettier --stdin --parser babel
test;
TypeScript
Fix formatting of union type as arrow function return type (#6896 by @thorn0)
// Input
export const getVehicleDescriptor = async (
vehicleId: string,
): Promise<Collections.Parts.PrintedCircuitBoardAssembly['attributes'] | undefined> => {}
// Prettier stable
export const getVehicleDescriptor = async (
vehicleId: string
): Promise<| Collections.Parts.PrintedCircuitBoardAssembly["attributes"]
| undefined> => {};
// Prettier master
export const getVehicleDescriptor = async (
vehicleId: string
): Promise<
Collections.Parts.PrintedCircuitBoardAssembly["attributes"] | undefined
> => {};
v1.19.0
v1.18.2
-
TypeScript: only add trailing commas in tuples for
--trailing-comma=all([#6199] by @duailibe)In Prettier 1.18 we added trailing commas in tuples when
--trailing-comma=all, but it was also adding for--trailing-comma=es5.[#6199]: #6199
v1.18.1
-
TypeScript: Add trailing comma in tsx, only for arrow function (#6190 by @sosukesuzuki)
Prettier inserts a trailing comma to single type parameter for arrow functions in tsx, since v 1.18. But, this feature inserts a trailing comma to type parameter for besides arrow functions too (e.g, function , interface). This change fix it.
// Input interface Interface1<T> { one: "one"; } function function1<T>() { return "one"; } // Output (Prettier 1.18.0) interface Interface1<T,> { one: "one"; } function function1<T,>() { return "one"; } // Output (Prettier 1.18.1) interface Interface1<T> { one: "one"; } function function1<T>() { return "one"; } -
Config: Match dotfiles in config overrides (#6194 by @duailibe)
When using
overridesin the config file, Prettier was not matching dotfiles (files that start with.). This was fixed in 1.18.1
v1.18.0
v1.17.1
-
Range: Fix ranged formatting not using the correct line width (#6050 by @mathieulj)
// Input function f() { if (true) { call("this line is 79 chars", "long", "it should", "stay as single line"); } } // Output (Prettier 1.17.0 run with --range-start 30 --range-end 110) function f() { if (true) { call( "this line is 79 chars", "long", "it should", "stay as single line" ); } } // Output (Prettier 1.17.0 run without range) function f() { if (true) { call("this line is 79 chars", "long", "it should", "stay as single line"); } } // Output (Prettier 1.17.1 with and without range) function f() { if (true) { call("this line is 79 chars", "long", "it should", "stay as single line"); } } -
JavaScript: Fix closure compiler typecasts ([#5947] by @jridgewell)
If a closing parenthesis follows after a typecast in an inner expression, the typecast would wrap everything to the that following parenthesis.
// Input test(/** @​type {!Array} */(arrOrString).length); test(/** @​type {!Array} */((arrOrString)).length + 1); // Output (Prettier 1.17.0) test(/** @​type {!Array} */ (arrOrString.length)); test(/** @​type {!Array} */ (arrOrString.length + 1)); // Output (Prettier 1.17.1) test(/** @​type {!Array} */ (arrOrString).length); test(/** @​type {!Array} */ (arrOrString).length + 1); -
JavaScript: respect parenthesis around optional chaining before await (#6087 by @evilebottnawi)
// Input async function myFunction() { var x = (await foo.bar.blah)?.hi; } // Output (Prettier 1.17.0) async function myFunction() { var x = await foo.bar.blah?.hi; } // Output (Prettier 1.17.1) async function myFunction() { var x = (await foo.bar.blah)?.hi; } -
Handlebars: Fix {{else}}{{#if}} into {{else if}} merging (#6080 by @dcyriller)
// Input {{#if a}} a {{else}} {{#if c}} c {{/if}} e {{/if}} // Output (Prettier 1.17.0) {{#if a}} a {{else if c}} c e {{/if}} // Output (Prettier 1.17.1) Code Sample {{#if a}} a {{else}} {{#if c}} c {{/if}} e {{/if}} -
JavaScript: Improved multiline closure compiler typecast comment detection (#6070 by @yangsu)
Previously, multiline closure compiler typecast comments with lines that start with * weren't flagged correctly and the subsequent parenthesis were stripped. Prettier 1.17.1 fixes this issue.
// Input const style =/** * @​type {{ * width: number, * }} */({ width, }); // Output (Prettier 1.17.0) const style =/** * @​type {{ * width: number, * }} */ { width, }; // Output (Prettier 1.17.1) const style =/** * @​type {{ * width: number, * }} */({ width, });
v1.17.0
Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
:no_bell: 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 WhiteSource Renovate. View repository job log here.