Release 3.0.3
This commit is contained in:
1 parent
a35008fb0a
commit
d5f31710b2
6 files changed
+109
-35
No files matched your search
@@ -26,7 +26,7 @@ Don't fill the form below manually! Let a program create a report for you:
|
||||
|
||||
-->
|
||||
|
||||
**Prettier 3.0.2**
|
||||
**Prettier 3.0.3**
|
||||
[Playground link](https://prettier.io/playground/#.....)
|
||||
|
||||
```sh
|
||||
|
||||
@@ -20,7 +20,7 @@ BEFORE SUBMITTING AN ISSUE:
|
||||
|
||||
**Environments:**
|
||||
|
||||
- Prettier Version: 3.0.2
|
||||
- Prettier Version: 3.0.3
|
||||
- Running Prettier via: <!-- CLI, Node.js API, Browser API, etc. -->
|
||||
- Runtime: <!-- Node.js v14, Chrome v83, etc. -->
|
||||
- Operating System: <!-- Windows, Linux, macOS, etc. -->
|
||||
|
||||
@@ -1,3 +1,77 @@
|
||||
# 3.0.3
|
||||
|
||||
[diff](https://github.com/prettier/prettier/compare/3.0.2...3.0.3)
|
||||
|
||||
#### Add `preferUnplugged: true` to `package.json` ([#15169](https://github.com/prettier/prettier/pull/15169) by [@fisker](https://github.com/fisker) and [@so1ve](https://github.com/so1ve))
|
||||
|
||||
Prettier v3 uses dynamic imports, user [will need to unplug Prettier](https://github.com/yarnpkg/berry/pull/5411#issuecomment-1523502224) when Yarn's PnP mode is enabled, add [`preferUnplugged: true`](https://yarnpkg.com/configuration/manifest#preferUnplugged) to `package.json`, so Yarn will install Prettier as unplug by default.
|
||||
|
||||
#### Support shared config that forbids `require()` ([#15233](https://github.com/prettier/prettier/pull/15233) by [@fisker](https://github.com/fisker))
|
||||
|
||||
If an external shared config package is used, and the package `exports` don't have `require` or `default` export.
|
||||
|
||||
In Prettier 3.0.2 Prettier fails when attempt to `require()` the package, and throws an error.
|
||||
|
||||
```text
|
||||
Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: No "exports" main defined in <packageName>/package.json
|
||||
```
|
||||
|
||||
#### Allow argument of `require()` to break ([#15256](https://github.com/prettier/prettier/pull/15256) by [@fisker](https://github.com/fisker))
|
||||
|
||||
<!-- prettier-ignore -->
|
||||
```jsx
|
||||
// Input
|
||||
const plugin = require(
|
||||
global.STANDALONE
|
||||
? path.join(__dirname, "../standalone.js")
|
||||
: path.join(__dirname, "..")
|
||||
);
|
||||
|
||||
// Prettier 3.0.2
|
||||
const plugin = require(global.STANDALONE
|
||||
? path.join(__dirname, "../standalone.js")
|
||||
: path.join(__dirname, ".."));
|
||||
|
||||
// Prettier 3.0.3
|
||||
const plugin = require(
|
||||
global.STANDALONE
|
||||
? path.join(__dirname, "../standalone.js")
|
||||
: path.join(__dirname, "..")
|
||||
);
|
||||
```
|
||||
|
||||
#### Do not print trailing commas in arrow function type parameter lists in `ts` code blocks ([#15286](https://github.com/prettier/prettier/pull/15286) by [@sosukesuzuki](https://github.com/sosukesuzuki))
|
||||
|
||||
<!-- prettier-ignore -->
|
||||
````md
|
||||
<!-- Input -->
|
||||
```ts
|
||||
const foo = <T>() => {}
|
||||
```
|
||||
|
||||
<!-- Prettier 3.0.2 -->
|
||||
```ts
|
||||
const foo = <T,>() => {}
|
||||
```
|
||||
|
||||
<!-- Prettier 3.0.3 -->
|
||||
```ts
|
||||
const foo = <T>() => {}
|
||||
```
|
||||
````
|
||||
|
||||
#### Support TypeScript 5.2 `using` / `await using` declaration ([#15321](https://github.com/prettier/prettier/pull/15321) by [@sosukesuzuki](https://github.com/sosukesuzuki))
|
||||
|
||||
Support for the upcoming Explicit Resource Management feature in ECMAScript. [`using` / `await using` declaration](https://devblogs.microsoft.com/typescript/announcing-typescript-5-2/#using-declarations-and-explicit-resource-management)
|
||||
|
||||
<!-- prettier-ignore -->
|
||||
```tsx
|
||||
{
|
||||
using foo = new Foo();
|
||||
await using bar = new Bar();
|
||||
}
|
||||
```
|
||||
|
||||
# 3.0.2
|
||||
|
||||
[diff](https://github.com/prettier/prettier/compare/3.0.1...3.0.2)
|
||||
|
||||
+16
-16
@@ -18,7 +18,7 @@ Required options:
|
||||
|
||||
- **[`parser`](options.md#parser) (or [`filepath`](options.md#file-path))**: One of these options has to be specified for Prettier to know which parser to use.
|
||||
|
||||
- **`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 in <https://unpkg.com/browse/prettier@3.0.2/plugins/>. Note that `estree` plugin should be loaded when printing JavaScript, TypeScript, Flow, or JSON.
|
||||
- **`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 in <https://unpkg.com/browse/prettier@3.0.3/plugins/>. Note that `estree` plugin should be loaded when printing JavaScript, TypeScript, Flow, or JSON.
|
||||
|
||||
You need to load the ones that you’re going to use and pass them to `prettier.format` using the `plugins` option.
|
||||
|
||||
@@ -29,8 +29,8 @@ See below for examples.
|
||||
### Global
|
||||
|
||||
```html
|
||||
<script src="https://unpkg.com/prettier@3.0.2/standalone.js"></script>
|
||||
<script src="https://unpkg.com/prettier@3.0.2/plugins/graphql.js"></script>
|
||||
<script src="https://unpkg.com/prettier@3.0.3/standalone.js"></script>
|
||||
<script src="https://unpkg.com/prettier@3.0.3/plugins/graphql.js"></script>
|
||||
<script>
|
||||
(async () => {
|
||||
const formatted = await prettier.format("type Query { hello: String }", {
|
||||
@@ -47,8 +47,8 @@ Note that the [`unpkg` field](https://unpkg.com/#examples) in Prettier’s `pack
|
||||
|
||||
```html
|
||||
<script type="module">
|
||||
import * as prettier from "https://unpkg.com/prettier@3.0.2/standalone.mjs";
|
||||
import prettierPluginGraphql from "https://unpkg.com/prettier@3.0.2/plugins/graphql.mjs";
|
||||
import * as prettier from "https://unpkg.com/prettier@3.0.3/standalone.mjs";
|
||||
import prettierPluginGraphql from "https://unpkg.com/prettier@3.0.3/plugins/graphql.mjs";
|
||||
|
||||
const formatted = await prettier.format("type Query { hello: String }", {
|
||||
parser: "graphql",
|
||||
@@ -61,8 +61,8 @@ Note that the [`unpkg` field](https://unpkg.com/#examples) in Prettier’s `pack
|
||||
|
||||
```js
|
||||
define([
|
||||
"https://unpkg.com/prettier@3.0.2/standalone.js",
|
||||
"https://unpkg.com/prettier@3.0.2/plugins/graphql.js",
|
||||
"https://unpkg.com/prettier@3.0.3/standalone.js",
|
||||
"https://unpkg.com/prettier@3.0.3/plugins/graphql.js",
|
||||
], async (prettier, ...plugins) => {
|
||||
const formatted = await prettier.format("type Query { hello: String }", {
|
||||
parser: "graphql",
|
||||
@@ -90,8 +90,8 @@ This syntax doesn’t necessarily work in the browser, but it can be used when b
|
||||
### Worker
|
||||
|
||||
```js
|
||||
importScripts("https://unpkg.com/prettier@3.0.2/standalone.js");
|
||||
importScripts("https://unpkg.com/prettier@3.0.2/plugins/graphql.js");
|
||||
importScripts("https://unpkg.com/prettier@3.0.3/standalone.js");
|
||||
importScripts("https://unpkg.com/prettier@3.0.3/plugins/graphql.js");
|
||||
|
||||
(async () => {
|
||||
const formatted = await prettier.format("type Query { hello: String }", {
|
||||
@@ -107,9 +107,9 @@ If you want to format [embedded code](options.md#embedded-language-formatting),
|
||||
|
||||
```html
|
||||
<script type="module">
|
||||
import * as prettier from "https://unpkg.com/prettier@3.0.2/standalone.mjs";
|
||||
import prettierPluginBabel from "https://unpkg.com/prettier@3.0.2/plugins/babel.mjs";
|
||||
import prettierPluginEstree from "https://unpkg.com/prettier@3.0.2/plugins/estree.mjs";
|
||||
import * as prettier from "https://unpkg.com/prettier@3.0.3/standalone.mjs";
|
||||
import prettierPluginBabel from "https://unpkg.com/prettier@3.0.3/plugins/babel.mjs";
|
||||
import prettierPluginEstree from "https://unpkg.com/prettier@3.0.3/plugins/estree.mjs";
|
||||
|
||||
console.log(
|
||||
await prettier.format("const html=/* HTML */ `<DIV> </DIV>`", {
|
||||
@@ -125,10 +125,10 @@ The HTML code embedded in JavaScript stays unformatted because the `html` parser
|
||||
|
||||
```html
|
||||
<script type="module">
|
||||
import * as prettier from "https://unpkg.com/prettier@3.0.2/standalone.mjs";
|
||||
import prettierPluginBabel from "https://unpkg.com/prettier@3.0.2/plugins/babel.mjs";
|
||||
import prettierPluginEstree from "https://unpkg.com/prettier@3.0.2/plugins/estree.mjs";
|
||||
import prettierPluginHtml from "https://unpkg.com/prettier@3.0.2/plugins/html.mjs";
|
||||
import * as prettier from "https://unpkg.com/prettier@3.0.3/standalone.mjs";
|
||||
import prettierPluginBabel from "https://unpkg.com/prettier@3.0.3/plugins/babel.mjs";
|
||||
import prettierPluginEstree from "https://unpkg.com/prettier@3.0.3/plugins/estree.mjs";
|
||||
import prettierPluginHtml from "https://unpkg.com/prettier@3.0.3/plugins/html.mjs";
|
||||
|
||||
console.log(
|
||||
await prettier.format("const html=/* HTML */ `<DIV> </DIV>`", {
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "prettier",
|
||||
"version": "3.1.0-dev",
|
||||
"version": "3.0.3",
|
||||
"description": "Prettier is an opinionated code formatter",
|
||||
"bin": "./bin/prettier.cjs",
|
||||
"repository": "prettier/prettier",
|
||||
|
||||
@@ -19,7 +19,7 @@ Required options:
|
||||
|
||||
- **[`parser`](options.md#parser) (or [`filepath`](options.md#file-path))**: One of these options has to be specified for Prettier to know which parser to use.
|
||||
|
||||
- **`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 in <https://unpkg.com/browse/prettier@3.0.2/plugins/>. Note that `estree` plugin should be loaded when printing JavaScript, TypeScript, Flow, or JSON.
|
||||
- **`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 in <https://unpkg.com/browse/prettier@3.0.3/plugins/>. Note that `estree` plugin should be loaded when printing JavaScript, TypeScript, Flow, or JSON.
|
||||
|
||||
You need to load the ones that you’re going to use and pass them to `prettier.format` using the `plugins` option.
|
||||
|
||||
@@ -30,8 +30,8 @@ See below for examples.
|
||||
### Global
|
||||
|
||||
```html
|
||||
<script src="https://unpkg.com/prettier@3.0.2/standalone.js"></script>
|
||||
<script src="https://unpkg.com/prettier@3.0.2/plugins/graphql.js"></script>
|
||||
<script src="https://unpkg.com/prettier@3.0.3/standalone.js"></script>
|
||||
<script src="https://unpkg.com/prettier@3.0.3/plugins/graphql.js"></script>
|
||||
<script>
|
||||
(async () => {
|
||||
const formatted = await prettier.format("type Query { hello: String }", {
|
||||
@@ -48,8 +48,8 @@ Note that the [`unpkg` field](https://unpkg.com/#examples) in Prettier’s `pack
|
||||
|
||||
```html
|
||||
<script type="module">
|
||||
import * as prettier from "https://unpkg.com/prettier@3.0.2/standalone.mjs";
|
||||
import prettierPluginGraphql from "https://unpkg.com/prettier@3.0.2/plugins/graphql.mjs";
|
||||
import * as prettier from "https://unpkg.com/prettier@3.0.3/standalone.mjs";
|
||||
import prettierPluginGraphql from "https://unpkg.com/prettier@3.0.3/plugins/graphql.mjs";
|
||||
|
||||
const formatted = await prettier.format("type Query { hello: String }", {
|
||||
parser: "graphql",
|
||||
@@ -62,8 +62,8 @@ Note that the [`unpkg` field](https://unpkg.com/#examples) in Prettier’s `pack
|
||||
|
||||
```js
|
||||
define([
|
||||
"https://unpkg.com/prettier@3.0.2/standalone.js",
|
||||
"https://unpkg.com/prettier@3.0.2/plugins/graphql.js",
|
||||
"https://unpkg.com/prettier@3.0.3/standalone.js",
|
||||
"https://unpkg.com/prettier@3.0.3/plugins/graphql.js",
|
||||
], async (prettier, ...plugins) => {
|
||||
const formatted = await prettier.format("type Query { hello: String }", {
|
||||
parser: "graphql",
|
||||
@@ -91,8 +91,8 @@ This syntax doesn’t necessarily work in the browser, but it can be used when b
|
||||
### Worker
|
||||
|
||||
```js
|
||||
importScripts("https://unpkg.com/prettier@3.0.2/standalone.js");
|
||||
importScripts("https://unpkg.com/prettier@3.0.2/plugins/graphql.js");
|
||||
importScripts("https://unpkg.com/prettier@3.0.3/standalone.js");
|
||||
importScripts("https://unpkg.com/prettier@3.0.3/plugins/graphql.js");
|
||||
|
||||
(async () => {
|
||||
const formatted = await prettier.format("type Query { hello: String }", {
|
||||
@@ -108,9 +108,9 @@ If you want to format [embedded code](options.md#embedded-language-formatting),
|
||||
|
||||
```html
|
||||
<script type="module">
|
||||
import * as prettier from "https://unpkg.com/prettier@3.0.2/standalone.mjs";
|
||||
import prettierPluginBabel from "https://unpkg.com/prettier@3.0.2/plugins/babel.mjs";
|
||||
import prettierPluginEstree from "https://unpkg.com/prettier@3.0.2/plugins/estree.mjs";
|
||||
import * as prettier from "https://unpkg.com/prettier@3.0.3/standalone.mjs";
|
||||
import prettierPluginBabel from "https://unpkg.com/prettier@3.0.3/plugins/babel.mjs";
|
||||
import prettierPluginEstree from "https://unpkg.com/prettier@3.0.3/plugins/estree.mjs";
|
||||
|
||||
console.log(
|
||||
await prettier.format("const html=/* HTML */ `<DIV> </DIV>`", {
|
||||
@@ -126,10 +126,10 @@ The HTML code embedded in JavaScript stays unformatted because the `html` parser
|
||||
|
||||
```html
|
||||
<script type="module">
|
||||
import * as prettier from "https://unpkg.com/prettier@3.0.2/standalone.mjs";
|
||||
import prettierPluginBabel from "https://unpkg.com/prettier@3.0.2/plugins/babel.mjs";
|
||||
import prettierPluginEstree from "https://unpkg.com/prettier@3.0.2/plugins/estree.mjs";
|
||||
import prettierPluginHtml from "https://unpkg.com/prettier@3.0.2/plugins/html.mjs";
|
||||
import * as prettier from "https://unpkg.com/prettier@3.0.3/standalone.mjs";
|
||||
import prettierPluginBabel from "https://unpkg.com/prettier@3.0.3/plugins/babel.mjs";
|
||||
import prettierPluginEstree from "https://unpkg.com/prettier@3.0.3/plugins/estree.mjs";
|
||||
import prettierPluginHtml from "https://unpkg.com/prettier@3.0.3/plugins/html.mjs";
|
||||
|
||||
console.log(
|
||||
await prettier.format("const html=/* HTML */ `<DIV> </DIV>`", {
|
||||
|
||||
Reference in new issue
Block a user