Markdown: Cap ordered list mark at 999,999,999 (#19351 by @tats-u)
CommonMark parsers only support ordered list item numbers up to 999,999,999.
With this change, Prettier now caps the ordered list item number at 999,999,999 to ensure that the output is correctly parsed as an ordered list by CommonMark parsers. Numbers larger than 999,999,999 are not parsed as list item numbers and are left unchanged in the output:
<!-- Input -->999999998. text
999999998. text
999999998. text
999999998. text
1234567890123456789012) text
<!-- Prettier 3.9.4 -->999999998. text
999999999. text
1000000000. text
1000000001. text
1234567890123456789012) text
<!-- Prettier 3.9.5 -->999999998. text
999999999. text
999999999. text
999999999. text
1234567890123456789012) text
Markdown: Avoid corrupting empty link with title (#19487 by @andersk)
Do not remove <> from an inline link or image with an empty URL and a title, as this removal would change its interpretation.
CSS: Prevent addition space in type() with + (#19516 by @bigandy)
This fixes the addition space before + in CSS type() declaration. For example type(<number>+) was being converted into type(<number> +) which is invalid CSS and does not work.
Miscellaneous: Preserving comments' placement property (#19567 by @Janther)
Prettier@3.9.0 deleted an undocumented property on comments, which was already used by plugins, comment.placement is now available again after comment attach.
Flow: Stop enforcing empty module declaration to break (#19568 by @fisker)
Less: Fix adjacent block comments being corrupted (#19574 by @kovsu)
// Input/* a *//* b *//* a */* {
color: red;
}
// Prettier 3.9.4/* a *//* b *//* a * { color: red;}// Prettier 3.9.5/* a *//* b *//* a */* {
color: red;
}
JavaScript: Handle dangling comments in SwitchStatement (#19581 by @fisker)
Markdown: Fix blank lines between list items and nested sub-lists being removed in Markdown/MDX (#17746 by @byplayer)
Prettier was removing blank lines between list items and their nested sub-lists, converting loose lists into tight lists and changing their semantic meaning.
<!-- Input -->- a
- b
- c
- d
<!-- Prettier 3.8.3 -->- a
- b
- c
- d
<!-- Prettier 3.8.4 -->- a
- b
- c
- d
Include available printers in plugin type declarations (#18706 by @porada)
// Inputimport*asprettierPluginEstreefrom"prettier/plugins/estree";// Prettier 3.8.0// Property 'printers' does not exist on type 'typeof import("prettier/plugins/estree")'. ts(2339)prettierPluginEstree.printers.estree;//=> any// Prettier 3.8.1prettierPluginEstree.printers.estree;//=> PrinterprettierPluginEstree.printers["estree-json"];//=> Printer
JavaScript: Fix string print when switching quotes (#18351 by @fisker)
// Inputconsole.log("A descriptor\\'s .kind must be \"method\" or \"field\".")// Prettier 3.7.1console.log('A descriptor\\'s.kindmustbe"method"or"field".');
// Prettier 3.7.2console.log('A descriptor\\\'s .kind must be "method" or "field".');
JavaScript: Preserve quote for embedded HTML attribute values (#18352 by @kovsu)
// Inputconsthtml=/* HTML */` <div class="${styles.banner}"></div> `;// Prettier 3.7.1consthtml=/* HTML */` <div class=${styles.banner}></div> `;// Prettier 3.7.2consthtml=/* HTML */` <div class="${styles.banner}"></div> `;
TypeScript: Fix comment in empty type literal (#18364 by @fisker)
Markdown: Add missing blank line around code block (#17675 by @fisker)
<!-- Input -->1. Some text, and code block below, with newline after code block
```yaml---foo: bar``` 1. Another 2. List<!-- Prettier 3.6.1 -->1. Some text, and code block below, with newline after code block```yaml---foo: bar``` 1. Another 2. List<!-- Prettier 3.6.2 -->1. Some text, and code block below, with newline after code block```yaml---foo: bar``` 1. Another 2. List
Miscellaneous: Avoid closing files multiple times (#17665 by @43081j)
When reading a file to infer the interpreter from a shebang, we use the
n-readlines library to read the first line in order to get the shebang.
This library closes files when it reaches EOF, and we later try close the same
files again. We now close files only if n-readlines did not already close
them.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
Release Notes
prettier/prettier (prettier)v3.9.6
Compare Source
v3.9.5
Compare Source
diff
Markdown: Cap ordered list mark at 999,999,999 (#19351 by @tats-u)
CommonMark parsers only support ordered list item numbers up to 999,999,999.
With this change, Prettier now caps the ordered list item number at 999,999,999 to ensure that the output is correctly parsed as an ordered list by CommonMark parsers. Numbers larger than 999,999,999 are not parsed as list item numbers and are left unchanged in the output:
Markdown: Avoid corrupting empty link with title (#19487 by @andersk)
Do not remove <> from an inline link or image with an empty URL and a title, as this removal would change its interpretation.
Less: Remove extra spaces after [ in map lookups (#19503 by @kovsu)
CSS: Prevent addition space in type() with + (#19516 by @bigandy)
This fixes the addition space before + in CSS type() declaration. For example type(<number>+) was being converted into type(<number> +) which is invalid CSS and does not work.
Less: Remove spaces between merge markers and colons (#19517 by @kovsu)
Markdown: Preserve wiki links with aliases (#19527 by @kovsu)
TypeScript: Fix comments being dropped on shorthand type import/export specifiers (#19565 by @kirkwaiblinger)
Miscellaneous: Preserving comments' placement property (#19567 by @Janther)
Prettier@3.9.0 deleted an undocumented property on comments, which was already used by plugins, comment.placement is now available again after comment attach.
Flow: Stop enforcing empty module declaration to break (#19568 by @fisker)
// Input declare module "foo" {} // Prettier 3.9.4 declare module "foo" { } // Prettier 3.9.5 declare module "foo" {}Angular: Support expression for exhaustive typechecking (#19571 by @fisker)
TypeScript: Ignore comments inside mapped type when checking type parameter comments (#19572 by @fisker)
Less: Fix adjacent block comments being corrupted (#19574 by @kovsu)
JavaScript: Handle dangling comments in SwitchStatement (#19581 by @fisker)
TypeScript: Remove space in comment-only object type (#19583 by @fisker)
v3.9.4
Compare Source
v3.9.3
Compare Source
v3.9.2
Compare Source
v3.9.1
Compare Source
v3.9.0
Compare Source
diff
🔗 Release Notes
v3.8.5
Compare Source
v3.8.4
Compare Source
diff
Markdown: Fix blank lines between list items and nested sub-lists being removed in Markdown/MDX (#17746 by @byplayer)
Prettier was removing blank lines between list items and their nested sub-lists, converting loose lists into tight lists and changing their semantic meaning.
v3.8.3
Compare Source
diff
SCSS: Prevent trailing comma in if() function (#18471 by @kovsu)
v3.8.2
Compare Source
diff
Angular: Support Angular v21.2 (#18722, #19034 by @fisker)
Exhaustive typechecking with @default never;
arrow function and instanceof expressions.
v3.8.1
Compare Source
diff
Include available printers in plugin type declarations (#18706 by @porada)
v3.8.0
Compare Source
diff
🔗 Release Notes
v3.7.4
Compare Source
diff
LWC: Avoid quote around interpolations (#18383 by @kovsu)
TypeScript: Fix comment inside union type gets duplicated (#18393 by @fisker)
TypeScript: Fix unstable comment print in union type comments (#18395 by @fisker)
v3.7.3
Compare Source
diff
API: Fix prettier.getFileInfo() change that breaks VSCode extension (#18375 by @fisker)
An internal refactor accidentally broke the VSCode extension plugin loading.
v3.7.2
Compare Source
diff
JavaScript: Fix string print when switching quotes (#18351 by @fisker)
JavaScript: Preserve quote for embedded HTML attribute values (#18352 by @kovsu)
TypeScript: Fix comment in empty type literal (#18364 by @fisker)
v3.7.1
Compare Source
diff
API: Fix performance regression in doc printer (#18342 by @fisker)
Prettier 3.7.0 can be very slow when formatting big files, the regression has been fixed.
v3.7.0
Compare Source
diff
🔗 Release Notes
v3.6.2
Compare Source
diff
Markdown: Add missing blank line around code block (#17675 by @fisker)
v3.6.1
Compare Source
diff
TypeScript: Allow const without initializer (#17650, #17654 by @fisker)
Miscellaneous: Avoid closing files multiple times (#17665 by @43081j)
When reading a file to infer the interpreter from a shebang, we use the
n-readlines library to read the first line in order to get the shebang.
This library closes files when it reaches EOF, and we later try close the same
files again. We now close files only if n-readlines did not already close
them.
v3.6.0
Compare Source
diff
🔗 Release Notes
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.