Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Jan 12, 2024

This PR contains the following updates:

Package Change Age Confidence
prettier (source) 3.1.1 β†’ 3.8.0 age confidence

Release Notes

prettier/prettier (prettier)

v3.8.0

Compare Source

diff

πŸ”— Release note

v3.7.4

Compare Source

diff

LWC: Avoid quote around interpolations (#​18383 by @​kovsu)
<!-- Input -->
<div foo={bar}>   </div>

<!-- Prettier 3.7.3 (--embedded-language-formatting off) -->
<div foo="{bar}"></div>

<!-- Prettier 3.7.4 (--embedded-language-formatting off) -->
<div foo={bar}></div>
TypeScript: Fix comment inside union type gets duplicated (#​18393 by @​fisker)
// Input
type Foo = (/** comment */ a | b) | c;

// Prettier 3.7.3
type Foo = /** comment */ (/** comment */ a | b) | c;

// Prettier 3.7.4
type Foo = /** comment */ (a | b) | c;
TypeScript: Fix unstable comment print in union type comments (#​18395 by @​fisker)
// Input
type X = (A | B) & (
  // comment
  A | B
);

// Prettier 3.7.3 (first format)
type X = (A | B) &
  (// comment
  A | B);

// Prettier 3.7.3 (second format)
type X = (
  | A
  | B // comment
) &
  (A | B);

// Prettier 3.7.4
type X = (A | B) &
  // comment
  (A | B);

v3.7.3

Compare Source

diff

API: Fix prettier.getFileInfo() change that breaks VSCode extension (#​18375 by @​fisker)

An internal refactor accidentally broke the VSCode extension plugin loading.

v3.7.2

Compare Source

diff

JavaScript: Fix string print when switching quotes (#​18351 by @​fisker)
// Input
console.log("A descriptor\\'s .kind must be \"method\" or \"field\".")

// Prettier 3.7.1
console.log('A descriptor\\'s .kind must be "method" or "field".');

// Prettier 3.7.2
console.log('A descriptor\\\'s .kind must be "method" or "field".');
JavaScript: Preserve quote for embedded HTML attribute values (#​18352 by @​kovsu)
// Input
const html = /* HTML */ ` <div class="${styles.banner}"></div> `;

// Prettier 3.7.1
const html = /* HTML */ ` <div class=${styles.banner}></div> `;

// Prettier 3.7.2
const html = /* HTML */ ` <div class="${styles.banner}"></div> `;
TypeScript: Fix comment in empty type literal (#​18364 by @​fisker)
// Input
export type XXX = {
  // tbd
};

// Prettier 3.7.1
export type XXX = { // tbd };

// Prettier 3.7.2
export type XXX = {
  // tbd
};

v3.7.1

Compare Source

diff

API: Fix performance regression in doc printer (#​18342 by @​fisker)

Prettier 3.7.1 can be very slow when formatting big files, the regression has been fixed.

v3.7.0

Compare Source

diff

πŸ”— Release Notes

v3.6.2

Compare Source

diff

Markdown: Add missing blank line around code block (#​17675 by @​fisker)
<!-- Input -->
1. Some text, and code block below, with newline after code block

   ```yaml
   ---
   foo: bar
   ```

   1. Another
   2. List

<!-- Prettier 3.6.1 -->
1. Some text, and code block below, with newline after code block

   ```yaml
   ---
   foo: bar
   ```
   1. Another
   2. List

<!-- Prettier 3.6.2 -->
1. Some text, and code block below, with newline after code block

   ```yaml
   ---
   foo: bar
   ```

   1. Another
   2. List

v3.6.1

Compare Source

diff

TypeScript: Allow const without initializer (#​17650, #​17654 by @​fisker)
// Input
export const version: string;

// Prettier 3.6.0 (--parser=babel-ts)
SyntaxError: Unexpected token (1:21)
> 1 | export const version: string;
    |                     ^

// Prettier 3.6.0 (--parser=oxc-ts)
SyntaxError: Missing initializer in const declaration (1:14)
> 1 | export const version: string;
    |              ^^^^^^^^^^^^^^^

// Prettier 3.6.1
export const version: string;
Miscellaneous: Avoid closing files multiple times (#​17665 by @​43081j)

When reading a file to infer the interpreter from a shebang, we use the
n-readlines library to read the first line in order to get the shebang.

This library closes files when it reaches EOF, and we later try close the same
files again. We now close files only if n-readlines did not already close
them.

v3.6.0

Compare Source

diff

πŸ”— Release Notes

v3.5.3

Compare Source

diff

Flow: Fix missing parentheses in ConditionalTypeAnnotation (#​17196 by @​fisker)
// Input
type T<U> = 'a' | ('b' extends U ? 'c' : empty);
type T<U> = 'a' & ('b' extends U ? 'c' : empty);

// Prettier 3.5.2
type T<U> = "a" | "b" extends U ? "c" : empty;
type T<U> = "a" & "b" extends U ? "c" : empty;

// Prettier 3.5.3
type T<U> = "a" | ("b" extends U ? "c" : empty);
type T<U> = "a" & ("b" extends U ? "c" : empty);

v3.5.2

Compare Source

diff

Remove module-sync condition (#​17156 by @​fisker)

In Prettier 3.5.0, we added module-sync condition to package.json, so that require("prettier") can use ESM version, but turns out it doesn't work if CommonJS and ESM plugins both imports builtin plugins. To solve this problem, we decide simply remove the module-sync condition, so require("prettier") will still use the CommonJS version, we'll revisit until require(ESM) feature is more stable.

v3.5.1

Compare Source

diff

Fix CLI crash when cache for old version exists (#​17100 by @​sosukesuzuki)

Prettier 3.5 uses a different cache format than previous versions, Prettier 3.5.0 crashes when reading existing cache file, Prettier 3.5.1 fixed the problem.

Support dockercompose and github-actions-workflow in VSCode (#​17101 by @​remcohaszing)

Prettier now supports the dockercompose and github-actions-workflow languages in Visual Studio Code.

v3.5.0

Compare Source

diff

πŸ”— Release Notes

v3.4.2

Compare Source

diff

Treat U+30A0 & U+30FB in Katakana Block as CJK (#​16796 by @​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.

<!-- Input (--prose-wrap=never) -->

C言
θͺž
・
C++
・
Go
・
Rust

<!-- Prettier 3.4.1 -->
C言θͺžγƒ» C++ ・ Go ・ Rust

<!-- Prettier 3.4.2 -->
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 by @​fisker)
// Input
class A {
  @&#8203;decorator
  /** 
   * The method description
   *
  */
  async method(foo: Foo, bar: Bar) {
    console.log(foo);
  }
}

// Prettier 3.4.1
class A {
  @&#8203;decorator
  async /**
   * The method description
   *
   */
  method(foo: Foo, bar: Bar) {
    console.log(foo);
  }
}

// Prettier 3.4.2
class A {
  @&#8203;decorator
  /**
   * The method description
   *
   */
  async method(foo: Foo, bar: Bar) {
    console.log(foo);
  }
}
Fix non-idempotent formatting (#​16899 by @​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.

// Input
<div>
  foo
  <span>longlonglonglonglonglonglonglonglonglonglonglonglonglonglongl foo</span>
  , abc
</div>;

// Prettier 3.4.1 (first)
<div>
  foo
  <span>
    longlonglonglonglonglonglonglonglonglonglonglonglonglonglongl foo
  </span>, abc
</div>;

// Prettier 3.4.1 (second)
<div>
  foo
  <span>longlonglonglonglonglonglonglonglonglonglonglonglonglonglongl foo</span>
  , abc
</div>;

// Prettier 3.4.2
<div>
  foo
  <span>longlonglonglonglonglonglonglonglonglonglonglonglonglonglongl foo</span>
  , abc
</div>;

v3.4.1

Compare Source

diff

Remove unnecessary parentheses around assignment in v-on (#​16887 by @​fisker)
<!-- Input -->
<template>
  <button @&#8203;click="foo += 2">Click</button>
</template>

<!-- Prettier 3.4.0 -->
<template>
  <button @&#8203;click="(foo += 2)">Click</button>
</template>

<!-- Prettier 3.4.1 -->
<template>
  <button @&#8203;click="foo += 2">Click</button>
</template>

v3.4.0

Compare Source

diff

πŸ”— Release Notes

v3.3.3

Compare Source

diff

Add parentheses for nullish coalescing in ternary (#​16391 by @​cdignam-segment)

This change adds clarity to operator precedence.

// 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 by @​y-schneider)

Prevent parentheses around member expressions or tagged template literals from being removed to follow the stricter parsing rules of TypeScript 5.5.

// Input
@&#8203;(foo`tagged template`)
class X {}

// Prettier 3.3.2
@&#8203;foo`tagged template`
class X {}

// Prettier 3.3.3
@&#8203;(foo`tagged template`)
class X {}
Support @let declaration syntax (#​16474 by @​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:

@&#8203;let name = 'Frodo';

<h1>Dashboard for {{name}}</h1>
Hello, {{name}}

For more details, please refer to the excellent blog post by the Angular Team: Introducing @​let in Angular.

We also appreciate the Angular Team for kindly answering our questions to implement this feature.

v3.3.2

Compare Source

diff

Fix handlebars path expressions starts with @ (#​16358 by @​Princeyadav05)
{{! Input }}
<div>{{@&#8203;x.y.z}}</div>

{{! Prettier 3.3.1 }}
<div>{{@&#8203;x}}</div>

{{! Prettier 3.3.2 }}
<div>{{@&#8203;x.y.z}}</div>

v3.3.1

Compare Source

diff

Preserve empty lines in front matter (#​16347 by @​fisker)
<!-- Input -->
---
foo:
  - bar1

  - bar2

  - bar3
---
Markdown

<!-- Prettier 3.3.0 -->

---
foo:
  - bar1
  - bar2
  - bar3
---

Markdown

<!-- Prettier 3.3.1 -->
---
foo:
  - bar1

  - bar2

  - bar3
---

Markdown
Preserve explicit language in front matter (#​16348 by @​fisker)
<!-- Input -->
---yaml
title: Hello
slug: home
---

<!-- Prettier 3.3.0 -->
---
title: Hello
slug: home
---

<!-- Prettier 3.3.1 -->
---yaml
title: Hello
slug: home
---
Avoid line breaks in import attributes (#​16349 by @​fisker)
// 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

Compare Source

diff

πŸ”— Release Notes

v3.2.5

Compare Source

diff

Support Angular inline styles as single template literal (#​15968 by @​sosukesuzuki)

Angular v17 supports single string inline styles.

// Input
@&#8203;Component({
  template: `<div>...</div>`,
  styles: `h1 { color: blue; }`,
})
export class AppComponent {}

// Prettier 3.2.4
@&#8203;Component({
  template: `<div>...</div>`,
  styles: `h1 { color: blue; }`,
})
export class AppComponent {}

// Prettier 3.2.5
@&#8203;Component({
  template: `<div>...</div>`,
  styles: `
    h1 {
      color: blue;
    }
  `,
})
export class AppComponent {}
Unexpected embedded formatting for Angular template (#​15969 by @​JounQin)

Computed template should not be considered as Angular component template

// Input
const template = "foobar";

@&#8203;Component({
  [template]: `<h1>{{       hello }}</h1>`,
})
export class AppComponent {}

// Prettier 3.2.4
const template = "foobar";

@&#8203;Component({
  [template]: `<h1>{{ hello }}</h1>`,
})
export class AppComponent {}

// Prettier 3.2.5
const template = "foobar";

@&#8203;Component({
  [template]: `<h1>{{       hello }}</h1>`,
})
export class AppComponent {}
Use "json" parser for tsconfig.json by default (#​16012 by @​sosukesuzuki)

In v3.2.0, we introduced "jsonc" parser which adds trailing comma by default.

When adding a new parser we also define how it will be used based on the linguist-languages data.

tsconfig.json is a special file used by TypeScript, it uses .json file extension, but it actually uses the JSON with Comments syntax. However, we found that there are many third-party tools not recognize it correctly because of the confusing .json file extension.

We decide to treat it as a JSON file for now to avoid the extra configuration step.

To keep using the "jsonc" parser for your tsconfig.json files, add the following to your .prettierrc file

{
  "overrides": [
    {
      "files": ["tsconfig.json", "jsconfig.json"],
      "options": {
        "parser": "jsonc"
      }
    }
  ]
}

v3.2.4

Compare Source

prettier --file-info tsconfig.json
{ "ignored": false, "inferredParser": "jsonc" }

v3.2.3

Compare Source

diff

Throw errors for invalid code (#​15881 by @​fisker, @​Josh-Cena, @​auvred)
// Input
1++;

// Prettier 3.2.2
1++;

// Prettier 3.2.3
SyntaxError: Invalid left-hand side expression in unary operation (1:1)
> 1 | 1++;
    | ^
// Input
try {} catch (error = 1){}

// Prettier 3.2.2
try {
} catch (error) {}

// Prettier 3.2.3
SyntaxError: Catch clause variable cannot have an initializer. (1:23)
> 1 | try {} catch (error = 1){}
    |                       ^
Fix parser inference (#​15927 by @​fisker)
// Prettier 3.2.2
prettier --file-info tsconfig.json
{ "ignored": false, "inferredParser": "json" }

// Prettier 3.2.3
prettier --file-info tsconfig.json
{ "ignored": false, "inferredParser": "jsonc" }

v3.2.2

Compare Source

diff

Fix crash when parsing template literal CSS in a JSX style tag using a spread attribute (#​15896 by @​eelco)

For example this code would crash before:

<style {...spread}>{`.{}`}</style>
Fix formatting error on optional call expression and member chain (#​15920 by @​sosukesuzuki)
// Input
a(() => {}, c?.d());

// Prettier 3.2.1
TypeError: Cannot read properties of undefined (reading 'type')

// Prettier 3.2.2
a(() => {}, c?.d());

v3.2.1

Compare Source

diff

Fix formatting error on member chain (#​15915 by @​sosukesuzuki)
// Input
test().test2().test2(thing?.something);

// Prettier 3.2.0
TypeError: Cannot read properties of undefined (reading 'type')

// Prettier 3.2.1
test().test2().test2(thing?.something);

v3.2.0

Compare Source

diff

πŸ”— Release Notes


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, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot changed the title Update dependency prettier to v3.2.0 Update dependency prettier to v3.2.1 Jan 12, 2024
@renovate renovate bot force-pushed the renovate/prettier-3.x branch from 35c8e7a to 52b0506 Compare January 12, 2024 21:26
@renovate renovate bot changed the title Update dependency prettier to v3.2.1 Update dependency prettier to v3.2.2 Jan 14, 2024
@renovate renovate bot force-pushed the renovate/prettier-3.x branch from 52b0506 to 3c2b824 Compare January 14, 2024 03:33
@renovate renovate bot changed the title Update dependency prettier to v3.2.2 Update dependency prettier to v3.2.3 Jan 17, 2024
@renovate renovate bot force-pushed the renovate/prettier-3.x branch from 3c2b824 to 5d88d53 Compare January 17, 2024 08:47
@renovate renovate bot changed the title Update dependency prettier to v3.2.3 Update dependency prettier to v3.2.4 Jan 17, 2024
@renovate renovate bot force-pushed the renovate/prettier-3.x branch from 5d88d53 to d10e254 Compare January 17, 2024 11:12
@renovate renovate bot changed the title Update dependency prettier to v3.2.4 Update dependency prettier to v3.2.5 Feb 4, 2024
@renovate renovate bot force-pushed the renovate/prettier-3.x branch from d10e254 to 05027b1 Compare February 4, 2024 07:08
@sonarqubecloud
Copy link

sonarqubecloud bot commented Feb 4, 2024

Quality Gate Passed Quality Gate passed

Kudos, no new issues were introduced!

0 New issues
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

@renovate renovate bot force-pushed the renovate/prettier-3.x branch from 05027b1 to d355677 Compare June 3, 2024 23:35
@renovate renovate bot changed the title Update dependency prettier to v3.2.5 Update dependency prettier to v3.3.0 Jun 3, 2024
@renovate renovate bot force-pushed the renovate/prettier-3.x branch from d355677 to 4bce60d Compare June 5, 2024 09:49
@renovate renovate bot changed the title Update dependency prettier to v3.3.0 Update dependency prettier to v3.3.1 Jun 5, 2024
@renovate renovate bot force-pushed the renovate/prettier-3.x branch from 4bce60d to 1e9899b Compare June 11, 2024 06:49
@renovate renovate bot changed the title Update dependency prettier to v3.3.1 Update dependency prettier to v3.3.2 Jun 11, 2024
@renovate renovate bot force-pushed the renovate/prettier-3.x branch from 1e9899b to 2efaabd Compare July 13, 2024 14:46
@renovate renovate bot changed the title Update dependency prettier to v3.3.2 Update dependency prettier to v3.3.3 Jul 13, 2024
@sonarqubecloud
Copy link

@renovate renovate bot force-pushed the renovate/prettier-3.x branch from 2efaabd to 0d5d085 Compare November 26, 2024 05:21
@renovate renovate bot changed the title Update dependency prettier to v3.3.3 Update dependency prettier to v3.4.0 Nov 26, 2024
@renovate renovate bot changed the title Update dependency prettier to v3.4.0 Update dependency prettier to v3.4.1 Nov 26, 2024
@renovate renovate bot force-pushed the renovate/prettier-3.x branch from 0d5d085 to c927649 Compare November 26, 2024 14:48
@renovate renovate bot changed the title Update dependency prettier to v3.4.1 Update dependency prettier to v3.4.2 Dec 4, 2024
@renovate renovate bot force-pushed the renovate/prettier-3.x branch from c927649 to eb02af7 Compare December 4, 2024 10:15
@renovate renovate bot changed the title Update dependency prettier to v3.4.2 Update dependency prettier to v3.4.2 - autoclosed Dec 8, 2024
@renovate renovate bot closed this Dec 8, 2024
@renovate renovate bot deleted the renovate/prettier-3.x branch December 8, 2024 18:35
@renovate renovate bot changed the title Update dependency prettier to v3.4.2 - autoclosed Update dependency prettier to v3.4.2 Dec 9, 2024
@renovate renovate bot changed the title Update dependency prettier to v3.4.2 Update dependency prettier to v3.5.0 Feb 9, 2025
@renovate renovate bot changed the title Update dependency prettier to v3.5.0 Update dependency prettier to v3.5.1 Feb 13, 2025
@renovate renovate bot force-pushed the renovate/prettier-3.x branch from b3c48bd to aeba2bf Compare February 13, 2025 18:49
@renovate renovate bot force-pushed the renovate/prettier-3.x branch from aeba2bf to 24ebb4f Compare February 22, 2025 07:01
@renovate renovate bot changed the title Update dependency prettier to v3.5.1 Update dependency prettier to v3.5.2 Feb 22, 2025
@renovate renovate bot force-pushed the renovate/prettier-3.x branch from 24ebb4f to 78f9249 Compare March 3, 2025 02:58
@renovate renovate bot changed the title Update dependency prettier to v3.5.2 Update dependency prettier to v3.5.3 Mar 3, 2025
@sonarqubecloud
Copy link

sonarqubecloud bot commented Mar 3, 2025

@renovate renovate bot changed the title Update dependency prettier to v3.5.3 Update dependency prettier to v3.6.0 Jun 23, 2025
@renovate renovate bot force-pushed the renovate/prettier-3.x branch from 78f9249 to 2876c91 Compare June 23, 2025 05:05
@renovate renovate bot changed the title Update dependency prettier to v3.6.0 Update dependency prettier to v3.6.1 Jun 25, 2025
@renovate renovate bot force-pushed the renovate/prettier-3.x branch from 2876c91 to 500f4ab Compare June 25, 2025 11:00
@renovate renovate bot changed the title Update dependency prettier to v3.6.1 Update dependency prettier to v3.6.2 Jun 27, 2025
@renovate renovate bot force-pushed the renovate/prettier-3.x branch from 500f4ab to ee2f83a Compare June 27, 2025 05:41
@sonarqubecloud
Copy link

@renovate renovate bot force-pushed the renovate/prettier-3.x branch from ee2f83a to d2d13b0 Compare November 27, 2025 09:13
@renovate renovate bot changed the title Update dependency prettier to v3.6.2 Update dependency prettier to v3.7.0 Nov 27, 2025
@renovate renovate bot force-pushed the renovate/prettier-3.x branch from d2d13b0 to b9a72ac Compare November 27, 2025 15:55
@renovate renovate bot changed the title Update dependency prettier to v3.7.0 Update dependency prettier to v3.7.1 Nov 27, 2025
@renovate renovate bot force-pushed the renovate/prettier-3.x branch from b9a72ac to af69908 Compare November 28, 2025 21:14
@renovate renovate bot changed the title Update dependency prettier to v3.7.1 Update dependency prettier to v3.7.2 Nov 28, 2025
@renovate renovate bot force-pushed the renovate/prettier-3.x branch from af69908 to 5beb48c Compare November 29, 2025 21:01
@renovate renovate bot changed the title Update dependency prettier to v3.7.2 Update dependency prettier to v3.7.3 Nov 29, 2025
@renovate renovate bot changed the title Update dependency prettier to v3.7.3 Update dependency prettier to v3.7.4 Dec 3, 2025
@renovate renovate bot force-pushed the renovate/prettier-3.x branch from 5beb48c to 8763e75 Compare December 3, 2025 07:12
@sonarqubecloud
Copy link

sonarqubecloud bot commented Dec 3, 2025

@renovate renovate bot force-pushed the renovate/prettier-3.x branch from 8763e75 to 1433a06 Compare January 15, 2026 00:24
@renovate renovate bot changed the title Update dependency prettier to v3.7.4 Update dependency prettier to v3.8.0 Jan 15, 2026
@sonarqubecloud
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant