Release 2.8.7

This commit is contained in:
fisker committed 2023-03-24 16:11:52 +08:00
1 parent f9fae7f34c
commit 543a9d71a7
6 files changed
+94 -33

No files matched your search

+1 -1
View File
@@ -26,7 +26,7 @@ Don't fill the form below manually! Let a program create a report for you:
--> -->
**Prettier 2.8.6** **Prettier 2.8.7**
[Playground link](https://prettier.io/playground/#.....) [Playground link](https://prettier.io/playground/#.....)
```sh ```sh
+1 -1
View File
@@ -20,7 +20,7 @@ BEFORE SUBMITTING AN ISSUE:
**Environments:** **Environments:**
- Prettier Version: 2.8.6 - Prettier Version: 2.8.7
- Running Prettier via: <!-- CLI, Node.js API, Browser API, etc. --> - Running Prettier via: <!-- CLI, Node.js API, Browser API, etc. -->
- Runtime: <!-- Node.js v14, Chrome v83, etc. --> - Runtime: <!-- Node.js v14, Chrome v83, etc. -->
- Operating System: <!-- Windows, Linux, macOS, etc. --> - Operating System: <!-- Windows, Linux, macOS, etc. -->
+61
View File
@@ -1,3 +1,64 @@
# 2.8.7
[diff](https://github.com/prettier/prettier/compare/2.8.6...2.8.7)
#### Allow decorators on private members and class expressions ([#14548](https://github.com/prettier/prettier/pull/14548) by [@fisker](https://github.com/fisker))
<!-- prettier-ignore -->
```ts
// Input
class A {
@decorator()
#privateMethod () {}
}
// Prettier 2.8.6
SyntaxError: Decorators are not valid here. (2:3)
1 | class A {
> 2 | @decorator()
| ^^^^^^^^^^^^
3 | #privateMethod () {}
4 | }
// Prettier 2.8.7
class A {
@decorator()
#privateMethod() {}
}
```
#### Allow multiple decorators on same getter/setter ([#14584](https://github.com/prettier/prettier/pull/14584) by [@fisker](https://github.com/fisker))
<!-- prettier-ignore -->
```ts
// Input
class A {
@decorator()
get foo () {}
@decorator()
set foo (value) {}
}
// Prettier 2.8.6
SyntaxError: Decorators cannot be applied to multiple get/set accessors of the same name. (5:3)
3 | get foo () {}
4 |
> 5 | @decorator()
| ^^^^^^^^^^^^
6 | set foo (value) {}
7 | }
// Prettier 2.8.7
class A {
@decorator()
get foo() {}
@decorator()
set foo(value) {}
}
```
# 2.8.6 # 2.8.6
[diff](https://github.com/prettier/prettier/compare/2.8.5...2.8.6) [diff](https://github.com/prettier/prettier/compare/2.8.5...2.8.6)
+15 -15
View File
@@ -20,8 +20,8 @@ Required options:
- **`plugins`**: Unlike the `format` function from the [Node.js-based API](api.md#prettierformatsource--options), this function doesn’t load plugins automatically. The `plugins` option is required because all the parsers included in the Prettier package come as plugins (for reasons of file size). These plugins are files named - **`plugins`**: Unlike the `format` function from the [Node.js-based API](api.md#prettierformatsource--options), this function doesn’t load plugins automatically. The `plugins` option is required because all the parsers included in the Prettier package come as plugins (for reasons of file size). These plugins are files named
- `parser-*.js` in <https://unpkg.com/browse/prettier@2.8.6/> and - `parser-*.js` in <https://unpkg.com/browse/prettier@2.8.7/> and
- `parser-*.mjs` in <https://unpkg.com/browse/prettier@2.8.6/esm/> - `parser-*.mjs` in <https://unpkg.com/browse/prettier@2.8.7/esm/>
You need to load the ones that you’re going to use and pass them to `prettier.format` using the `plugins` option. You need to load the ones that you’re going to use and pass them to `prettier.format` using the `plugins` option.
@@ -32,8 +32,8 @@ See below for examples.
### Global ### Global
```html ```html
<script src="https://unpkg.com/prettier@2.8.6/standalone.js"></script> <script src="https://unpkg.com/prettier@2.8.7/standalone.js"></script>
<script src="https://unpkg.com/prettier@2.8.6/parser-graphql.js"></script> <script src="https://unpkg.com/prettier@2.8.7/parser-graphql.js"></script>
<script> <script>
prettier.format("type Query { hello: String }", { prettier.format("type Query { hello: String }", {
parser: "graphql", parser: "graphql",
@@ -48,8 +48,8 @@ Note that the [`unpkg` field](https://unpkg.com/#examples) in Prettier’s `pack
```html ```html
<script type="module"> <script type="module">
import prettier from "https://unpkg.com/prettier@2.8.6/esm/standalone.mjs"; import prettier from "https://unpkg.com/prettier@2.8.7/esm/standalone.mjs";
import parserGraphql from "https://unpkg.com/prettier@2.8.6/esm/parser-graphql.mjs"; import parserGraphql from "https://unpkg.com/prettier@2.8.7/esm/parser-graphql.mjs";
prettier.format("type Query { hello: String }", { prettier.format("type Query { hello: String }", {
parser: "graphql", parser: "graphql",
@@ -62,8 +62,8 @@ Note that the [`unpkg` field](https://unpkg.com/#examples) in Prettier’s `pack
```js ```js
define([ define([
"https://unpkg.com/prettier@2.8.6/standalone.js", "https://unpkg.com/prettier@2.8.7/standalone.js",
"https://unpkg.com/prettier@2.8.6/parser-graphql.js", "https://unpkg.com/prettier@2.8.7/parser-graphql.js",
], (prettier, ...plugins) => { ], (prettier, ...plugins) => {
prettier.format("type Query { hello: String }", { prettier.format("type Query { hello: String }", {
parser: "graphql", parser: "graphql",
@@ -88,8 +88,8 @@ This syntax doesn’t necessarily work in the browser, but it can be used when b
### Worker ### Worker
```js ```js
importScripts("https://unpkg.com/prettier@2.8.6/standalone.js"); importScripts("https://unpkg.com/prettier@2.8.7/standalone.js");
importScripts("https://unpkg.com/prettier@2.8.6/parser-graphql.js"); importScripts("https://unpkg.com/prettier@2.8.7/parser-graphql.js");
prettier.format("type Query { hello: String }", { prettier.format("type Query { hello: String }", {
parser: "graphql", parser: "graphql",
plugins: prettierPlugins, plugins: prettierPlugins,
@@ -102,8 +102,8 @@ If you want to format [embedded code](options.md#embedded-language-formatting),
```html ```html
<script type="module"> <script type="module">
import prettier from "https://unpkg.com/prettier@2.8.6/esm/standalone.mjs"; import prettier from "https://unpkg.com/prettier@2.8.7/esm/standalone.mjs";
import parserBabel from "https://unpkg.com/prettier@2.8.6/esm/parser-babel.mjs"; import parserBabel from "https://unpkg.com/prettier@2.8.7/esm/parser-babel.mjs";
console.log( console.log(
prettier.format("const html=/* HTML */ `<DIV> </DIV>`", { prettier.format("const html=/* HTML */ `<DIV> </DIV>`", {
@@ -119,9 +119,9 @@ The HTML code embedded in JavaScript stays unformatted because the `html` parser
```html ```html
<script type="module"> <script type="module">
import prettier from "https://unpkg.com/prettier@2.8.6/esm/standalone.mjs"; import prettier from "https://unpkg.com/prettier@2.8.7/esm/standalone.mjs";
import parserBabel from "https://unpkg.com/prettier@2.8.6/esm/parser-babel.mjs"; import parserBabel from "https://unpkg.com/prettier@2.8.7/esm/parser-babel.mjs";
import parserHtml from "https://unpkg.com/prettier@2.8.6/esm/parser-html.mjs"; import parserHtml from "https://unpkg.com/prettier@2.8.7/esm/parser-html.mjs";
console.log( console.log(
prettier.format("const html=/* HTML */ `<DIV> </DIV>`", { prettier.format("const html=/* HTML */ `<DIV> </DIV>`", {
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "prettier", "name": "prettier",
"version": "2.8.6", "version": "2.8.7",
"description": "Prettier is an opinionated code formatter", "description": "Prettier is an opinionated code formatter",
"bin": "./bin/prettier.js", "bin": "./bin/prettier.js",
"repository": "prettier/prettier", "repository": "prettier/prettier",
@@ -21,8 +21,8 @@ Required options:
- **`plugins`**: Unlike the `format` function from the [Node.js-based API](api.md#prettierformatsource--options), this function doesn’t load plugins automatically. The `plugins` option is required because all the parsers included in the Prettier package come as plugins (for reasons of file size). These plugins are files named - **`plugins`**: Unlike the `format` function from the [Node.js-based API](api.md#prettierformatsource--options), this function doesn’t load plugins automatically. The `plugins` option is required because all the parsers included in the Prettier package come as plugins (for reasons of file size). These plugins are files named
- `parser-*.js` in <https://unpkg.com/browse/prettier@2.8.6/> and - `parser-*.js` in <https://unpkg.com/browse/prettier@2.8.7/> and
- `parser-*.mjs` in <https://unpkg.com/browse/prettier@2.8.6/esm/> - `parser-*.mjs` in <https://unpkg.com/browse/prettier@2.8.7/esm/>
You need to load the ones that you’re going to use and pass them to `prettier.format` using the `plugins` option. You need to load the ones that you’re going to use and pass them to `prettier.format` using the `plugins` option.
@@ -33,8 +33,8 @@ See below for examples.
### Global ### Global
```html ```html
<script src="https://unpkg.com/prettier@2.8.6/standalone.js"></script> <script src="https://unpkg.com/prettier@2.8.7/standalone.js"></script>
<script src="https://unpkg.com/prettier@2.8.6/parser-graphql.js"></script> <script src="https://unpkg.com/prettier@2.8.7/parser-graphql.js"></script>
<script> <script>
prettier.format("type Query { hello: String }", { prettier.format("type Query { hello: String }", {
parser: "graphql", parser: "graphql",
@@ -49,8 +49,8 @@ Note that the [`unpkg` field](https://unpkg.com/#examples) in Prettier’s `pack
```html ```html
<script type="module"> <script type="module">
import prettier from "https://unpkg.com/prettier@2.8.6/esm/standalone.mjs"; import prettier from "https://unpkg.com/prettier@2.8.7/esm/standalone.mjs";
import parserGraphql from "https://unpkg.com/prettier@2.8.6/esm/parser-graphql.mjs"; import parserGraphql from "https://unpkg.com/prettier@2.8.7/esm/parser-graphql.mjs";
prettier.format("type Query { hello: String }", { prettier.format("type Query { hello: String }", {
parser: "graphql", parser: "graphql",
@@ -63,8 +63,8 @@ Note that the [`unpkg` field](https://unpkg.com/#examples) in Prettier’s `pack
```js ```js
define([ define([
"https://unpkg.com/prettier@2.8.6/standalone.js", "https://unpkg.com/prettier@2.8.7/standalone.js",
"https://unpkg.com/prettier@2.8.6/parser-graphql.js", "https://unpkg.com/prettier@2.8.7/parser-graphql.js",
], (prettier, ...plugins) => { ], (prettier, ...plugins) => {
prettier.format("type Query { hello: String }", { prettier.format("type Query { hello: String }", {
parser: "graphql", parser: "graphql",
@@ -89,8 +89,8 @@ This syntax doesn’t necessarily work in the browser, but it can be used when b
### Worker ### Worker
```js ```js
importScripts("https://unpkg.com/prettier@2.8.6/standalone.js"); importScripts("https://unpkg.com/prettier@2.8.7/standalone.js");
importScripts("https://unpkg.com/prettier@2.8.6/parser-graphql.js"); importScripts("https://unpkg.com/prettier@2.8.7/parser-graphql.js");
prettier.format("type Query { hello: String }", { prettier.format("type Query { hello: String }", {
parser: "graphql", parser: "graphql",
plugins: prettierPlugins, plugins: prettierPlugins,
@@ -103,8 +103,8 @@ If you want to format [embedded code](options.md#embedded-language-formatting),
```html ```html
<script type="module"> <script type="module">
import prettier from "https://unpkg.com/prettier@2.8.6/esm/standalone.mjs"; import prettier from "https://unpkg.com/prettier@2.8.7/esm/standalone.mjs";
import parserBabel from "https://unpkg.com/prettier@2.8.6/esm/parser-babel.mjs"; import parserBabel from "https://unpkg.com/prettier@2.8.7/esm/parser-babel.mjs";
console.log( console.log(
prettier.format("const html=/* HTML */ `<DIV> </DIV>`", { prettier.format("const html=/* HTML */ `<DIV> </DIV>`", {
@@ -120,9 +120,9 @@ The HTML code embedded in JavaScript stays unformatted because the `html` parser
```html ```html
<script type="module"> <script type="module">
import prettier from "https://unpkg.com/prettier@2.8.6/esm/standalone.mjs"; import prettier from "https://unpkg.com/prettier@2.8.7/esm/standalone.mjs";
import parserBabel from "https://unpkg.com/prettier@2.8.6/esm/parser-babel.mjs"; import parserBabel from "https://unpkg.com/prettier@2.8.7/esm/parser-babel.mjs";
import parserHtml from "https://unpkg.com/prettier@2.8.6/esm/parser-html.mjs"; import parserHtml from "https://unpkg.com/prettier@2.8.7/esm/parser-html.mjs";
console.log( console.log(
prettier.format("const html=/* HTML */ `<DIV> </DIV>`", { prettier.format("const html=/* HTML */ `<DIV> </DIV>`", {