Skip to content

chore(deps): update dependency prettier to v2

Renovate-Bot requested to merge renovate/prettier-2.x into dev

This MR contains the following updates:

Package Type Update Change
prettier (source) devDependencies major ^1.19.1 -> ^2.0.0

Release Notes

prettier/prettier

v2.7.1

Compare Source

diff

Keep useful empty lines in description (#​13013 by @​chimurai)

v2.7.0

Compare Source

""" First line Second Line """ type Person { name: String }

v2.6.2

Compare Source

diff

Fix LESS/SCSS format error (#​12536 by @​fisker)
// 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 by @​fisker, fixes in meriyah by @​3cp)

Fixes bugs when parsing following valid code:

foo(await bar());
const regex = /.*/ms;
const element = <p>{/w/.test(s)}</p>;
class A extends B {
  #privateMethod() {
    super.method();
  }
}

v2.6.1

Compare Source

diff

Ignore loglevel when printing information (#​12477 by @​fisker)

v2.6.0

Compare Source

prettier --loglevel silent --find-config-path index.js

v2.5.1

Compare Source

diff

Improve formatting for empty tuple types (#​11884 by @​sosukesuzuki)
// 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 by @​fisker)

A internal change in Prettier@v2.5.0 accidentally breaks the Jest inline snapshot test.

Support Glimmer's named blocks (#​11899 by @​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.

// Input
<Component>
  <:named></:named>
</Component>

// Prettier 2.5.0
<Component>
  <:named />
</Component>

// Prettier 2.5.1
<Component>
  <:named></:named>
</Component>

v2.5.0

Compare Source

diff

🔗 Release Notes

v2.4.1

Compare Source

diff

Fix wildcard syntax in @forward (#​11482) (#​11487 by @​niksy)
// Input
@&#8203;forward "library" as btn-*;

// Prettier 2.4.0
@&#8203;forward "library" as btn- *;

// Prettier 2.4.1
@&#8203;forward "library" as btn-*;
Add new CLI option debug-print-ast (#​11514 by @​sosukesuzuki)

A new --debug-print-ast CLI flag for debugging.

v2.4.0

Compare Source

diff

🔗 Release Notes

v2.3.2

Compare Source

diff

Fix failure on dir with trailing slash (#​11000 by @​fisker)
$ ls
1.js  1.unknown

v2.3.1

Compare Source

$ prettier . -l 1.js $ prettier ./ -l [error] No supported files were found in the directory: "./".

v2.3.0

Compare Source

diff

🔗 Release Notes

v2.2.1

Compare Source

diff

Fix formatting for AssignmentExpression with ClassExpression (#​9741 by @​sosukesuzuki)
// 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

Compare Source

diff

🔗 Release Notes

v2.1.2

Compare Source

diff

Fix formatting for directives in fields (#​9116 by @​sosukesuzuki)

v2.1.1

Compare Source

diff

Fix format on html with frontMatter (#​9043 by @​fisker)
<!-- Input -->
---
layout: foo
---

Test <a
href="https://prettier.io">abc</a>.

<!-- Prettier stable -->
TypeError: Cannot read property 'end' of undefined
  ...

<!-- Prettier master -->
---
layout: foo
---

Test <a href="https://prettier.io">abc</a>.
Fix broken format for ...infer T (#​9044 by @​fisker)
// Input
type Tail<T extends any[]> = T extends [infer U, ...infer R] ? R : never;

// Prettier stable
type Tail<T extends any[]> = T extends [infer U, ...(infer R)] ? R : never;

// Prettier master
type Tail<T extends any[]> = T extends [infer U, ...infer R] ? R : never;
Fix format on style[lang="sass"] (#​9051 by @​fisker)
<!-- Input -->
<style lang="sass">
.hero
  @&#8203;include background-centered
</style>

<!-- Prettier stable -->
<style lang="sass">
.hero @&#8203;include background-centered;
</style>

<!-- Prettier master -->
<style lang="sass">
  .hero
    @&#8203;include background-centered
</style>
Fix self-closing blocks and blocks with src attribute format (#​9052, #​9055 by @​fisker)
<!-- Input -->
<custom lang="markdown" src="./foo.md"></custom>
<custom lang="markdown" src="./foo.md" />
<custom lang="markdown" />

<!-- Prettier stable -->
<custom lang="markdown" src="./foo.md">

</custom>
<custom lang="markdown" src="./foo.md"

/>
<custom lang="markdown"

/>

<!-- Prettier master -->
<custom lang="markdown" src="./foo.md"></custom>
<custom lang="markdown" src="./foo.md" />
<custom lang="markdown" />

v2.1.0

Compare Source

diff

🔗 Release Notes

v2.0.5

Compare Source

diff

Less: Fix formatting of :extend (#​7984 by @​fisker)
// 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 if builtin require.resolve is overridden (#​8072 by @​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 MRETTIER_FALLBACK_RESOLVE environment variable to true.

v2.0.4

Compare Source

diff

Revert #​7869, "[TypeScript] format TSAsExpression with same logic as BinaryExpression" (#​7958)

v2.0.3

Compare Source

diff

JavaScript
Fix prettier-ignore inside JSX (#​7877 by @​fisker)
// Input
<div>
{
  /* prettier-ignore */
  x     ?   <Y/> : <Z/>
}
</div>;

// Prettier 2.0.2 (first output)
<div>
  {/* prettier-ignore */
  x     ?   <Y/> : <Z/>}
</div>;

// Prettier 2.0.2 (second output)
<div>{/* prettier-ignore */ x     ?   <Y/> : <Z/>}</div>;

// Prettier 2.0.3
<div>
  {
    /* prettier-ignore */
    x     ?   <Y/> : <Z/>
  }
</div>;
Fix regressions in styled-components template literals (#​7883 by @​thorn0)
// 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 by @​sidharthv96)
// Input
export const IAmIncredibleLongFunctionName = IAmAnotherFunctionName(<CRLF>
  (_0: IAmIncredibleLongParameterType) => {<CRLF>
    setTimeout(() => {<CRLF>
      /*<CRLF>
        Multiline comment<CRLF>
        Multiline comment<CRLF>
        Multiline comment<CRLF>
      */<CRLF>
      console.log(<CRLF>
        "Multiline string\<CRLF>
         Multiline string\<CRLF>
         Multiline string"<CRLF>
      );<CRLF>
    });<CRLF>
  }<CRLF>
);<CRLF>

// Prettier 2.0.2
export const IAmIncredibleLongFunctionName = IAmAnotherFunctionName(<CRLF>
  (_0: IAmIncredibleLongParameterType) => {<CRLF>
    setTimeout(() => {<CRLF>
      /*<LF>
        Multiline comment<LF>
        Multiline comment<LF>
        Multiline comment<LF>
      */<CRLF>
      console.log(<CRLF>
        "Multiline string\<LF>
         Multiline string\<LF>
         Multiline string"<CRLF>
      );<CRLF>
    });<CRLF>
  }<CRLF>
);<CRLF>

// Prettier 2.0.3: same as input
Fix bug with holes in array literals (#​7911 by @​bakkot)
// 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 by @​sosukesuzuki)
// 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 by @​sosukesuzuki)
// 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 by @​DmitryGonchar)
// 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 by @​fisker)
<!-- Input-->
<!--prettier-ignore--><span></span>
<!--prettier-ignore--><span>_</span>

<!-- Prettier 2.0.2 (first output) -->
<!--prettier-ignore--><span
></span>
<!--prettier-ignore--><span>_</span>

<!-- Prettier 2.0.2 (second output) -->
<!--prettier-ignore--><span

></span>
<!--prettier-ignore--><span>_</span>

<!-- Prettier 2.0.3 -->
<!--prettier-ignore--><span></span>
<!--prettier-ignore--><span>_</span>
Format script and style inside tags with a colon in the name (#​7916 by @​fisker)
<!-- Input -->
<with:colon>
<script>function foo(){      return 1}</script>
<style>a         {color:         #f00}</style>
</with:colon>

<!-- Prettier 2.0.2 -->
<with:colon>
  <script>
    function foo(){ return 1}
  </script>
  <style>
    a {color: #f00}
  </style>
</with:colon>

<!-- Prettier 2.0.3 -->
<with:colon>
  <script>
    function foo() {
      return 1;
    }
  </script>
  <style>
    a {
      color: #f00;
    }
  </style>
</with:colon>
Other changes

v2.0.2

Compare Source

diff

2.0 regressions
JavaScript: Fix formatting of pseudo-elements and pseudo-classes in styled-components template literals (#​7842 by @​thorn0)
// Input
const Foo = styled.div`
  ${media.smallDown}::before {}
`;

// Prettier 2.0.0
const Foo = styled.div`
  ${media.smallDown}: : before{
  }
`;

// Prettier 2.0.2
const Foo = styled.div`
  ${media.smallDown}::before {
  }
`;
TypeScript: Avoid trailing commas on index signatures with only one parameter (#​7836 by @​bakkot)

TypeScript index signatures technically allow multiple parameters and trailing commas, but it's an error to have multiple parameters there, and Babel's TypeScript parser does not accept them. So Prettier now avoids putting a trailing comma there when you have only one parameter.

// Input
export type A = {
  a?: {
    [
      x: string
    ]: typeof SomeLongLongLongTypeName[keyof typeof SomeLongLongLongTypeName];
  } | null;
};

// Prettier 2.0.0
export type A = {
  a?: {
    [
      x: string,
    ]: typeof SomeLongLongLongTypeName[keyof typeof SomeLongLongLongTypeName];
  } | null;
};

// Prettier 2.0.2
export type A = {
  a?: {
    [
      x: string
    ]: typeof SomeLongLongLongTypeName[keyof typeof SomeLongLongLongTypeName];
  } | null;
};
Revert "markdown: fix redundant leading spaces in markdown list" (#​7847)

See #​7846

Other changes
TypeScript: Fix prettier-ignore in union types (#​7798 by @​thorn0)
// Input
export type a =
  // foo
  | foo1&foo2
  // prettier-ignore
  | bar1&bar2
  // baz
  | baz1&baz2;

// Prettier 2.0.0
export type a =
  // foo
  | foo1&foo2
    // prettier-ignore
  // prettier-ignore
  | (bar1 & bar2)
  // baz
  | (baz1 & baz2);

// Prettier 2.0.2
export type a =
  // foo
  | (foo1 & foo2)
  // prettier-ignore
  | bar1&bar2
  // baz
  | (baz1 & baz2);

v2.0.1

Compare Source

diff

API: Fix build script to not corrupt import-fresh module (#​7820 by @​thorn0)

v2.0.0

Compare Source

diff

🔗 Release Notes


Configuration

📅 Schedule: At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever MR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, click this checkbox.

This MR has been generated by Renovate Bot.

Merge request reports

Loading