prettier/prettier
### [`v2.6.2`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#262)
[Compare Source](https://togithub.com/prettier/prettier/compare/2.6.1...2.6.2)
[diff](https://togithub.com/prettier/prettier/compare/2.6.1...2.6.2)
##### Fix LESS/SCSS format error ([#12536](https://togithub.com/prettier/prettier/pull/12536) by [@fisker](https://togithub.com/fisker))
```less
// Input
.background-gradient(@cut) {
background: linear-gradient(
to right,
@white 0%,
@white (@cut - 0.01%),
@portal-background @cut,
@portal-background 100%
);
}
// Prettier 2.6.1
TypeError: Cannot read properties of undefined (reading 'endOffset')
// Prettier 2.6.2
.background-gradient(@cut) {
background: linear-gradient(
to right,
@white 0%,
@white (@cut - 0.01%),
@portal-background @cut,
@portal-background 100%
);
}
```
##### Update `meriyah` to fix several bugs ([#12567](https://togithub.com/prettier/prettier/pull/12567) by [@fisker](https://togithub.com/fisker), fixes in [`meriyah`](https://togithub.com/meriyah/meriyah/) by [@3cp](https://togithub.com/3cp))
Fixes bugs when parsing following valid code:
```js
foo(await bar());
```
```js
const regex = /.*/ms;
```
```js
const element =
{/w/.test(s)}
;
```
```js
class A extends B {
#privateMethod() {
super.method();
}
}
```
### [`v2.6.1`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#261)
[Compare Source](https://togithub.com/prettier/prettier/compare/2.6.0...2.6.1)
[diff](https://togithub.com/prettier/prettier/compare/2.6.0...2.6.1)
##### Ignore `loglevel` when printing information ([#12477](https://togithub.com/prettier/prettier/pull/12477) by [@fisker](https://togithub.com/fisker))
```bash
```
### [`v2.6.0`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#Prettier-260)
[Compare Source](https://togithub.com/prettier/prettier/compare/2.5.1...2.6.0)
prettier --loglevel silent --find-config-path index.js
### [`v2.5.1`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#251)
[Compare Source](https://togithub.com/prettier/prettier/compare/2.5.0...2.5.1)
[diff](https://togithub.com/prettier/prettier/compare/2.5.0...2.5.1)
##### Improve formatting for empty tuple types ([#11884](https://togithub.com/prettier/prettier/pull/11884) by [@sosukesuzuki](https://togithub.com/sosukesuzuki))
```tsx
// Input
type Foo =
Foooooooooooooooooooooooooooooooooooooooooooooooooooooooooo extends []
? Foo3
: Foo4;
// Prettier 2.5.0
type Foo = Foooooooooooooooooooooooooooooooooooooooooooooooooooooooooo extends [
]
? Foo3
: Foo4;
// Prettier 2.5.0 (tailingCommma = all)
// Invalid TypeScript code
type Foo = Foooooooooooooooooooooooooooooooooooooooooooooooooooooooooo extends [
,
]
? Foo3
: Foo4;
// Prettier 2.5.1
type Foo =
Foooooooooooooooooooooooooooooooooooooooooooooooooooooooooo extends []
? Foo3
: Foo4;
```
##### Fix compatibility with Jest inline snapshot test ([#11892](https://togithub.com/prettier/prettier/pull/11892) by [@fisker](https://togithub.com/fisker))
A internal change in Prettier@v2.5.0 accidentally breaks the Jest inline snapshot test.
##### Support Glimmer's named blocks ([#11899](https://togithub.com/prettier/prettier/pull/11899) by [@duailibe](https://togithub.com/duailibe))
Prettier already supported this feature, but it converted empty named blocks to self-closing, which is not supported by the Glimmer compiler.
See: [Glimmer's named blocks](https://emberjs.github.io/rfcs/0460-yieldable-named-blocks.html).
```hbs
// Input
<:named>
// Prettier 2.5.0
<:named />
// Prettier 2.5.1
<:named>
```
### [`v2.5.0`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#250)
[Compare Source](https://togithub.com/prettier/prettier/compare/2.4.1...2.5.0)
[diff](https://togithub.com/prettier/prettier/compare/2.4.1...2.5.0)
π [Release Notes](https://prettier.io/blog/2021/11/25/2.5.0.html)
### [`v2.4.1`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#241)
[Compare Source](https://togithub.com/prettier/prettier/compare/2.4.0...2.4.1)
[diff](https://togithub.com/prettier/prettier/compare/2.4.0...2.4.1)
##### Fix wildcard syntax in `@forward` ([#11482](https://togithub.com/prettier/prettier/pull/11482)) ([#11487](https://togithub.com/prettier/prettier/pull/11487) by [@niksy](https://togithub.com/niksy))
```scss
// Input
@forward "library" as btn-*;
// Prettier 2.4.0
@forward "library" as btn- *;
// Prettier 2.4.1
@forward "library" as btn-*;
```
##### Add new CLI option `debug-print-ast` ([#11514](https://togithub.com/prettier/prettier/pull/11514) by [@sosukesuzuki](https://togithub.com/sosukesuzuki))
A new `--debug-print-ast` CLI flag for debugging.
### [`v2.4.0`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#240)
[Compare Source](https://togithub.com/prettier/prettier/compare/2.3.2...2.4.0)
[diff](https://togithub.com/prettier/prettier/compare/2.3.2...2.4.0)
π [Release Notes](https://prettier.io/blog/2021/09/09/2.4.0.html)
### [`v2.3.2`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#232)
[Compare Source](https://togithub.com/prettier/prettier/compare/2.3.1...2.3.2)
[diff](https://togithub.com/prettier/prettier/compare/2.3.1...2.3.2)
##### Fix failure on dir with trailing slash ([#11000](https://togithub.com/prettier/prettier/pull/11000) by [@fisker](https://togithub.com/fisker))
```console
$ ls
1.js 1.unknown
```
### [`v2.3.1`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#Prettier-231)
[Compare Source](https://togithub.com/prettier/prettier/compare/2.3.0...2.3.1)
$ prettier . -l
1.js
$ prettier ./ -l
\[error] No supported files were found in the directory: "./".
### [`v2.3.0`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#230)
[Compare Source](https://togithub.com/prettier/prettier/compare/2.2.1...2.3.0)
[diff](https://togithub.com/prettier/prettier/compare/2.2.1...2.3.0)
π [Release Notes](https://prettier.io/blog/2021/05/09/2.3.0.html)
### [`v2.2.1`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#221)
[Compare Source](https://togithub.com/prettier/prettier/compare/2.2.0...2.2.1)
[diff](https://togithub.com/prettier/prettier/compare/2.2.0...2.2.1)
##### Fix formatting for AssignmentExpression with ClassExpression ([#9741](https://togithub.com/prettier/prettier/pull/9741) by [@sosukesuzuki](https://togithub.com/sosukesuzuki))
```js
// 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`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#220)
[Compare Source](https://togithub.com/prettier/prettier/compare/2.1.2...2.2.0)
[diff](https://togithub.com/prettier/prettier/compare/2.1.2...2.2.0)
π [Release Notes](https://prettier.io/blog/2020/11/20/2.2.0.html)
### [`v2.1.2`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#212)
[Compare Source](https://togithub.com/prettier/prettier/compare/2.1.1...2.1.2)
[diff](https://togithub.com/prettier/prettier/compare/2.1.1...2.1.2)
##### Fix formatting for directives in fields ([#9116](https://togithub.com/prettier/prettier/pull/9116) by [@sosukesuzuki](https://togithub.com/sosukesuzuki))
```graphql
```
### [`v2.1.1`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#211)
[Compare Source](https://togithub.com/prettier/prettier/compare/2.1.0...2.1.1)
[diff](https://togithub.com/prettier/prettier/compare/2.1.0...2.1.1)
##### Fix format on html with frontMatter ([#9043](https://togithub.com/prettier/prettier/pull/9043) by [@fisker](https://togithub.com/fisker))
```html
---
layout: foo
---
Test abc.
TypeError: Cannot read property 'end' of undefined
...
---
layout: foo
---
Test abc.
```
##### Fix broken format for `...infer T` ([#9044](https://togithub.com/prettier/prettier/pull/9044) by [@fisker](https://togithub.com/fisker))
```typescript
// Input
type Tail = T extends [infer U, ...infer R] ? R : never;
// Prettier stable
type Tail = T extends [infer U, ...(infer R)] ? R : never;
// Prettier master
type Tail = T extends [infer U, ...infer R] ? R : never;
```
##### Fix format on `style[lang="sass"]` ([#9051](https://togithub.com/prettier/prettier/pull/9051) by [@fisker](https://togithub.com/fisker))
```jsx
```
##### Fix self-closing blocks and blocks with `src` attribute format ([#9052](https://togithub.com/prettier/prettier/pull/9052), [#9055](https://togithub.com/prettier/prettier/pull/9055) by [@fisker](https://togithub.com/fisker))
```vue
```
### [`v2.1.0`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#210)
[Compare Source](https://togithub.com/prettier/prettier/compare/2.0.5...2.1.0)
[diff](https://togithub.com/prettier/prettier/compare/2.0.5...2.1.0)
π [Release Notes](https://prettier.io/blog/2020/08/24/2.1.0.html)
### [`v2.0.5`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#205)
[Compare Source](https://togithub.com/prettier/prettier/compare/2.0.4...2.0.5)
[diff](https://togithub.com/prettier/prettier/compare/2.0.4...2.0.5)
##### Less: Fix formatting of `:extend` ([#7984](https://togithub.com/prettier/prettier/pull/7984) by [@fisker](https://togithub.com/fisker))
```less
// 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`](https://www.npmjs.com/package/resolve) if builtin `require.resolve` is overridden ([#8072](https://togithub.com/prettier/prettier/pull/8072) by [@fisker](https://togithub.com/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`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#204)
[Compare Source](https://togithub.com/prettier/prettier/compare/2.0.3...2.0.4)
[diff](https://togithub.com/prettier/prettier/compare/2.0.3...2.0.4)
##### Revert [#7869](https://togithub.com/prettier/prettier/pull/7869), "\[TypeScript] format TSAsExpression with same logic as BinaryExpression" ([#7958](https://togithub.com/prettier/prettier/pull/7958))
### [`v2.0.3`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#203)
[Compare Source](https://togithub.com/prettier/prettier/compare/2.0.2...2.0.3)
[diff](https://togithub.com/prettier/prettier/compare/2.0.2...2.0.3)
##### JavaScript
##### Fix `prettier-ignore` inside JSX ([#7877](https://togithub.com/prettier/prettier/pull/7877) by [@fisker](https://togithub.com/fisker))
```jsx
// Input
{
/* prettier-ignore */
x ? :
}
;
// Prettier 2.0.2 (first output)
{/* prettier-ignore */
x ? : }
;
// Prettier 2.0.2 (second output)
{/* prettier-ignore */ x ? : }
;
// Prettier 2.0.3
{
/* prettier-ignore */
x ? :
}
;
```
##### Fix regressions in styled-components template literals ([#7883](https://togithub.com/prettier/prettier/pull/7883) by [@thorn0](https://togithub.com/thorn0))
```js
// 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](https://togithub.com/prettier/prettier/pull/7891) by [@sidharthv96](https://togithub.com/sidharthv96))
// Input
export const IAmIncredibleLongFunctionName = IAmAnotherFunctionName(
(_0: IAmIncredibleLongParameterType) => {
setTimeout(() => {
/*
Multiline comment
Multiline comment
Multiline comment
*/
console.log(
"Multiline string\
Multiline string\
Multiline string"
);
});
}
);
// Prettier 2.0.2
export const IAmIncredibleLongFunctionName = IAmAnotherFunctionName(
(_0: IAmIncredibleLongParameterType) => {
setTimeout(() => {
/*
Multiline comment
Multiline comment
Multiline comment
*/
console.log(
"Multiline string\
Multiline string\
Multiline string"
);
});
}
);
// Prettier 2.0.3: same as input
##### Fix bug with holes in array literals ([#7911](https://togithub.com/prettier/prettier/pull/7911) by [@bakkot](https://togithub.com/bakkot))
```jsx
// 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](https://togithub.com/prettier/prettier/pull/7869) by [@sosukesuzuki](https://togithub.com/sosukesuzuki))
```ts
// 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](https://togithub.com/prettier/prettier/pull/7892) by [@sosukesuzuki](https://togithub.com/sosukesuzuki))
```js
// 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](https://togithub.com/prettier/prettier/pull/7923) by [@DmitryGonchar](https://togithub.com/DmitryGonchar))
```jsx
// 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](https://togithub.com/prettier/prettier/pull/7867) by [@fisker](https://togithub.com/fisker))
```html
____
```
##### Format `script` and `style` inside tags with a colon in the name ([#7916](https://togithub.com/prettier/prettier/pull/7916) by [@fisker](https://togithub.com/fisker))
```html
```
##### Other changes
- Workaround for `require.resolve` in prettier-vscode ([#7951](https://togithub.com/prettier/prettier/pull/7951) by [@thorn0](https://togithub.com/thorn0))
- Fix unstable Angular expression binding ([#7924](https://togithub.com/prettier/prettier/pull/7924) by [@fisker](https://togithub.com/fisker))
- Update `isSCSS` regex ([#7922](https://togithub.com/prettier/prettier/pull/7922) by [@fisker](https://togithub.com/fisker))
- Fix formatting of empty files ([#7921](https://togithub.com/prettier/prettier/pull/7921) by [@fisker](https://togithub.com/fisker))
Configuration
π Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
π¦ Automerge: Disabled by config. Please merge this manually once you are satisfied.
β» 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, click this checkbox.
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
2.0.2
->2.6.2
Release Notes
prettier/prettier
### [`v2.6.2`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#262) [Compare Source](https://togithub.com/prettier/prettier/compare/2.6.1...2.6.2) [diff](https://togithub.com/prettier/prettier/compare/2.6.1...2.6.2) ##### Fix LESS/SCSS format error ([#12536](https://togithub.com/prettier/prettier/pull/12536) by [@fisker](https://togithub.com/fisker)) ```less // Input .background-gradient(@cut) { background: linear-gradient( to right, @white 0%, @white (@cut - 0.01%), @portal-background @cut, @portal-background 100% ); } // Prettier 2.6.1 TypeError: Cannot read properties of undefined (reading 'endOffset') // Prettier 2.6.2 .background-gradient(@cut) { background: linear-gradient( to right, @white 0%, @white (@cut - 0.01%), @portal-background @cut, @portal-background 100% ); } ``` ##### Update `meriyah` to fix several bugs ([#12567](https://togithub.com/prettier/prettier/pull/12567) by [@fisker](https://togithub.com/fisker), fixes in [`meriyah`](https://togithub.com/meriyah/meriyah/) by [@3cp](https://togithub.com/3cp)) Fixes bugs when parsing following valid code: ```js foo(await bar()); ``` ```js const regex = /.*/ms; ``` ```js const element ={/w/.test(s)}
; ``` ```js class A extends B { #privateMethod() { super.method(); } } ``` ### [`v2.6.1`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#261) [Compare Source](https://togithub.com/prettier/prettier/compare/2.6.0...2.6.1) [diff](https://togithub.com/prettier/prettier/compare/2.6.0...2.6.1) ##### Ignore `loglevel` when printing information ([#12477](https://togithub.com/prettier/prettier/pull/12477) by [@fisker](https://togithub.com/fisker)) ```bash ``` ### [`v2.6.0`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#Prettier-260) [Compare Source](https://togithub.com/prettier/prettier/compare/2.5.1...2.6.0) prettier --loglevel silent --find-config-path index.js ### [`v2.5.1`](https://togithub.com/prettier/prettier/blob/HEAD/CHANGELOG.md#251) [Compare Source](https://togithub.com/prettier/prettier/compare/2.5.0...2.5.1) [diff](https://togithub.com/prettier/prettier/compare/2.5.0...2.5.1) ##### Improve formatting for empty tuple types ([#11884](https://togithub.com/prettier/prettier/pull/11884) by [@sosukesuzuki](https://togithub.com/sosukesuzuki)) ```tsx // Input type Foo = Foooooooooooooooooooooooooooooooooooooooooooooooooooooooooo extends [] ? Foo3 : Foo4; // Prettier 2.5.0 type Foo = Foooooooooooooooooooooooooooooooooooooooooooooooooooooooooo extends [ ] ? Foo3 : Foo4; // Prettier 2.5.0 (tailingCommma = all) // Invalid TypeScript code type Foo = Foooooooooooooooooooooooooooooooooooooooooooooooooooooooooo extends [ , ] ? Foo3 : Foo4; // Prettier 2.5.1 type Foo = Foooooooooooooooooooooooooooooooooooooooooooooooooooooooooo extends [] ? Foo3 : Foo4; ``` ##### Fix compatibility with Jest inline snapshot test ([#11892](https://togithub.com/prettier/prettier/pull/11892) by [@fisker](https://togithub.com/fisker)) A internal change in Prettier@v2.5.0 accidentally breaks the Jest inline snapshot test. ##### Support Glimmer's named blocks ([#11899](https://togithub.com/prettier/prettier/pull/11899) by [@duailibe](https://togithub.com/duailibe)) Prettier already supported this feature, but it converted empty named blocks to self-closing, which is not supported by the Glimmer compiler. See: [Glimmer's named blocks](https://emberjs.github.io/rfcs/0460-yieldable-named-blocks.html). ```hbs // InputConfiguration
π Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
π¦ Automerge: Disabled by config. Please merge this manually once you are satisfied.
β» 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.
This PR has been generated by Mend Renovate. View repository job log here.