From 7142cf354cce2558f41574f44b967baf11d5b603 Mon Sep 17 00:00:00 2001 From: Sosuke Suzuki Date: Sun, 4 Feb 2024 14:35:44 +0900 Subject: [PATCH] Release 3.2.5 --- .github/ISSUE_TEMPLATE/formatting.md | 2 +- .github/ISSUE_TEMPLATE/integration.md | 2 +- CHANGELOG.md | 104 ++++++++++++++++++ docs/browser.md | 32 +++--- package.json | 2 +- website/versioned_docs/version-stable/api.md | 2 + .../versioned_docs/version-stable/browser.md | 32 +++--- .../versioned_docs/version-stable/install.md | 15 +-- 8 files changed, 147 insertions(+), 44 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/formatting.md b/.github/ISSUE_TEMPLATE/formatting.md index 641de3d6ecf3..bda691f16817 100644 --- a/.github/ISSUE_TEMPLATE/formatting.md +++ b/.github/ISSUE_TEMPLATE/formatting.md @@ -26,7 +26,7 @@ Don't fill the form below manually! Let a program create a report for you: --> -**Prettier 3.2.4** +**Prettier 3.2.5** [Playground link](https://prettier.io/playground/#.....) ```sh diff --git a/.github/ISSUE_TEMPLATE/integration.md b/.github/ISSUE_TEMPLATE/integration.md index 2c993198ed5c..02019b0d4ed8 100644 --- a/.github/ISSUE_TEMPLATE/integration.md +++ b/.github/ISSUE_TEMPLATE/integration.md @@ -20,7 +20,7 @@ BEFORE SUBMITTING AN ISSUE: **Environments:** -- Prettier Version: 3.2.4 +- Prettier Version: 3.2.5 - Running Prettier via: - Runtime: - Operating System: diff --git a/CHANGELOG.md b/CHANGELOG.md index 93f65a3adae1..cd908423e02b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,107 @@ +# 3.2.5 + +[diff](https://github.com/prettier/prettier/compare/3.2.4...3.2.5) + +#### Support Angular inline styles as single template literal ([#15968](https://github.com/prettier/prettier/pull/15968) by [@sosukesuzuki](https://github.com/sosukesuzuki)) + +[Angular v17](https://blog.angular.io/introducing-angular-v17-4d7033312e4b) supports single string inline styles. + + +```ts +// Input +@Component({ + template: `
...
`, + styles: `h1 { color: blue; }`, +}) +export class AppComponent {} + +// Prettier 3.2.4 +@Component({ + template: `
...
`, + styles: `h1 { color: blue; }`, +}) +export class AppComponent {} + +// Prettier 3.2.5 +@Component({ + template: `
...
`, + styles: ` + h1 { + color: blue; + } + `, +}) +export class AppComponent {} + +``` + +#### Unexpected embedded formatting for Angular template ([#15969](https://github.com/prettier/prettier/pull/15969) by [@JounQin](https://github.com/JounQin)) + +Computed template should not be considered as Angular component template + + +```ts +// Input +const template = "foobar"; + +@Component({ + [template]: `

{{ hello }}

`, +}) +export class AppComponent {} + +// Prettier 3.2.4 +const template = "foobar"; + +@Component({ + [template]: `

{{ hello }}

`, +}) +export class AppComponent {} + +// Prettier 3.2.5 +const template = "foobar"; + +@Component({ + [template]: `

{{ hello }}

`, +}) +export class AppComponent {} +``` + +#### Use `"json"` parser for `tsconfig.json` by default ([#16012](https://github.com/prettier/prettier/pull/16012) by [@sosukesuzuki](https://github.com/sosukesuzuki)) + +In [v2.3.0](https://prettier.io/blog/2024/01/12/3.2.0#new-jsonc-parser-added-15831httpsgithubcomprettierprettierpull15831-by-fiskerhttpsgithubcomfisker), we introduced `"jsonc"` parser which adds trialing comma **by default**. + +When adding a new parser we also define how it will be used based on the [`linguist-languages`](https://www.npmjs.com/package/linguist-languages) data. + +`tsconfig.json` is a special file used by [TypeScript](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html#using-tsconfigjson-or-jsconfigjson), it uses `.json` file extension, but it actually uses the [JSON with Comments](https://code.visualstudio.com/docs/languages/json#_json-with-comments) syntax. However, we found that there are many third-party tools not recognize it correctly because of the confusing `.json` file extension. + +We decide to treat it as a JSON file for now to avoid the extra configuration step. + +To keep using the `"jsonc"` parser for your `tsconfig.json` files, add the following to your `.pretterrc` file + +```json +{ + "overrides": [ + { + "files": ["tsconfig.json", "jsconfig.json"], + "options": { + "parser": "jsonc" + } + } + ] +} +``` + + +``` +# Prettier 3.2.4 +prettier --file-info tsconfig.json +{ "ignored": false, "inferredParser": "jsonc" } + +# Prettier 3.2.5 +prettier --file-info tsconfig.json +{ "ignored": false, "inferredParser": "json" } +``` + # 3.2.4 [diff](https://github.com/prettier/prettier/compare/3.2.3...3.2.4) diff --git a/docs/browser.md b/docs/browser.md index ae0c487ab709..dd27f80db820 100644 --- a/docs/browser.md +++ b/docs/browser.md @@ -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 . 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 . 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 - - + + - + +