Release 1.17.1
commit
e3e4d23a12
|
@ -26,7 +26,7 @@ Tip! Don't write this stuff manually.
|
|||
|
||||
-->
|
||||
|
||||
**Prettier 1.17.0**
|
||||
**Prettier 1.17.1**
|
||||
[Playground link](https://prettier.io/playground/#.....)
|
||||
```sh
|
||||
# Options (if any):
|
||||
|
|
|
@ -19,7 +19,7 @@ BEFORE SUBMITTING AN ISSUE:
|
|||
-->
|
||||
|
||||
**Environments:**
|
||||
- Prettier Version: 1.17.0
|
||||
- Prettier Version: 1.17.1
|
||||
- Running Prettier via: <!-- CLI, Node.js API, Browser API, etc. -->
|
||||
- Runtime: <!-- Node.js v6, Chrome v67, etc. -->
|
||||
- Operating System: <!-- Windows, Linux, macOS, etc. -->
|
||||
|
|
161
CHANGELOG.md
161
CHANGELOG.md
|
@ -1,3 +1,164 @@
|
|||
# 1.17.1
|
||||
|
||||
[diff](https://github.com/prettier/prettier/compare/1.17.0...1.17.1)
|
||||
|
||||
- Range: Fix ranged formatting not using the correct line width ([#6050] by [@mathieulj])
|
||||
|
||||
<!-- prettier-ignore -->
|
||||
```js
|
||||
// Input
|
||||
function f() {
|
||||
if (true) {
|
||||
call("this line is 79 chars", "long", "it should", "stay as single line");
|
||||
}
|
||||
}
|
||||
|
||||
// Output (Prettier stable run with --range-start 30 --range-end 110)
|
||||
function f() {
|
||||
if (true) {
|
||||
call(
|
||||
"this line is 79 chars",
|
||||
"long",
|
||||
"it should",
|
||||
"stay as single line"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// Output (Prettier stable run without range)
|
||||
function f() {
|
||||
if (true) {
|
||||
call("this line is 79 chars", "long", "it should", "stay as single line");
|
||||
}
|
||||
}
|
||||
|
||||
// Output (Prettier master with and without range)
|
||||
function f() {
|
||||
if (true) {
|
||||
call("this line is 79 chars", "long", "it should", "stay as single line");
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
- JavaScript: Fix closure compiler typecasts ([#5947] by [@jridgewell])
|
||||
|
||||
If a closing parenthesis follows after a typecast in an inner expression, the typecast would wrap everything to the that following parenthesis.
|
||||
|
||||
<!-- prettier-ignore -->
|
||||
```js
|
||||
// Input
|
||||
test(/** @type {!Array} */(arrOrString).length);
|
||||
test(/** @type {!Array} */((arrOrString)).length + 1);
|
||||
|
||||
// Output (Prettier stable)
|
||||
test(/** @type {!Array} */ (arrOrString.length));
|
||||
test(/** @type {!Array} */ (arrOrString.length + 1));
|
||||
|
||||
// Output (Prettier master)
|
||||
test(/** @type {!Array} */ (arrOrString).length);
|
||||
test(/** @type {!Array} */ (arrOrString).length + 1);
|
||||
```
|
||||
|
||||
- JavaScript: respect parenthesis around optional chaining before await ([#6087] by [@evilebottnawi])
|
||||
|
||||
<!-- prettier-ignore -->
|
||||
```js
|
||||
// Input
|
||||
async function myFunction() {
|
||||
var x = (await foo.bar.blah)?.hi;
|
||||
}
|
||||
|
||||
// Output (Prettier stable)
|
||||
async function myFunction() {
|
||||
var x = await foo.bar.blah?.hi;
|
||||
}
|
||||
|
||||
// Output (Prettier master)
|
||||
async function myFunction() {
|
||||
var x = (await foo.bar.blah)?.hi;
|
||||
}
|
||||
```
|
||||
|
||||
- Handlebars: Fix {{else}}{{#if}} into {{else if}} merging ([#6080] by [@dcyriller])
|
||||
|
||||
<!-- prettier-ignore -->
|
||||
```
|
||||
// Input
|
||||
{{#if a}}
|
||||
a
|
||||
{{else}}
|
||||
{{#if c}}
|
||||
c
|
||||
{{/if}}
|
||||
e
|
||||
{{/if}}
|
||||
|
||||
// Output (Prettier stable)
|
||||
{{#if a}}
|
||||
a
|
||||
{{else if c}}
|
||||
c
|
||||
e
|
||||
{{/if}}
|
||||
|
||||
// Output (Prettier master)
|
||||
Code Sample
|
||||
{{#if a}}
|
||||
a
|
||||
{{else}}
|
||||
{{#if c}}
|
||||
c
|
||||
{{/if}}
|
||||
e
|
||||
{{/if}}
|
||||
```
|
||||
|
||||
- JavaScript: Improved multiline closure compiler typecast comment detection ([#6070] by [@yangsu])
|
||||
|
||||
Previously, multiline closure compiler typecast comments with lines that
|
||||
start with \* weren't flagged correctly and the subsequent parenthesis were
|
||||
stripped. Prettier master fixes this issue.
|
||||
|
||||
<!-- prettier-ignore -->
|
||||
```js
|
||||
// Input
|
||||
const style =/**
|
||||
* @type {{
|
||||
* width: number,
|
||||
* }}
|
||||
*/({
|
||||
width,
|
||||
});
|
||||
|
||||
// Output (Prettier stable)
|
||||
const style =/**
|
||||
* @type {{
|
||||
* width: number,
|
||||
* }}
|
||||
*/ {
|
||||
width,
|
||||
};
|
||||
|
||||
// Output (Prettier master)
|
||||
const style =/**
|
||||
* @type {{
|
||||
* width: number,
|
||||
* }}
|
||||
*/({
|
||||
width,
|
||||
});
|
||||
```
|
||||
|
||||
[@mathieulj]: https://github.com/mathieulj
|
||||
[@yangsu]: https://github.com/yangsu
|
||||
[@dcyriller]: https://github.com/dcyriller
|
||||
[@jridgewell]: https://github.com/jridgewell
|
||||
[@evilebottnawi]: https://github.com/evilebottnawi
|
||||
[#6050]: https://github.com/prettier/prettier/pull/6050
|
||||
[#6070]: https://github.com/prettier/prettier/pull/6070
|
||||
[#6080]: https://github.com/prettier/prettier/pull/6080
|
||||
[#6087]: https://github.com/prettier/prettier/pull/6087
|
||||
|
||||
# 1.17.0
|
||||
|
||||
[diff](https://github.com/prettier/prettier/compare/1.16.2...1.17.0)
|
||||
|
|
|
@ -42,153 +42,6 @@ Examples:
|
|||
|
||||
-->
|
||||
|
||||
- Range: Fix ranged formatting not using the correct line width ([#6050] by [@mathieulj])
|
||||
|
||||
<!-- prettier-ignore -->
|
||||
```js
|
||||
// Input
|
||||
function f() {
|
||||
if (true) {
|
||||
call("this line is 79 chars", "long", "it should", "stay as single line");
|
||||
}
|
||||
}
|
||||
|
||||
// Output (Prettier stable run with --range-start 30 --range-end 110)
|
||||
function f() {
|
||||
if (true) {
|
||||
call(
|
||||
"this line is 79 chars",
|
||||
"long",
|
||||
"it should",
|
||||
"stay as single line"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// Output (Prettier stable run without range)
|
||||
function f() {
|
||||
if (true) {
|
||||
call("this line is 79 chars", "long", "it should", "stay as single line");
|
||||
}
|
||||
}
|
||||
|
||||
// Output (Prettier master with and without range)
|
||||
function f() {
|
||||
if (true) {
|
||||
call("this line is 79 chars", "long", "it should", "stay as single line");
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
- JavaScript: Fix closure compiler typecasts ([#5947] by [@jridgewell])
|
||||
|
||||
If a closing parenthesis follows after a typecast in an inner expression, the typecast would wrap everything to the that following parenthesis.
|
||||
|
||||
<!-- prettier-ignore -->
|
||||
```js
|
||||
// Input
|
||||
test(/** @type {!Array} */(arrOrString).length);
|
||||
test(/** @type {!Array} */((arrOrString)).length + 1);
|
||||
|
||||
// Output (Prettier stable)
|
||||
test(/** @type {!Array} */ (arrOrString.length));
|
||||
test(/** @type {!Array} */ (arrOrString.length + 1));
|
||||
|
||||
// Output (Prettier master)
|
||||
test(/** @type {!Array} */ (arrOrString).length);
|
||||
test(/** @type {!Array} */ (arrOrString).length + 1);
|
||||
```
|
||||
|
||||
- JavaScript: respect parenthesis around optional chaining before await ([#6087] by [@evilebottnawi])
|
||||
|
||||
<!-- prettier-ignore -->
|
||||
```js
|
||||
// Input
|
||||
async function myFunction() {
|
||||
var x = (await foo.bar.blah)?.hi;
|
||||
}
|
||||
|
||||
// Output (Prettier stable)
|
||||
async function myFunction() {
|
||||
var x = await foo.bar.blah?.hi;
|
||||
}
|
||||
|
||||
// Output (Prettier master)
|
||||
async function myFunction() {
|
||||
var x = (await foo.bar.blah)?.hi;
|
||||
}
|
||||
```
|
||||
|
||||
- Handlebars: Fix {{else}}{{#if}} into {{else if}} merging ([#6080] by [@dcyriller])
|
||||
|
||||
<!-- prettier-ignore -->
|
||||
```
|
||||
// Input
|
||||
{{#if a}}
|
||||
a
|
||||
{{else}}
|
||||
{{#if c}}
|
||||
c
|
||||
{{/if}}
|
||||
e
|
||||
{{/if}}
|
||||
|
||||
// Output (Prettier stable)
|
||||
{{#if a}}
|
||||
a
|
||||
{{else if c}}
|
||||
c
|
||||
e
|
||||
{{/if}}
|
||||
|
||||
// Output (Prettier master)
|
||||
Code Sample
|
||||
{{#if a}}
|
||||
a
|
||||
{{else}}
|
||||
{{#if c}}
|
||||
c
|
||||
{{/if}}
|
||||
e
|
||||
{{/if}}
|
||||
```
|
||||
|
||||
- JavaScript: Improved multiline closure compiler typecast comment detection ([#6070] by [@yangsu])
|
||||
|
||||
Previously, multiline closure compiler typecast comments with lines that
|
||||
start with \* weren't flagged correctly and the subsequent parenthesis were
|
||||
stripped. Prettier master fixes this issue.
|
||||
|
||||
<!-- prettier-ignore -->
|
||||
```js
|
||||
// Input
|
||||
const style =/**
|
||||
* @type {{
|
||||
* width: number,
|
||||
* }}
|
||||
*/({
|
||||
width,
|
||||
});
|
||||
|
||||
// Output (Prettier stable)
|
||||
const style =/**
|
||||
* @type {{
|
||||
* width: number,
|
||||
* }}
|
||||
*/ {
|
||||
width,
|
||||
};
|
||||
|
||||
// Output (Prettier master)
|
||||
const style =/**
|
||||
* @type {{
|
||||
* width: number,
|
||||
* }}
|
||||
*/({
|
||||
width,
|
||||
});
|
||||
```
|
||||
|
||||
- JavaScript: Don't break simple template literals ([#5979] by [@jwbay])
|
||||
|
||||
<!-- prettier-ignore -->
|
||||
|
|
Loading…
Reference in New Issue