prettier v1.17.1 Release Notes
Release Date: 2019-05-13 // almost 5 years ago-
- Range: Fix ranged formatting not using the correct line width (#6050 by @mathieulj)
<!-- prettier-ignore -->
// Input function f() { if (true) { call("this line is 79 chars", "long", "it should", "stay as single line"); } } // Output (Prettier 1.17.0 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 1.17.0 run without range) function f() { if (true) { call("this line is 79 chars", "long", "it should", "stay as single line"); } } // Output (Prettier 1.17.1 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 -->
// Input test(/** @type {!Array} */(arrOrString).length); test(/** @type {!Array} */((arrOrString)).length + 1); // Output (Prettier 1.17.0) test(/** @type {!Array} */ (arrOrString.length)); test(/** @type {!Array} */ (arrOrString.length + 1)); // Output (Prettier 1.17.1) test(/** @type {!Array} */ (arrOrString).length); test(/** @type {!Array} */ (arrOrString).length + 1);
- JavaScript: respect parenthesis around optional chaining before await (#6087 by @evilebottnawi)
<!-- prettier-ignore -->
// Input async function myFunction() { var x = (await foo.bar.blah)?.hi; } // Output (Prettier 1.17.0) async function myFunction() { var x = await foo.bar.blah?.hi; } // Output (Prettier 1.17.1) 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 1.17.0) {{#if a}} a {{else if c}} c e {{/if}} // Output (Prettier 1.17.1) Code Sample {{#if a}} a {{else}} {{#if c}} c {{/if}} e {{/if}}
Previously, multiline closure compiler typecast comments with lines that start with * weren't flagged correctly and the subsequent parenthesis were stripped. Prettier 1.17.1 fixes this issue.
<!-- prettier-ignore -->
// Input const style =/** * @type {{ * width: number, * }} */({ width, }); // Output (Prettier 1.17.0) const style =/** * @type {{ * width: number, * }} */ { width, }; // Output (Prettier 1.17.1) const style =/** * @type {{ * width: number, * }} */({ width, });