prettier/prettier (prettier)
### [`v3.4.2`](https://redirect.github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#342)
[Compare Source](https://redirect.github.com/prettier/prettier/compare/3.4.1...3.4.2)
[diff](https://redirect.github.com/prettier/prettier/compare/3.4.1...3.4.2)
##### Treat U+30A0 & U+30FB in Katakana Block as CJK ([#16796](https://redirect.github.com/prettier/prettier/pull/16796) by [@tats-u](https://redirect.github.com/tats-u))
Prettier doesn't treat U+30A0 & U+30FB as Japanese. U+30FB is commonly used in Japanese to represent the delimitation of first and last names of non-Japanese people or “and”. The following “C言語・C++・Go・Rust” means “C language & C++ & Go & Rust” in Japanese.
```md
C言
語
・
C++
・
Go
・
Rust
C言語・ C++ ・ Go ・ Rust
C言語・C++・Go・Rust
```
U+30A0 can be used as the replacement of the `-` in non-Japanese names (e.g. “Saint-Saëns” (Charles Camille Saint-Saëns) can be represented as “サン゠サーンス” in Japanese), but substituted by ASCII hyphen (U+002D) or U+FF1D (full width hyphen) in many cases (e.g. “サン=サーンス” or “サン=サーンス”).
##### Fix comments print on class methods with decorators ([#16891](https://redirect.github.com/prettier/prettier/pull/16891) by [@fisker](https://redirect.github.com/fisker))
```jsx
// Input
class A {
@decorator
/**
* The method description
*
*/
async method(foo: Foo, bar: Bar) {
console.log(foo);
}
}
// Prettier 3.4.1
class A {
@decorator
async /**
* The method description
*
*/
method(foo: Foo, bar: Bar) {
console.log(foo);
}
}
// Prettier 3.4.2
class A {
@decorator
/**
* The method description
*
*/
async method(foo: Foo, bar: Bar) {
console.log(foo);
}
}
```
##### Fix non-idempotent formatting ([#16899](https://redirect.github.com/prettier/prettier/pull/16899) by [@seiyab](https://redirect.github.com/seiyab))
This bug fix is not language-specific. You may see similar change in any languages. This fixes regression in 3.4.0 so change caused by it should yield same formatting as 3.3.3.
```jsx
// Input
;
```
### [`v3.4.1`](https://redirect.github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#341)
[Compare Source](https://redirect.github.com/prettier/prettier/compare/3.4.0...3.4.1)
[diff](https://redirect.github.com/prettier/prettier/compare/3.4.0...3.4.1)
##### Remove unnecessary parentheses around assignment in `v-on` ([#16887](https://redirect.github.com/prettier/prettier/pull/16887) by [@fisker](https://redirect.github.com/fisker))
```vue
```
### [`v3.4.0`](https://redirect.github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#340)
[Compare Source](https://redirect.github.com/prettier/prettier/compare/3.3.3...3.4.0)
[diff](https://redirect.github.com/prettier/prettier/compare/3.3.3...3.4.0)
🔗 [Release Notes](https://prettier.io/blog/2024/11/26/3.4.0.html)
### [`v3.3.3`](https://redirect.github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#333)
[Compare Source](https://redirect.github.com/prettier/prettier/compare/3.3.2...3.3.3)
[diff](https://redirect.github.com/prettier/prettier/compare/3.3.2...3.3.3)
##### Add parentheses for nullish coalescing in ternary ([#16391](https://redirect.github.com/prettier/prettier/pull/16391) by [@cdignam-segment](https://redirect.github.com/cdignam-segment))
This change adds clarity to operator precedence.
```js
// Input
foo ? bar ?? foo : baz;
foo ?? bar ? a : b;
a ? b : foo ?? bar;
// Prettier 3.3.2
foo ? bar ?? foo : baz;
foo ?? bar ? a : b;
a ? b : foo ?? bar;
// Prettier 3.3.3
foo ? (bar ?? foo) : baz;
(foo ?? bar) ? a : b;
a ? b : (foo ?? bar);
```
##### Add parentheses for decorator expressions ([#16458](https://redirect.github.com/prettier/prettier/pull/16458) by [@y-schneider](https://redirect.github.com/y-schneider))
Prevent parentheses around member expressions or tagged template literals from being removed to follow the stricter parsing rules of TypeScript 5.5.
```ts
// Input
@(foo`tagged template`)
class X {}
// Prettier 3.3.2
@foo`tagged template`
class X {}
// Prettier 3.3.3
@(foo`tagged template`)
class X {}
```
##### Support `@let` declaration syntax ([#16474](https://redirect.github.com/prettier/prettier/pull/16474) by [@sosukesuzuki](https://redirect.github.com/sosukesuzuki))
Adds support for Angular v18 `@let` declaration syntax.
Please see the following code example. The `@let` declaration allows you to define local variables within the template:
```html
@let name = 'Frodo';
Dashboard for {{name}}
Hello, {{name}}
```
For more details, please refer to the excellent blog post by the Angular Team: [Introducing @let in Angular](https://blog.angular.dev/introducing-let-in-angular-686f9f383f0f).
We also appreciate the Angular Team for kindly answering our questions to implement this feature.
### [`v3.3.2`](https://redirect.github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#332)
[Compare Source](https://redirect.github.com/prettier/prettier/compare/3.3.1...3.3.2)
[diff](https://redirect.github.com/prettier/prettier/compare/3.3.1...3.3.2)
##### Fix handlebars path expressions starts with `@` ([#16358](https://redirect.github.com/prettier/prettier/pull/16358) by [@Princeyadav05](https://redirect.github.com/Princeyadav05))
```hbs
{{! Input }}
{{@x.y.z}}
{{! Prettier 3.3.1 }}
{{@x}}
{{! Prettier 3.3.2 }}
{{@x.y.z}}
```
### [`v3.3.1`](https://redirect.github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#331)
[Compare Source](https://redirect.github.com/prettier/prettier/compare/3.3.0...3.3.1)
[diff](https://redirect.github.com/prettier/prettier/compare/3.3.0...3.3.1)
##### Preserve empty lines in front matter ([#16347](https://redirect.github.com/prettier/prettier/pull/16347) by [@fisker](https://redirect.github.com/fisker))
```markdown
---
foo:
- bar1
- bar2
- bar3
---
Markdown
---
foo:
- bar1
- bar2
- bar3
---
Markdown
---
foo:
- bar1
- bar2
- bar3
---
Markdown
```
##### Preserve explicit language in front matter ([#16348](https://redirect.github.com/prettier/prettier/pull/16348) by [@fisker](https://redirect.github.com/fisker))
```markdown
---yaml
title: Hello
slug: home
---
---
title: Hello
slug: home
---
---yaml
title: Hello
slug: home
---
```
##### Avoid line breaks in import attributes ([#16349](https://redirect.github.com/prettier/prettier/pull/16349) by [@fisker](https://redirect.github.com/fisker))
```jsx
// Input
import something from "./some-very-very-very-very-very-very-very-very-long-path.json" with { type: "json" };
// Prettier 3.3.0
import something from "./some-very-very-very-very-very-very-very-very-long-path.json" with { type:
"json" };
// Prettier 3.3.1
import something from "./some-very-very-very-very-very-very-very-very-long-path.json" with { type: "json" };
```
### [`v3.3.0`](https://redirect.github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#330)
[Compare Source](https://redirect.github.com/prettier/prettier/compare/3.2.5...3.3.0)
[diff](https://redirect.github.com/prettier/prettier/compare/3.2.5...3.3.0)
🔗 [Release Notes](https://prettier.io/blog/2024/06/01/3.3.0.html)
Configuration
📅 Schedule: Branch creation - " 0-3 * 1" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, 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 contains the following updates:
3.2.5
->3.4.2
Release Notes
prettier/prettier (prettier)
### [`v3.4.2`](https://redirect.github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#342) [Compare Source](https://redirect.github.com/prettier/prettier/compare/3.4.1...3.4.2) [diff](https://redirect.github.com/prettier/prettier/compare/3.4.1...3.4.2) ##### Treat U+30A0 & U+30FB in Katakana Block as CJK ([#16796](https://redirect.github.com/prettier/prettier/pull/16796) by [@tats-u](https://redirect.github.com/tats-u)) Prettier doesn't treat U+30A0 & U+30FB as Japanese. U+30FB is commonly used in Japanese to represent the delimitation of first and last names of non-Japanese people or “and”. The following “C言語・C++・Go・Rust” means “C language & C++ & Go & Rust” in Japanese. ```md C言 語 ・ C++ ・ Go ・ Rust C言語・ C++ ・ Go ・ Rust C言語・C++・Go・Rust ``` U+30A0 can be used as the replacement of the `-` in non-Japanese names (e.g. “Saint-Saëns” (Charles Camille Saint-Saëns) can be represented as “サン゠サーンス” in Japanese), but substituted by ASCII hyphen (U+002D) or U+FF1D (full width hyphen) in many cases (e.g. “サン=サーンス” or “サン=サーンス”). ##### Fix comments print on class methods with decorators ([#16891](https://redirect.github.com/prettier/prettier/pull/16891) by [@fisker](https://redirect.github.com/fisker)) ```jsx // Input class A { @decorator /** * The method description * */ async method(foo: Foo, bar: Bar) { console.log(foo); } } // Prettier 3.4.1 class A { @decorator async /** * The method description * */ method(foo: Foo, bar: Bar) { console.log(foo); } } // Prettier 3.4.2 class A { @decorator /** * The method description * */ async method(foo: Foo, bar: Bar) { console.log(foo); } } ``` ##### Fix non-idempotent formatting ([#16899](https://redirect.github.com/prettier/prettier/pull/16899) by [@seiyab](https://redirect.github.com/seiyab)) This bug fix is not language-specific. You may see similar change in any languages. This fixes regression in 3.4.0 so change caused by it should yield same formatting as 3.3.3. ```jsx // InputDashboard for {{name}}
Hello, {{name}} ``` For more details, please refer to the excellent blog post by the Angular Team: [Introducing @let in Angular](https://blog.angular.dev/introducing-let-in-angular-686f9f383f0f). We also appreciate the Angular Team for kindly answering our questions to implement this feature. ### [`v3.3.2`](https://redirect.github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#332) [Compare Source](https://redirect.github.com/prettier/prettier/compare/3.3.1...3.3.2) [diff](https://redirect.github.com/prettier/prettier/compare/3.3.1...3.3.2) ##### Fix handlebars path expressions starts with `@` ([#16358](https://redirect.github.com/prettier/prettier/pull/16358) by [@Princeyadav05](https://redirect.github.com/Princeyadav05)) ```hbs {{! Input }}Configuration
📅 Schedule: Branch creation - " 0-3 * 1" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.