chore(deps): update dependency prettier to v3 #12

Open
renovate-bot wants to merge 1 commits from renovate/prettier-3.x into main
Collaborator

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
prettier (source) 2.8.8 -> 3.2.5 age adoption passing confidence

Release Notes

prettier/prettier (prettier)

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
@​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

v3.1.1

Compare Source

diff

Fix config file search (#​15363 by @​fisker)

Previously, we start search for config files from the filePath as a directory, if it happened to be a directory and contains config file, it will be used by mistake.

├─ .prettierrc
└─ test.js         (A directory)
  └─ .prettierrc
// Prettier 3.1.0
await prettier.resolveConfigFile(new URL("./test.js", import.meta.url));
// <CWD>/test.js/.prettierrc

// Prettier 3.1.1
await prettier.resolveConfigFile(new URL("./test.js", import.meta.url));
// <CWD>/.prettierrc

Since Prettier v3, we stopped following symbolic links, however in some use cases, the symbolic link patterns can't be filtered out, and there is no way to prevent Prettier from throwing errors.

In Prettier 3.1.1, you can use --no-error-on-unmatched-pattern to simply skip symbolic links.

Consistently use tabs in ternaries when useTabs is true (#​15662 by @​auvred)
// Input
aaaaaaaaaaaaaaa
	? bbbbbbbbbbbbbbbbbb
	: ccccccccccccccc
	  ? ddddddddddddddd
	  : eeeeeeeeeeeeeee
	    ? fffffffffffffff
	    : gggggggggggggggg;

// Prettier 3.1.0
aaaaaaaaaaaaaaa
	? bbbbbbbbbbbbbbbbbb
	: ccccccccccccccc
	  ? ddddddddddddddd
	  : eeeeeeeeeeeeeee
	    ? fffffffffffffff
	    : gggggggggggggggg;

// Prettier 3.1.1
aaaaaaaaaaaaaaa
	? bbbbbbbbbbbbbbbbbb
	: ccccccccccccccc
		? ddddddddddddddd
		: eeeeeeeeeeeeeee
			? fffffffffffffff
			: gggggggggggggggg;
Improve config file search (#​15663 by @​fisker)

The Prettier config file search performance has been improved by more effective cache strategy.

Fix unstable and ugly formatting for comments in destructuring patterns (#​15708 by @​sosukesuzuki)
// Input
const {
  foo,
  // bar
  // baz
}: Foo = expr;

// Prettier 3.1.0
const {
  foo1,
} // bar
// baz
: Foo = expr;

// Prettier 3.1.0 second output
const {
  foo1, // bar
} // baz
: Foo = expr;

// Prettier 3.1.1
const {
  foo1,
  // bar
  // baz
}: Foo = expr;
Support "Import Attributes" (#​15718 by @​fisker)

TypeScript 5.3 supports the latest updates to the import attributes proposal.

import something from "./something.json" with { type: "json" };
Fix false claim in docs that cursorOffset is incompatible with rangeStart/rangeEnd (#​15750 by @​ExplodingCabbage)

The cursorOffset option has in fact been compatible with rangeStart/rangeEnd for over 5 years, thanks to work by @​ds300. However, Prettier's documentation (including the CLI --help text) continued to claim otherwise, falsely. The documentation is now fixed.

Keep curly braces and from keyword in empty import statements (#​15756 by @​fisker)
// Input
import { } from 'foo';
import { /* comment */ } from 'bar';

// Prettier 3.1.0
import {} from "foo";
import /* comment */ "bar";

// Prettier 3.1.1
import {} from "foo";
import {} from /* comment */ "bar";
Keep empty import attributes and assertions (#​15757 by @​fisker)
// Input
import foo from "foo" with {};
import bar from "bar" assert {};

// Prettier 3.1.0
import foo from "foo";
import bar from "bar";

// Prettier 3.1.1
import foo from "foo" with {};
import bar from "bar" assert {};

v3.1.0

Compare Source

diff

🔗 Release Notes

v3.0.3

Compare Source

diff

Add preferUnplugged: true to package.json (#​15169 by @​fisker and @​so1ve)

Prettier v3 uses dynamic imports, user will need to unplug Prettier when Yarn's PnP mode is enabled, add preferUnplugged: true to package.json, so Yarn will install Prettier as unplug by default.

Support shared config that forbids require() (#​15233 by @​fisker)

If an external shared config package is used, and the package exports don't have require or default export.

In Prettier 3.0.2 Prettier fails when attempt to require() the package, and throws an error.

Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: No "exports" main defined in <packageName>/package.json
Allow argument of require() to break (#​15256 by @​fisker)
// Input
const plugin = require(
  global.STANDALONE
    ? path.join(__dirname, "../standalone.js")
    : path.join(__dirname, "..")
);

// Prettier 3.0.2
const plugin = require(global.STANDALONE
  ? path.join(__dirname, "../standalone.js")
  : path.join(__dirname, ".."));

// Prettier 3.0.3
const plugin = require(
  global.STANDALONE
    ? path.join(__dirname, "../standalone.js")
    : path.join(__dirname, "..")
);
Do not print trailing commas in arrow function type parameter lists in ts code blocks (#​15286 by @​sosukesuzuki)
<!-- Input -->
```ts
const foo = <T>() => {}
```

<!-- Prettier 3.0.2 -->
```ts
const foo = <T,>() => {}
```

<!-- Prettier 3.0.3 -->
```ts
const foo = <T>() => {}
```
Support TypeScript 5.2 using / await using declaration (#​15321 by @​sosukesuzuki)

Support for the upcoming Explicit Resource Management feature in ECMAScript. using / await using declaration

{
   using foo = new Foo();
   await using bar = new Bar();
}

v3.0.2

Compare Source

diff

Break after = of assignment if RHS is poorly breakable AwaitExpression or YieldExpression (#​15204 by @​seiyab)
// Input
const { section, rubric, authors, tags } = await utils.upsertCommonData(mainData);

// Prettier 3.0.1
const { section, rubric, authors, tags } = await utils.upsertCommonData(
  mainData,
);

// Prettier 3.0.2
const { section, rubric, authors, tags } =
  await utils.upsertCommonData(mainData);
Do not add trailing comma for grouped scss comments (#​15217 by @​auvred)
/* Input */
$foo: (
	'property': (),
	// comment 1
	// comment 2
)

/* Prettier 3.0.1 */
$foo: (
  "property": (),
  // comment 1
  // comment 2,
);

/* Prettier 3.0.2 */
$foo: (
  "property": (),
  // comment 1
  // comment 2
);
Print declare and export keywords for nested namespace (#​15249 by @​sosukesuzuki)
// Input
declare namespace abc1.def {}
export namespace abc2.def {}

// Prettier 3.0.1
namespace abc1.def {}
namespace abc2.def {}

// Prettier 3.0.2
declare namespace abc1.def {}
export namespace abc2.def {}

v3.0.1

Compare Source

diff

Fix cursor positioning for a special case (#​14812 by @​fisker)
// <|> is the cursor position

/* Input */
// All messages are represented in JSON.
// So, the prettier.py controls a subprocess which spawns "node {this_file}".
import {<|>  } from "fs"

/* Prettier 3.0.0 */
// All messages are represented in JSON.
// So, the prettier.py <|>controls a subprocess which spawns "node {this_file}".
import {} from "fs"

/* Prettier 3.0.1 */
// All messages are represented in JSON.
// So, the prettier.py controls a subprocess which spawns "node {this_file}".
import {<|>} from "fs"
Fix plugins/estree.d.ts to make it a module (#​15018 by @​kingyue737)

Add export {} in plugins/estree.d.ts to fix the "File is not a module" error

Add parenthesis around leading multiline comment in return statement (#​15037 by @​auvred)
// Input
function fn() {
  return (
    /**
     * @&#8203;type {...}
     */ expression
  )
}

// Prettier 3.0.0
function fn() {
  return /**
   * @&#8203;type {...}
   */ expression;
}

// Prettier 3.0.1
function fn() {
  return (
    /**
     * @&#8203;type {...}
     */ expression
  );
}
Add support for Vue "Generic Components" (#​15066 by @​auvred)

https://blog.vuejs.org/posts/vue-3-3#generic-components

<!-- Input -->
<script setup lang="ts" generic="T extends Type1 & Type2 & (Type3 | Type4), U extends string | number | boolean"></script>

<!-- Prettier 3.0.0 -->
<script
  setup
  lang="ts"
  generic="T extends Type1 & Type2 & (Type3 | Type4), U extends string | number | boolean"
></script>

<!-- Prettier 3.0.1 -->
<script
  setup
  lang="ts"
  generic="
    T extends Type1 & Type2 & (Type3 | Type4),
    U extends string | number | boolean
  "
></script>
Fix comments print in IfStatement (#​15076 by @​fisker)
function a(b) {
  if (b) return 1; // comment
  else return 2;
}

/* Prettier 3.0.0 */
Error: Comment "comment" was not printed. Please report this error!

/* Prettier 3.0.1 */
function a(b) {
  if (b) return 1; // comment
  else return 2;
}
Add missing type definition for printer.preprocess (#​15123 by @​so1ve)
export interface Printer<T = any> {
  // ...
+ preprocess?:
+   | ((ast: T, options: ParserOptions<T>) => T | Promise<T>)
+   | undefined;
}
Add missing getVisitorKeys method type definition for Printer (#​15125 by @​auvred)
const printer: Printer = {
  print: () => [],
  getVisitorKeys(node, nonTraversableKeys) {
    return ["body"];
  },
};
Add typing to support readonly array properties of AST Node (#​15127 by @​auvred)
// Input
interface TestNode {
  readonlyArray: readonly string[];
}

declare const path: AstPath<TestNode>;

path.map(() => "", "readonlyArray");

// Prettier 3.0.0
interface TestNode {
  readonlyArray: readonly string[];
}

declare const path: AstPath<TestNode>;

path.map(() => "", "readonlyArray");
//                  ^ Argument of type '"readonlyArray"' is not assignable to parameter of type '"regularArray"'. ts(2345)

// Prettier 3.0.1
interface TestNode {
  readonlyArray: readonly string[];
}

declare const path: AstPath<TestNode>;

path.map(() => "", "readonlyArray");
Add space before unary minus followed by a function call (#​15129 by @​pamelalozano)
// Input
div {
  margin: - func();
}

// Prettier 3.0.0
div {
  margin: -func();
}

// Prettier 3.0.1
div {
  margin: - func();
}

v3.0.0

Compare Source

diff

🔗 Release Notes


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

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 has been generated by Renovate Bot.

This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [prettier](https://prettier.io) ([source](https://github.com/prettier/prettier)) | [`2.8.8` -> `3.2.5`](https://renovatebot.com/diffs/npm/prettier/2.8.8/3.2.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/prettier/3.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prettier/3.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prettier/2.8.8/3.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prettier/2.8.8/3.2.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>prettier/prettier (prettier)</summary> ### [`v3.2.5`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#325) [Compare Source](https://github.com/prettier/prettier/compare/3.2.4...3.2.5) [diff](https://github.com/prettier/prettier/compare/3.2.4...3.2.5) ##### Support Angular inline styles as single template literal ([#&#8203;15968](https://github.com/prettier/prettier/pull/15968) by [@&#8203;sosukesuzuki](https://github.com/sosukesuzuki)) [Angular v17](https://blog.angular.io/introducing-angular-v17-4d7033312e4b) supports single string inline styles. <!-- prettier-ignore --> ```ts // 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 ([#&#8203;15969](https://github.com/prettier/prettier/pull/15969) by [@&#8203;JounQin](https://github.com/JounQin)) Computed template should not be considered as Angular component template <!-- prettier-ignore --> ```ts // 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 ([#&#8203;16012](https://github.com/prettier/prettier/pull/16012) by [@&#8203;sosukesuzuki](https://github.com/sosukesuzuki)) In [v3.2.0](https://prettier.io/blog/2024/01/12/3.2.0#new-jsonc-parser-added-15831httpsgithubcomprettierprettierpull15831-by-fiskerhttpsgithubcomfisker), 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`](https://www.npmjs.com/package/linguist-languages) data. `tsconfig.json` is a special file used by [TypeScript](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html#using-tsconfigjson-or-jsconfigjson), it uses `.json` file extension, but it actually uses the [JSON with Comments](https://code.visualstudio.com/docs/languages/json#\_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 ```json { "overrides": [ { "files": ["tsconfig.json", "jsconfig.json"], "options": { "parser": "jsonc" } } ] } ``` <!-- prettier-ignore --> ``` ``` ### [`v3.2.4`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#Prettier-324) [Compare Source](https://github.com/prettier/prettier/compare/3.2.3...3.2.4) prettier --file-info tsconfig.json { "ignored": false, "inferredParser": "jsonc" } ### [`v3.2.3`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#323) [Compare Source](https://github.com/prettier/prettier/compare/3.2.2...3.2.3) [diff](https://github.com/prettier/prettier/compare/3.2.2...3.2.3) ##### Throw errors for invalid code ([#&#8203;15881](https://github.com/prettier/prettier/pull/15881) by [@&#8203;fisker](https://github.com/fisker), [@&#8203;Josh-Cena](https://github.com/Josh-Cena), [@&#8203;auvred](https://github.com/auvred)) <!-- prettier-ignore --> ```ts // Input 1++; // Prettier 3.2.2 1++; // Prettier 3.2.3 SyntaxError: Invalid left-hand side expression in unary operation (1:1) > 1 | 1++; | ^ ``` <!-- prettier-ignore --> ```ts // 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 ([#&#8203;15927](https://github.com/prettier/prettier/pull/15927) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```console // 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`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#322) [Compare Source](https://github.com/prettier/prettier/compare/3.2.1...3.2.2) [diff](https://github.com/prettier/prettier/compare/3.2.1...3.2.2) ##### Fix crash when parsing template literal CSS in a JSX style tag using a spread attribute ([#&#8203;15896](https://github.com/prettier/prettier/pull/15896) by [@&#8203;eelco](https://github.com/eelco)) For example this code would crash before: <!-- prettier-ignore --> ```jsx <style {...spread}>{`.{}`}</style> ``` ##### Fix formatting error on optional call expression and member chain ([#&#8203;15920](https://github.com/prettier/prettier/pull/15920) by [@&#8203;sosukesuzuki](https://github.com/sosukesuzuki)) <!-- prettier-ignore --> ```jsx // 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`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#321) [Compare Source](https://github.com/prettier/prettier/compare/3.2.0...3.2.1) [diff](https://github.com/prettier/prettier/compare/3.2.0...3.2.1) ##### Fix formatting error on member chain ([#&#8203;15915](https://github.com/prettier/prettier/pull/15915) by [@&#8203;sosukesuzuki](https://github.com/sosukesuzuki)) <!-- prettier-ignore --> ```jsx // 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`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#320) [Compare Source](https://github.com/prettier/prettier/compare/3.1.1...3.2.0) [diff](https://github.com/prettier/prettier/compare/3.1.1...3.2.0) 🔗 [Release Notes](https://prettier.io/blog/2024/01/12/3.2.0.html) ### [`v3.1.1`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#311) [Compare Source](https://github.com/prettier/prettier/compare/3.1.0...3.1.1) [diff](https://github.com/prettier/prettier/compare/3.1.0...3.1.1) ##### Fix config file search ([#&#8203;15363](https://github.com/prettier/prettier/pull/15363) by [@&#8203;fisker](https://github.com/fisker)) Previously, we start search for config files from the filePath as a directory, if it happened to be a directory and contains config file, it will be used by mistake. ```text ├─ .prettierrc └─ test.js (A directory) └─ .prettierrc ``` ```js // Prettier 3.1.0 await prettier.resolveConfigFile(new URL("./test.js", import.meta.url)); // <CWD>/test.js/.prettierrc // Prettier 3.1.1 await prettier.resolveConfigFile(new URL("./test.js", import.meta.url)); // <CWD>/.prettierrc ``` ##### Skip explicitly passed symbolic links with `--no-error-on-unmatched-pattern` ([#&#8203;15533](https://github.com/prettier/prettier/pull/15533) by [@&#8203;sanmai-NL](https://github.com/sanmai-NL)) Since Prettier v3, we stopped following symbolic links, however in some use cases, the symbolic link patterns can't be filtered out, and there is no way to prevent Prettier from throwing errors. In Prettier 3.1.1, you can use `--no-error-on-unmatched-pattern` to simply skip symbolic links. ##### Consistently use tabs in ternaries when `useTabs` is `true` ([#&#8203;15662](https://github.com/prettier/prettier/pull/15662) by [@&#8203;auvred](https://github.com/auvred)) <!-- prettier-ignore --> ```jsx // Input aaaaaaaaaaaaaaa ? bbbbbbbbbbbbbbbbbb : ccccccccccccccc ? ddddddddddddddd : eeeeeeeeeeeeeee ? fffffffffffffff : gggggggggggggggg; // Prettier 3.1.0 aaaaaaaaaaaaaaa ? bbbbbbbbbbbbbbbbbb : ccccccccccccccc ? ddddddddddddddd : eeeeeeeeeeeeeee ? fffffffffffffff : gggggggggggggggg; // Prettier 3.1.1 aaaaaaaaaaaaaaa ? bbbbbbbbbbbbbbbbbb : ccccccccccccccc ? ddddddddddddddd : eeeeeeeeeeeeeee ? fffffffffffffff : gggggggggggggggg; ``` ##### Improve config file search ([#&#8203;15663](https://github.com/prettier/prettier/pull/15663) by [@&#8203;fisker](https://github.com/fisker)) The Prettier config file search performance has been improved by more effective cache strategy. ##### Fix unstable and ugly formatting for comments in destructuring patterns ([#&#8203;15708](https://github.com/prettier/prettier/pull/15708) by [@&#8203;sosukesuzuki](https://github.com/sosukesuzuki)) <!-- prettier-ignore --> ```tsx // Input const { foo, // bar // baz }: Foo = expr; // Prettier 3.1.0 const { foo1, } // bar // baz : Foo = expr; // Prettier 3.1.0 second output const { foo1, // bar } // baz : Foo = expr; // Prettier 3.1.1 const { foo1, // bar // baz }: Foo = expr; ``` ##### Support "Import Attributes" ([#&#8203;15718](https://github.com/prettier/prettier/pull/15718) by [@&#8203;fisker](https://github.com/fisker)) [TypeScript 5.3](https://devblogs.microsoft.com/typescript/announcing-typescript-5-3/#import-attributes) supports the latest updates to the [import attributes](https://github.com/tc39/proposal-import-attributes) proposal. ```tsx import something from "./something.json" with { type: "json" }; ``` ##### Fix false claim in docs that cursorOffset is incompatible with rangeStart/rangeEnd ([#&#8203;15750](https://github.com/prettier/prettier/pull/15750) by [@&#8203;ExplodingCabbage](https://github.com/ExplodingCabbage)) The cursorOffset option has in fact been compatible with rangeStart/rangeEnd for over 5 years, thanks to work by [@&#8203;ds300](https://github.com/ds300). However, Prettier's documentation (including the CLI `--help` text) continued to claim otherwise, falsely. The documentation is now fixed. ##### Keep curly braces and `from` keyword in empty `import` statements ([#&#8203;15756](https://github.com/prettier/prettier/pull/15756) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```js // Input import { } from 'foo'; import { /* comment */ } from 'bar'; // Prettier 3.1.0 import {} from "foo"; import /* comment */ "bar"; // Prettier 3.1.1 import {} from "foo"; import {} from /* comment */ "bar"; ``` ##### Keep empty import attributes and assertions ([#&#8203;15757](https://github.com/prettier/prettier/pull/15757) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```js // Input import foo from "foo" with {}; import bar from "bar" assert {}; // Prettier 3.1.0 import foo from "foo"; import bar from "bar"; // Prettier 3.1.1 import foo from "foo" with {}; import bar from "bar" assert {}; ``` ### [`v3.1.0`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#310) [Compare Source](https://github.com/prettier/prettier/compare/3.0.3...3.1.0) [diff](https://github.com/prettier/prettier/compare/3.0.3...3.1.0) 🔗 [Release Notes](https://prettier.io/blog/2023/11/13/3.1.0.html) ### [`v3.0.3`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#303) [Compare Source](https://github.com/prettier/prettier/compare/3.0.2...3.0.3) [diff](https://github.com/prettier/prettier/compare/3.0.2...3.0.3) ##### Add `preferUnplugged: true` to `package.json` ([#&#8203;15169](https://github.com/prettier/prettier/pull/15169) by [@&#8203;fisker](https://github.com/fisker) and [@&#8203;so1ve](https://github.com/so1ve)) Prettier v3 uses dynamic imports, user [will need to unplug Prettier](https://github.com/yarnpkg/berry/pull/5411#issuecomment-1523502224) when Yarn's PnP mode is enabled, add [`preferUnplugged: true`](https://yarnpkg.com/configuration/manifest#preferUnplugged) to `package.json`, so Yarn will install Prettier as unplug by default. ##### Support shared config that forbids `require()` ([#&#8203;15233](https://github.com/prettier/prettier/pull/15233) by [@&#8203;fisker](https://github.com/fisker)) If an external shared config package is used, and the package `exports` don't have `require` or `default` export. In Prettier 3.0.2 Prettier fails when attempt to `require()` the package, and throws an error. ```text Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: No "exports" main defined in <packageName>/package.json ``` ##### Allow argument of `require()` to break ([#&#8203;15256](https://github.com/prettier/prettier/pull/15256) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```jsx // Input const plugin = require( global.STANDALONE ? path.join(__dirname, "../standalone.js") : path.join(__dirname, "..") ); // Prettier 3.0.2 const plugin = require(global.STANDALONE ? path.join(__dirname, "../standalone.js") : path.join(__dirname, "..")); // Prettier 3.0.3 const plugin = require( global.STANDALONE ? path.join(__dirname, "../standalone.js") : path.join(__dirname, "..") ); ``` ##### Do not print trailing commas in arrow function type parameter lists in `ts` code blocks ([#&#8203;15286](https://github.com/prettier/prettier/pull/15286) by [@&#8203;sosukesuzuki](https://github.com/sosukesuzuki)) <!-- prettier-ignore --> ````md <!-- Input --> ```ts const foo = <T>() => {} ``` <!-- Prettier 3.0.2 --> ```ts const foo = <T,>() => {} ``` <!-- Prettier 3.0.3 --> ```ts const foo = <T>() => {} ``` ```` ##### Support TypeScript 5.2 `using` / `await using` declaration ([#&#8203;15321](https://github.com/prettier/prettier/pull/15321) by [@&#8203;sosukesuzuki](https://github.com/sosukesuzuki)) Support for the upcoming Explicit Resource Management feature in ECMAScript. [`using` / `await using` declaration](https://devblogs.microsoft.com/typescript/announcing-typescript-5-2/#using-declarations-and-explicit-resource-management) <!-- prettier-ignore --> ```tsx { using foo = new Foo(); await using bar = new Bar(); } ``` ### [`v3.0.2`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#302) [Compare Source](https://github.com/prettier/prettier/compare/3.0.1...3.0.2) [diff](https://github.com/prettier/prettier/compare/3.0.1...3.0.2) ##### Break after `=` of assignment if RHS is poorly breakable AwaitExpression or YieldExpression ([#&#8203;15204](https://github.com/prettier/prettier/pull/15204) by [@&#8203;seiyab](https://github.com/seiyab)) <!-- prettier-ignore --> ```js // Input const { section, rubric, authors, tags } = await utils.upsertCommonData(mainData); // Prettier 3.0.1 const { section, rubric, authors, tags } = await utils.upsertCommonData( mainData, ); // Prettier 3.0.2 const { section, rubric, authors, tags } = await utils.upsertCommonData(mainData); ``` ##### Do not add trailing comma for grouped scss comments ([#&#8203;15217](https://github.com/prettier/prettier/pull/15217) by [@&#8203;auvred](https://github.com/auvred)) <!-- prettier-ignore --> ```scss /* Input */ $foo: ( 'property': (), // comment 1 // comment 2 ) /* Prettier 3.0.1 */ $foo: ( "property": (), // comment 1 // comment 2, ); /* Prettier 3.0.2 */ $foo: ( "property": (), // comment 1 // comment 2 ); ``` ##### Print `declare` and `export` keywords for nested namespace ([#&#8203;15249](https://github.com/prettier/prettier/pull/15249) by [@&#8203;sosukesuzuki](https://github.com/sosukesuzuki)) <!-- prettier-ignore --> ```tsx // Input declare namespace abc1.def {} export namespace abc2.def {} // Prettier 3.0.1 namespace abc1.def {} namespace abc2.def {} // Prettier 3.0.2 declare namespace abc1.def {} export namespace abc2.def {} ``` ### [`v3.0.1`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#301) [Compare Source](https://github.com/prettier/prettier/compare/3.0.0...3.0.1) [diff](https://github.com/prettier/prettier/compare/3.0.0...3.0.1) ##### Fix cursor positioning for a special case ([#&#8203;14812](https://github.com/prettier/prettier/pull/14812) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```js // <|> is the cursor position /* Input */ // All messages are represented in JSON. // So, the prettier.py controls a subprocess which spawns "node {this_file}". import {<|> } from "fs" /* Prettier 3.0.0 */ // All messages are represented in JSON. // So, the prettier.py <|>controls a subprocess which spawns "node {this_file}". import {} from "fs" /* Prettier 3.0.1 */ // All messages are represented in JSON. // So, the prettier.py controls a subprocess which spawns "node {this_file}". import {<|>} from "fs" ``` ##### Fix plugins/estree.d.ts to make it a module ([#&#8203;15018](https://github.com/prettier/prettier/pull/15018) by [@&#8203;kingyue737](https://github.com/kingyue737)) Add `export {}` in `plugins/estree.d.ts` to fix the "File is not a module" error ##### Add parenthesis around leading multiline comment in return statement ([#&#8203;15037](https://github.com/prettier/prettier/pull/15037) by [@&#8203;auvred](https://github.com/auvred)) <!-- prettier-ignore --> ```jsx // Input function fn() { return ( /** * @&#8203;type {...} */ expression ) } // Prettier 3.0.0 function fn() { return /** * @&#8203;type {...} */ expression; } // Prettier 3.0.1 function fn() { return ( /** * @&#8203;type {...} */ expression ); } ``` ##### Add support for Vue "Generic Components" ([#&#8203;15066](https://github.com/prettier/prettier/pull/15066) by [@&#8203;auvred](https://github.com/auvred)) https://blog.vuejs.org/posts/vue-3-3#generic-components <!-- prettier-ignore --> ```vue <!-- Input --> <script setup lang="ts" generic="T extends Type1 & Type2 & (Type3 | Type4), U extends string | number | boolean"></script> <!-- Prettier 3.0.0 --> <script setup lang="ts" generic="T extends Type1 & Type2 & (Type3 | Type4), U extends string | number | boolean" ></script> <!-- Prettier 3.0.1 --> <script setup lang="ts" generic=" T extends Type1 & Type2 & (Type3 | Type4), U extends string | number | boolean " ></script> ``` ##### Fix comments print in `IfStatement` ([#&#8203;15076](https://github.com/prettier/prettier/pull/15076) by [@&#8203;fisker](https://github.com/fisker)) <!-- prettier-ignore --> ```js function a(b) { if (b) return 1; // comment else return 2; } /* Prettier 3.0.0 */ Error: Comment "comment" was not printed. Please report this error! /* Prettier 3.0.1 */ function a(b) { if (b) return 1; // comment else return 2; } ``` ##### Add missing type definition for `printer.preprocess` ([#&#8203;15123](https://github.com/prettier/prettier/pull/15123) by [@&#8203;so1ve](https://github.com/so1ve)) ```diff export interface Printer<T = any> { // ... + preprocess?: + | ((ast: T, options: ParserOptions<T>) => T | Promise<T>) + | undefined; } ``` ##### Add missing `getVisitorKeys` method type definition for `Printer` ([#&#8203;15125](https://github.com/prettier/prettier/pull/15125) by [@&#8203;auvred](https://github.com/auvred)) ```tsx const printer: Printer = { print: () => [], getVisitorKeys(node, nonTraversableKeys) { return ["body"]; }, }; ``` ##### Add typing to support `readonly` array properties of AST Node ([#&#8203;15127](https://github.com/prettier/prettier/pull/15127) by [@&#8203;auvred](https://github.com/auvred)) <!-- prettier-ignore --> ```tsx // Input interface TestNode { readonlyArray: readonly string[]; } declare const path: AstPath<TestNode>; path.map(() => "", "readonlyArray"); // Prettier 3.0.0 interface TestNode { readonlyArray: readonly string[]; } declare const path: AstPath<TestNode>; path.map(() => "", "readonlyArray"); // ^ Argument of type '"readonlyArray"' is not assignable to parameter of type '"regularArray"'. ts(2345) // Prettier 3.0.1 interface TestNode { readonlyArray: readonly string[]; } declare const path: AstPath<TestNode>; path.map(() => "", "readonlyArray"); ``` ##### Add space before unary minus followed by a function call ([#&#8203;15129](https://github.com/prettier/prettier/pull/15129) by [@&#8203;pamelalozano](https://github.com/pamelalozano)) <!-- prettier-ignore --> ```less // Input div { margin: - func(); } // Prettier 3.0.0 div { margin: -func(); } // Prettier 3.0.1 div { margin: - func(); } ``` ### [`v3.0.0`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#300) [Compare Source](https://github.com/prettier/prettier/compare/2.8.8...3.0.0) [diff](https://github.com/prettier/prettier/compare/3.0.0-alpha.6...3.0.0) 🔗 [Release Notes](https://prettier.io/blog/2023/07/05/3.0.0.html) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xNTkuNyIsInVwZGF0ZWRJblZlciI6IjM2LjU3LjQiLCJ0YXJnZXRCcmFuY2giOiJtYWluIn0=-->
renovate-bot added 1 commit 2023-07-11 05:01:17 +02:00
renovate-bot force-pushed renovate/prettier-3.x from 73bc56aae6 to e1351f37c8 2023-07-11 06:01:52 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from e1351f37c8 to 5b92e2c634 2023-07-11 07:01:28 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 5b92e2c634 to cd62fd8899 2023-07-11 08:01:56 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from cd62fd8899 to 7a906452d1 2023-07-11 09:01:40 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 7a906452d1 to ea89f1c9af 2023-07-11 10:01:02 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from ea89f1c9af to f19ab70a62 2023-07-14 09:01:44 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from f19ab70a62 to 6b1d514be8 2023-07-15 21:01:30 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 6b1d514be8 to dfafcdae8d 2023-07-17 00:01:27 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from dfafcdae8d to f3e8dee919 2023-07-19 16:01:33 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from f3e8dee919 to 2c7f489a53 2023-07-20 18:02:11 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 2c7f489a53 to 8182cef088 2023-07-20 19:01:33 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 8182cef088 to f1a85aab78 2023-07-28 07:01:47 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from f1a85aab78 to 3c1f0b8653 2023-07-28 08:01:26 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 3c1f0b8653 to 8a9da1cc7e 2023-07-29 11:01:45 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 8a9da1cc7e to ea28b06f3c 2023-07-30 14:01:38 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from ea28b06f3c to 209cd35dec 2023-07-30 15:01:29 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 209cd35dec to 873764a2d7 2023-08-02 11:01:20 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 873764a2d7 to af1674f832 2023-08-03 09:02:03 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from af1674f832 to 979b3a907e 2023-08-04 05:01:27 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 979b3a907e to 31b254921e 2023-08-05 08:01:23 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 31b254921e to afd2343d7c 2023-08-07 01:01:27 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from afd2343d7c to 0b5f5432fd 2023-08-09 13:02:41 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 0b5f5432fd to 333e257cf8 2023-08-10 16:01:47 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 333e257cf8 to 49716f7d5e 2023-08-11 19:02:11 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 49716f7d5e to 4554439158 2023-08-11 20:01:24 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 4554439158 to 07129d7529 2023-08-12 23:03:38 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 07129d7529 to 11d1254393 2023-08-15 18:01:38 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 11d1254393 to 3a11e5f3b6 2023-08-17 13:01:54 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 3a11e5f3b6 to 79b01c1552 2023-08-19 01:02:34 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 79b01c1552 to 45e0d737a0 2023-08-19 02:01:54 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 45e0d737a0 to 49144cb3ae 2023-08-20 14:01:22 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 49144cb3ae to 74b9850294 2023-08-25 04:01:02 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 74b9850294 to 6cbc987ad8 2023-08-26 21:01:37 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 6cbc987ad8 to fda47a318e 2023-08-28 00:01:33 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from fda47a318e to b788c95ef3 2023-08-29 03:01:14 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from b788c95ef3 to ec4a40b70b 2023-08-29 04:00:59 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from ec4a40b70b to f9de3f98df 2023-08-29 15:01:23 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from f9de3f98df to 99cdfd571c 2023-08-31 19:01:13 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 99cdfd571c to 10d0cce143 2023-09-02 09:01:01 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 10d0cce143 to 979f40bf37 2023-09-08 08:01:12 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 979f40bf37 to f4b4968f3d 2023-09-09 11:01:18 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from f4b4968f3d to 6ae1e6383e 2023-09-10 14:01:36 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 6ae1e6383e to f24dc71e73 2023-09-10 15:01:18 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from f24dc71e73 to b729b8d522 2023-09-10 16:01:20 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from b729b8d522 to b3cbb7a8f3 2023-09-12 21:01:06 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from b3cbb7a8f3 to 955b18786b 2023-09-16 13:01:09 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 955b18786b to df50d1d956 2023-09-20 04:01:10 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from df50d1d956 to 7abc14c47c 2023-09-23 09:01:18 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 7abc14c47c to dac5d2f682 2023-09-24 12:01:25 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from dac5d2f682 to 38c084fc42 2023-09-25 15:00:57 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 38c084fc42 to 19821cd5d8 2023-09-26 21:01:11 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 19821cd5d8 to 552fba1840 2023-09-28 08:01:49 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 552fba1840 to ede637b381 2023-09-29 11:01:08 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from ede637b381 to 069e8260c9 2023-09-30 14:01:11 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 069e8260c9 to 0cb2fdcf30 2023-10-02 21:01:17 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 0cb2fdcf30 to a39a88728a 2023-10-05 04:01:19 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from a39a88728a to 8d20378f87 2023-10-06 07:01:23 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 8d20378f87 to 12d7aa9fa1 2023-10-07 09:01:22 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 12d7aa9fa1 to f54c67a1a0 2023-10-08 12:01:13 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from f54c67a1a0 to b731571255 2023-10-14 10:01:23 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from b731571255 to 754cb39a13 2023-10-15 18:01:49 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 754cb39a13 to 4f00d1e30d 2023-10-17 10:01:01 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 4f00d1e30d to f558f64876 2023-10-19 20:01:07 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from f558f64876 to cf7c8d5c6f 2023-10-21 18:01:52 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from cf7c8d5c6f to b2115df6cb 2023-10-22 21:01:28 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from b2115df6cb to ce8b4a79d3 2023-10-22 22:01:15 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from ce8b4a79d3 to 03383384eb 2023-10-25 18:01:12 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 03383384eb to 743854bdd3 2023-10-27 13:01:11 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 743854bdd3 to 0e386f2b78 2023-10-28 16:01:08 +02:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 0e386f2b78 to f8cf9de9a6 2023-10-29 18:01:25 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from f8cf9de9a6 to f11fac5fb6 2023-11-01 06:01:16 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from f11fac5fb6 to 4ca13d228b 2023-11-02 09:01:17 +01:00 Compare
asdil1991 requested review from saluu 2023-11-03 19:34:14 +01:00
renovate-bot force-pushed renovate/prettier-3.x from 4ca13d228b to 49e9f762ec 2023-11-05 01:01:08 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 49e9f762ec to 73a0ae571c 2023-11-05 23:01:22 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 73a0ae571c to fd06de88d8 2023-11-06 00:01:25 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from fd06de88d8 to 0b1e075c8f 2023-11-07 03:01:00 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 0b1e075c8f to c68c17708a 2023-11-09 02:01:01 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from c68c17708a to 00f089e123 2023-11-12 07:01:52 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 00f089e123 to eb67f97275 2023-11-13 04:01:32 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from eb67f97275 to 3777a64633 2023-11-13 12:01:13 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 3777a64633 to 1db984d83f 2023-11-15 17:00:52 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 1db984d83f to 414d8e8dd6 2023-11-17 12:01:20 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 414d8e8dd6 to 08dc9e1155 2023-11-18 15:01:45 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 08dc9e1155 to b37971b8ec 2023-11-19 18:01:05 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from b37971b8ec to 431d53ad58 2023-11-22 06:01:27 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 431d53ad58 to ba44231535 2023-11-23 08:01:44 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from ba44231535 to d826259e6f 2023-11-25 11:01:03 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from d826259e6f to 84b603e36c 2023-11-27 18:01:36 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 84b603e36c to 61b29f5a36 2023-11-29 05:01:30 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 61b29f5a36 to 91d661568e 2023-12-01 10:01:35 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 91d661568e to 58b69ad66a 2023-12-02 13:01:49 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 58b69ad66a to 60585f52fd 2023-12-03 16:01:22 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 60585f52fd to b50aa86147 2023-12-03 17:01:09 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from b50aa86147 to e0bf31922c 2023-12-07 11:01:14 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from e0bf31922c to e8cfbeec43 2023-12-09 11:01:39 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from e8cfbeec43 to 57b866ad6f 2023-12-10 10:02:08 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 57b866ad6f to 28fda73be6 2023-12-12 10:01:07 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 28fda73be6 to b8d8bbbae1 2023-12-14 14:01:13 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from b8d8bbbae1 to c0cc939854 2023-12-17 03:01:37 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from c0cc939854 to 0dbc778d07 2023-12-18 10:01:41 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 0dbc778d07 to af716ac4e6 2023-12-19 13:01:43 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from af716ac4e6 to 53ad630b01 2024-01-12 18:02:48 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from 53ad630b01 to a7ee0e2fd7 2024-01-12 21:02:33 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from a7ee0e2fd7 to bfa9f8ee66 2024-01-14 05:02:33 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from bfa9f8ee66 to f8ddf3225f 2024-01-17 05:02:30 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from f8ddf3225f to feeba72e71 2024-01-17 12:02:30 +01:00 Compare
renovate-bot force-pushed renovate/prettier-3.x from feeba72e71 to f047005fe6 2024-02-04 07:03:06 +01:00 Compare
Some required checks are missing.
You are not authorized to merge this pull request.
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: dungeonslayers/tickwerk#12
No description provided.