All Versions
120
Latest Version
Avg Release Cycle
27 days
Latest Release
55 days ago

Changelog History
Page 3

  • v2.4.1 Changes

    diff

    πŸ›  Fix wildcard syntax in @forward (#11482) (#11487 by @niksy)

    <!-- prettier-ignore -->

    // Input
    @forward "library" as btn-*;
    
    // Prettier 2.4.0
    @forward "library" as btn- *;
    
    // Prettier 2.4.1
    @forward "library" as btn-*;
    
    βž• Add new CLI option debug-print-ast (#11514 by @sosukesuzuki)

    πŸ–¨ A new --debug-print-ast CLI flag for debugging.

  • v2.4.0 Changes

    diff

    πŸš€ πŸ”— Release Notes

  • v2.3.2 Changes

    diff

    πŸ›  Fix failure on dir with trailing slash (#11000 by @fisker)

    <!-- prettier-ignore -->

    $ ls
    1.js  1.unknown
    
  • v2.3.1 Changes

    diff

    πŸ‘Œ Support TypeScript 4.3 (#10945 by @sosukesuzuki)
    πŸ”Š override modifiers in class elements
    class Foo extends  {
      override method() {}
    }
    
    πŸ”Š static index signatures ([key: KeyType]: ValueType) in classes
    class Foo {
      static [key: string]: Bar;
    }
    
    πŸ”Š get / set in type declarations
    interface Foo {
      set foo(value);
      get foo(): string;
    }
    
    Preserve attributes order for element node (#10958 by @dcyriller)

    <!-- prettier-ignore -->

    {{!-- Input --}}
    <MyComponent
      {{! this is a comment for arg 1}}
      @arg1="hello"
      {{on "clik" this.modify}}
      @arg2="hello"
      {{! this is a comment for arg 3}}
      @arg3="hello"
      @arg4="hello"
      {{! this is a comment for arg 5}}
      @arg5="hello"
      ...arguments
    />
    {{!-- Prettier stable --}}
    <MyComponent
      @arg1="hello"
      @arg2="hello"
      @arg3="hello"
      @arg4="hello"
      @arg5="hello"
      ...arguments
      {{on "clik" this.modify}}
      {{! this is a comment for arg 1}}
      {{! this is a comment for arg 3}}
      {{! this is a comment for arg 5}}
    />
    {{!-- Prettier main --}}
    <MyComponent
      {{! this is a comment for arg 1}}
      @arg1="hello"
      {{on "clik" this.modify}}
      @arg2="hello"
      {{! this is a comment for arg 3}}
      @arg3="hello"
      @arg4="hello"
      {{! this is a comment for arg 5}}
      @arg5="hello"
      ...arguments
    />
    
    Track cursor position properly when it’s at the end of the range to format (#10938 by @j-f1)

    ⚑️ Previously, if the cursor was at the end of the range to format, it would simply be placed back at the end of the updated range. Now, it will be repositioned if Prettier decides to add additional code to the end of the range (such as a semicolon).

    <!-- prettier-ignore -->

    // Input (<|> represents the cursor)
    const someVariable = myOtherVariable<|>
    // range to format:  ^^^^^^^^^^^^^^^
    
    // Prettier stable
    const someVariable = myOtherVariable;<|>
    // range to format:  ^^^^^^^^^^^^^^^
    
    // Prettier main
    const someVariable = myOtherVariable<|>;
    // range to format:  ^^^^^^^^^^^^^^^
    
    Break the LHS of type alias that has complex type parameters (#10901 by @sosukesuzuki)

    <!-- prettier-ignore -->

    // Input
    type FieldLayoutWith<
      T extends string,
      S extends unknown = { width: string }
    > = {
      type: T;
      code: string;
      size: S;
    };
    
    // Prettier stable
    type FieldLayoutWith<T extends string, S extends unknown = { width: string }> =
      {
        type: T;
        code: string;
        size: S;
      };
    
    // Prettier main
    type FieldLayoutWith<
      T extends string,
      S extends unknown = { width: string }
    > = {
      type: T;
      code: string;
      size: S;
    };
    
    
    Break the LHS of assignments that has complex type parameters (#10916 by @sosukesuzuki)

    <!-- prettier-ignore -->

    // Input
    const map: Map<
      Function,
      Map<string | void, { value: UnloadedDescriptor }>
    > = new Map();
    
    // Prettier stable
    const map: Map<Function, Map<string | void, { value: UnloadedDescriptor }>> =
      new Map();
    
    // Prettier main
    const map: Map<
      Function,
      Map<string | void, { value: UnloadedDescriptor }>
    > = new Map();
    
    
    πŸ›  Fix incorrectly wrapped arrow functions with return types (#10940 by @thorn0)

    <!-- prettier-ignore -->

    // Input
    longfunctionWithCall12("bla", foo, (thing: string): complex<type<something>> => {
      code();
    });
    
    // Prettier stable
    longfunctionWithCall12("bla", foo, (thing: string): complex<
      type<something>
    > => {
      code();
    });
    
    // Prettier main
    longfunctionWithCall12(
      "bla",
      foo,
      (thing: string): complex<type<something>> => {
        code();
      }
    );
    
    Avoid breaking call expressions after assignments with complex type arguments (#10949 by @sosukesuzuki)

    <!-- prettier-ignore -->

    // Input
    const foo = call<{
      prop1: string;
      prop2: string;
      prop3: string;
    }>();
    
    // Prettier stable
    const foo =
      call<{
        prop1: string;
        prop2: string;
        prop3: string;
      }>();
    
    // Prettier main
    const foo = call<{
      prop1: string;
      prop2: string;
      prop3: string;
    }>();
    
    
    πŸ›  Fix order of override modifiers (#10961 by @sosukesuzuki)

    <!-- prettier-ignore -->

    // Input
    class Foo extends Bar {
      abstract override foo: string;
    }
    
    // Prettier stable
    class Foo extends Bar {
      override abstract foo: string;
    }
    
    // Prettier main
    class Foo extends Bar {
      abstract override foo: string;
    }
    
  • v2.3.0 Changes

    diff

    πŸš€ πŸ”— Release Notes

  • v2.2.1 Changes

    November 28, 2020

    diff

    πŸ›  Fix formatting for AssignmentExpression with ClassExpression (#9741 by @sosukesuzuki)

    <!-- prettier-ignore -->

    // 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 Changes

    November 20, 2020

    2.2.0

    diff

    πŸš€ πŸ”— Release Notes

  • v2.1.2 Changes

    September 16, 2020

    diff

    πŸ›  Fix formatting for directives in fields (#9116 by @sosukesuzuki)

    <!-- prettier-ignore -->

  • v2.1.1 Changes

    August 26, 2020

    diff

    πŸ›  Fix format on html with frontMatter (#9043 by @fisker)

    <!-- prettier-ignore -->

    <!-- 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)

    <!-- prettier-ignore -->

    // 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)

    <!-- prettier-ignore -->

    <!-- Input -->
    <style lang="sass">
    .hero
      @include background-centered
    </style>
    
    <!-- Prettier stable -->
    <style lang="sass">
    .hero @include background-centered;
    </style>
    
    <!-- Prettier master -->
    <style lang="sass">
      .hero
        @include background-centered
    </style>
    
    πŸ›  Fix self-closing blocks and blocks with src attribute format (#9052, #9055 by @fisker)

    <!-- prettier-ignore -->

    <!-- 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 Changes

    August 24, 2020

    2.1.0

    diff

    πŸš€ πŸ”— Release Notes