chore(deps): update dependency prettier to v2.8.8
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
prettier (source) | devDependencies | patch | 2.8.3 -> 2.8.8 |
Release Notes
prettier/prettier
v2.8.8
This version is a republished version of v2.8.7. A bad version was accidentally published and it can't be unpublished, apologies for the churn.
v2.8.7
#14584 by @fisker)
Allow multiple decorators on same getter/setter (// Input
class A {
@​decorator()
get foo () {}
@​decorator()
set foo (value) {}
}
// Prettier 2.8.6
SyntaxError: Decorators cannot be applied to multiple get/set accessors of the same name. (5:3)
3 | get foo () {}
4 |
> 5 | @​decorator()
| ^^^^^^^^^^^^
6 | set foo (value) {}
7 | }
// Prettier 2.8.7
class A {
@​decorator()
get foo() {}
@​decorator()
set foo(value) {}
}
v2.8.6
#14548 by @fisker)
Allow decorators on private members and class expressions (// Input
class A {
@​decorator()
#privateMethod () {}
}
// Prettier 2.8.5
SyntaxError: Decorators are not valid here. (2:3)
1 | class A {
> 2 | @​decorator()
| ^^^^^^^^^^^^
3 | #privateMethod () {}
4 | }
// Prettier 2.8.6
class A {
@​decorator()
#privateMethod() {}
}
v2.8.5
#14391 by @fisker, #13819 by @fisker, @sosukesuzuki)
Support TypeScript 5.0 (TypeScript 5.0 introduces two new syntactic features:
-
const
modifiers for type parameters -
export type *
declarations
#14393 by @fisker)
Add missing parentheses for decorator (// Input
class Person {
@​(myDecoratorArray[0])
greet() {}
}
// Prettier 2.8.4
class Person {
@​myDecoratorArray[0]
greet() {}
}
// Prettier 2.8.5
class Person {
@​(myDecoratorArray[0])
greet() {}
}
TypeofTypeAnnotation
to improve readability (#14458 by @fisker)
Add parentheses for // Input
type A = (typeof node.children)[];
// Prettier 2.8.4
type A = typeof node.children[];
// Prettier 2.8.5
type A = (typeof node.children)[];
max_line_length=off
when parsing .editorconfig
(#14516 by @josephfrazier)
Support If an .editorconfig file is in your project and it sets max_line_length=off
for the file you're formatting,
it will be interpreted as a printWidth
of Infinity
rather than being ignored
(which previously resulted in the default printWidth
of 80 being applied, if not overridden by Prettier-specific configuration).
<!-- Input -->
<div className='HelloWorld' title={`You are visitor number ${ num }`} onMouseOver={onMouseOver}/>
<!-- Prettier 2.8.4 -->
<div
className="HelloWorld"
title={`You are visitor number ${num}`}
onMouseOver={onMouseOver}
/>;
<!-- Prettier 2.8.5 -->
<div className="HelloWorld" title={`You are visitor number ${num}`} onMouseOver={onMouseOver} />;
v2.8.4
readonly
(#13427 by @thorn0, @sosukesuzuki)
Fix leading comments in mapped types with // Input
type Type = {
// comment
readonly [key in Foo];
};
// Prettier 2.8.3
type Type = {
readonly // comment
[key in Foo];
};
// Prettier 2.8.4
type Type = {
// comment
readonly [key in Foo];
};
#14067 by @jamescdavis)
Group params in opening block statements (This is a follow-up to #13930 to establish wrapping consistency between opening block statements and else blocks by grouping params in opening blocks. This causes params to break to a new line together and not be split across lines unless the length of params exceeds the print width. This also updates the else block wrapping to behave exactly the same as opening blocks.
{{! Input }}
{{#block param param param param param param param param param param as |blockParam|}}
Hello
{{else block param param param param param param param param param param as |blockParam|}}
There
{{/block}}
{{! Prettier 2.8.3 }}
{{#block
param
param
param
param
param
param
param
param
param
param
as |blockParam|
}}
Hello
{{else block param
param
param
param
param
param
param
param
param
param}}
There
{{/block}}
{{! Prettier 2.8.4 }}
{{#block
param param param param param param param param param param
as |blockParam|
}}
Hello
{{else block
param param param param param param param param param param
as |blockParam|
}}
There
{{/block}}
.sl/
(#14206 by @bolinfest)
Ignore files in In Sapling SCM, .sl/
is the folder where it stores its state, analogous to .git/
in Git. It should be ignored in Prettier like the other SCM folders.
@satisfies
in Closure-style type casts (#14262 by @fisker)
Recognize // Input
const a = /** @​satisfies {Record<string, string>} */ ({hello: 1337});
const b = /** @​type {Record<string, string>} */ ({hello: 1337});
// Prettier 2.8.3
const a = /** @​satisfies {Record<string, string>} */ { hello: 1337 };
const b = /** @​type {Record<string, string>} */ ({ hello: 1337 });
// Prettier 2.8.4
const a = /** @​satisfies {Record<string, string>} */ ({hello: 1337});
const b = /** @​type {Record<string, string>} */ ({hello: 1337});
extends
(#14279 by @fisker)
Fix parens in inferred function return types with // Input
type Foo<T> = T extends ((a) => a is infer R extends string) ? R : never;
// Prettier 2.8.3 (First format)
type Foo<T> = T extends (a) => a is infer R extends string ? R : never;
// Prettier 2.8.3 (Second format)
SyntaxError: '?' expected.
// Prettier 2.8.4
type Foo<T> = T extends ((a) => a is infer R extends string) ? R : never;
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.