Skip to content

Commit

Permalink
Release 1.16.1
Browse files Browse the repository at this point in the history
  • Loading branch information
ikatyang committed Jan 22, 2019
1 parent 153d2d0 commit 0274f9c
Show file tree
Hide file tree
Showing 6 changed files with 119 additions and 115 deletions.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/formatting.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Tip! Don't write this stuff manually.
-->

**Prettier 1.16.0**
**Prettier 1.16.1**
[Playground link](https://prettier.io/playground/#.....)
```sh
# Options (if any):
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/integration.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ BEFORE SUBMITTING AN ISSUE:
-->

**Environments:**
- Prettier Version: 1.16.0
- Prettier Version: 1.16.1
- Running Prettier via: <!-- CLI, Node.js API, Browser API, etc. -->
- Runtime: <!-- Node.js v6, Chrome v67, etc. -->
- Operating System: <!-- Windows, Linux, macOS, etc. -->
Expand Down
115 changes: 115 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,118 @@
# 1.16.1

[diff](https://github.com/prettier/prettier/compare/1.16.0...1.16.1)

- JavaScript: Do not format functions with arguments as react hooks ([#5778] by [@SimenB])

The formatting added in Prettier 1.16 would format any function receiving an
arrow function and an array literal to match React Hook's documentation.
Prettier will now format this the same as before that change if the arrow
function receives any arguments.

<!-- prettier-ignore -->
```js
// Input
["red", "white", "blue", "black", "hotpink", "rebeccapurple"].reduce(
(allColors, color) => {
return allColors.concat(color);
},
[]
);

// Output (Prettier 1.16.0)
["red", "white", "blue", "black", "hotpink", "rebeccapurple"].reduce((
allColors,
color
) => {
return allColors.concat(color);
}, []);

// Output (Prettier 1.16.1)
["red", "white", "blue", "black", "hotpink", "rebeccapurple"].reduce(
(allColors, color) => {
return allColors.concat(color);
},
[]
);
```

- JavaScript: Add necessary parentheses for decorators ([#5785] by [@ikatyang])

Parentheses for decorators with nested call expressions are optional for legacy decorators
but they're required for decorators in the current [proposal](https://tc39.github.io/proposal-decorators/#sec-syntax).

<!-- prettier-ignore -->
```js
// Input
class X {
@(computed().volatile())
prop
}

// Output (Prettier 1.16.0)
class X {
@computed().volatile()
prop
}

// Output (Prettier 1.16.1)
class X {
@(computed().volatile())
prop
}
```

- TypeScript: Stable parentheses for function type in the return type of arrow function ([#5790] by [@ikatyang])

There's a regression introduced in 1.16 that
parentheses for function type in the return type of arrow function were kept adding/removing.
Their parentheses are always printed now.

<!-- prettier-ignore -->
```ts
// Input
const foo = (): (() => void) => (): void => null;
const bar = (): () => void => (): void => null;

// First Output (Prettier 1.16.0)
const foo = (): () => void => (): void => null;
const bar = (): (() => void) => (): void => null;

// Second Output (Prettier 1.16.0)
const foo = (): (() => void) => (): void => null;
const bar = (): () => void => (): void => null;

// Output (Prettier 1.16.1)
const foo = (): (() => void) => (): void => null;
const bar = (): (() => void) => (): void => null;
```

- MDX: Correctly recognize inline JSX ([#5783] by [@ikatyang])

Previously, some inline JSXs are wrongly recognized as block HTML/JSX,
which causes unexpected behaviors. This issue is now fixed.

<!-- prettier-ignore -->
```md
<!-- Input -->
_foo <InlineJSX /> bar_

<!-- Output (Prettier 1.16.0) -->
_foo

<InlineJSX /> bar_

<!-- Output (Prettier 1.16.1) -->
_foo <InlineJSX /> bar_
```

[@ikatyang]: https://github.com/ikatyang
[@simenb]: https://github.com/SimenB
[#5778]: https://github.com/prettier/prettier/pull/5778
[#5783]: https://github.com/prettier/prettier/pull/5783
[#5785]: https://github.com/prettier/prettier/pull/5785
[#5790]: https://github.com/prettier/prettier/pull/5790

# 1.16.0

[diff](https://github.com/prettier/prettier/compare/1.15.3...1.16.0)
Expand Down
111 changes: 0 additions & 111 deletions CHANGELOG.unreleased.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,114 +41,3 @@ Examples:
```
-->

- JavaScript: Do not format functions with arguments as react hooks ([#5778] by [@SimenB])

The formatting added in Prettier 1.16 would format any function receiving an
arrow function and an array literal to match React Hook's documentation.
Prettier will now format this the same as before that change if the arrow
function receives any arguments.

<!-- prettier-ignore -->
```js
// Input
["red", "white", "blue", "black", "hotpink", "rebeccapurple"].reduce(
(allColors, color) => {
return allColors.concat(color);
},
[]
);

// Output (Prettier stable)
["red", "white", "blue", "black", "hotpink", "rebeccapurple"].reduce((
allColors,
color
) => {
return allColors.concat(color);
}, []);

// Output (Prettier master)
["red", "white", "blue", "black", "hotpink", "rebeccapurple"].reduce(
(allColors, color) => {
return allColors.concat(color);
},
[]
);
```

- JavaScript: Add necessary parentheses for decorators ([#5785] by [@ikatyang])

Parentheses for decorators with nested call expressions are optional for legacy decorators
but they're required for decorators in the current [proposal](https://tc39.github.io/proposal-decorators/#sec-syntax).

<!-- prettier-ignore -->
```js
// Input
class X {
@(computed().volatile())
prop
}

// Output (Prettier stable)
class X {
@computed().volatile()
prop
}

// Output (Prettier master)
class X {
@(computed().volatile())
prop
}
```

- MDX: Correctly recognize inline JSX ([#5783] by [@ikatyang])

Previously, some inline JSXs are wrongly recognized as block HTML/JSX,
which causes unexpected behaviors. This issue is now fixed.

<!-- prettier-ignore -->
```md
<!-- Input -->
_foo <InlineJSX /> bar_

<!-- Output (Prettier stable) -->
_foo

<InlineJSX /> bar_

<!-- Output (Prettier master) -->
_foo <InlineJSX /> bar_
```

- TypeScript: Stable parentheses for function type in the return type of arrow function ([#5790] by [@ikatyang])

There's a regression introduced in 1.16 that
parentheses for function type in the return type of arrow function were kept adding/removing.
Their parentheses are always printed now.

<!-- prettier-ignore -->
```ts
// Input
const foo = (): (() => void) => (): void => null;
const bar = (): () => void => (): void => null;

// First Output (Prettier stable)
const foo = (): () => void => (): void => null;
const bar = (): (() => void) => (): void => null;

// Second Output (Prettier stable)
const foo = (): (() => void) => (): void => null;
const bar = (): () => void => (): void => null;

// Output (Prettier master)
const foo = (): (() => void) => (): void => null;
const bar = (): (() => void) => (): void => null;
```

[@ikatyang]: https://github.com/ikatyang
[@simenb]: https://github.com/SimenB
[#5778]: https://github.com/prettier/prettier/pull/5778
[#5783]: https://github.com/prettier/prettier/pull/5783
[#5785]: https://github.com/prettier/prettier/pull/5785
[#5790]: https://github.com/prettier/prettier/pull/5790
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "prettier",
"version": "1.17.0-dev",
"version": "1.16.1",
"description": "Prettier is an opinionated code formatter",
"bin": {
"prettier": "./bin/prettier.js"
Expand Down
2 changes: 1 addition & 1 deletion website/versioned_docs/version-stable/editors.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ For more details see [the Vim setup guide](vim.md).

## Visual Studio Code

`prettier-vscode` can be installed using the extension sidebar. Search for `Prettier - Code formatter`. It can also be installed using `ext install prettier-vscode` in the command palette. [Check its repository for configuration and shortcuts](https://github.com/prettier/prettier-vscode).
`prettier-vscode` can be installed using the extension sidebar. Search for `Prettier - Code formatter`. It can also be installed using `ext install esbenp.prettier-vscode` in the command palette. [Check its repository for configuration and shortcuts](https://github.com/prettier/prettier-vscode).

If you'd like to toggle the formatter on and off, install [`vscode-status-bar-format-toggle`](https://marketplace.visualstudio.com/items?itemName=tombonnike.vscode-status-bar-format-toggle).

Expand Down

0 comments on commit 0274f9c

Please sign in to comment.