Skip to content

test(fmt): improve ignored files#10068

Merged
ematipico merged 4 commits into
mainfrom
chore/exclude-files
Apr 21, 2026
Merged

test(fmt): improve ignored files#10068
ematipico merged 4 commits into
mainfrom
chore/exclude-files

Conversation

@ematipico

Copy link
Copy Markdown
Member

Summary

This PR seems big, but it's straightforward: it removes from the code base snapshots of prettier files that we ignore.

Also, the ignore strategy has been improved by adding the prettier_ignored_tests at the top of the formatter crate.

The prettier testing infra had already files that we could ignore, they were difficult to find, and snapshots were generated anyway, inflating the size of the repository.

I ignored some test cases from the markdown testing infra and the CSS testing infra.

Test Plan

Green CI

Docs

N/A

@changeset-bot

changeset-bot Bot commented Apr 20, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 477fc77

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@ematipico ematipico requested review from a team April 20, 2026 19:10
@github-actions github-actions Bot added A-Formatter Area: formatter L-JavaScript Language: JavaScript and super languages L-CSS Language: CSS and super languages L-JSON Language: JSON and super languages L-HTML Language: HTML and super languages L-Markdown Language: Markdown labels Apr 20, 2026
@coderabbitai

coderabbitai Bot commented Apr 20, 2026

Copy link
Copy Markdown
Contributor

Walkthrough

Many Prettier snapshot fixture files were removed across CSS and JavaScript formatter test suites. New prettier_ignored_tests descriptor files were added to specify path prefixes to skip. Test harnesses were updated to load those ignore patterns (cached via OnceLock), delete matching snapshot artifacts, and skip those tests. Diff reporting switched to owned filenames and unified diffs via similar::TextDiff.

Suggested labels

A-Formatter, L-CSS, L-JavaScript

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title 'test(fmt): improve ignored files' directly summarises the main change: enhancing the test infrastructure to better manage ignored test files and removing unnecessary snapshots.
Description check ✅ Passed The description clearly explains the motivation (removing ignored snapshot files, improving ignore strategy), the implementation (adding prettier_ignored_tests configuration), and the problem being solved (repository bloat from unnecessary snapshots).
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/exclude-files

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
crates/biome_formatter_test/src/test_prettier_snapshot.rs (1)

94-107: Cache is path-blind, but safe in practice given hardcoded roots.

The OnceLock<Vec<String>> initialises from the first root_path only; however, because all callers pass compile-time constants, there's only ever one distinct root in a single test binary. The current implementation is fine, but it's not defensive. If you ever need to support dynamic roots or multiple formatter roots in one process, you'll want to either key the cache by root_path or skip caching altogether (the file is small).

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@crates/biome_formatter_test/src/test_prettier_snapshot.rs` around lines 94 -
107, The current static CACHE (OnceLock<Vec<String>>) is path-blind; change it
to a path-keyed cache so different root_path values get distinct entries:
replace CACHE with a static OnceLock<Mutex<HashMap<String, Vec<String>>>>,
initialize it once, then in load_ignored_tests(root_path: &Utf8Path) lock the
mutex, check the map for root_path.as_str(), and if missing read the file (path
= root_path.join("../prettier_ignored_tests")), parse lines into a Vec<String>,
insert it under the root key and return a reference or cloned Vec as needed;
alternatively, if you prefer simplicity, remove the static cache entirely and
have load_ignored_tests read and return a fresh Vec<String> each call. Ensure
you update the function signature and callers accordingly (reference
load_ignored_tests and CACHE in your edits).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@crates/biome_formatter_test/src/test_prettier_snapshot.rs`:
- Around line 94-107: The current static CACHE (OnceLock<Vec<String>>) is
path-blind; change it to a path-keyed cache so different root_path values get
distinct entries: replace CACHE with a static OnceLock<Mutex<HashMap<String,
Vec<String>>>>, initialize it once, then in load_ignored_tests(root_path:
&Utf8Path) lock the mutex, check the map for root_path.as_str(), and if missing
read the file (path = root_path.join("../prettier_ignored_tests")), parse lines
into a Vec<String>, insert it under the root key and return a reference or
cloned Vec as needed; alternatively, if you prefer simplicity, remove the static
cache entirely and have load_ignored_tests read and return a fresh Vec<String>
each call. Ensure you update the function signature and callers accordingly
(reference load_ignored_tests and CACHE in your edits).

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 2633720c-315a-4ebb-83c5-84e04bb3e042

📥 Commits

Reviewing files that changed from the base of the PR and between f785e8c and 3c8220f.

⛔ Files ignored due to path filters (116)
  • crates/biome_css_formatter/tests/specs/prettier/css/atword/atword.css.snap is excluded by !**/*.snap and included by **
  • crates/biome_css_formatter/tests/specs/prettier/css/front-matter/custom-parser.css.snap is excluded by !**/*.snap and included by **
  • crates/biome_css_formatter/tests/specs/prettier/css/front-matter/embedded-language-formatting/yaml.css.snap is excluded by !**/*.snap and included by **
  • crates/biome_css_formatter/tests/specs/prettier/css/front-matter/empty.css.snap is excluded by !**/*.snap and included by **
  • crates/biome_css_formatter/tests/specs/prettier/css/postcss-8-improment/empty-props.css.snap is excluded by !**/*.snap and included by **
  • crates/biome_css_formatter/tests/specs/prettier/css/postcss-8-improment/test.css.snap is excluded by !**/*.snap and included by **
  • crates/biome_css_formatter/tests/specs/prettier/css/postcss-plugins/postcss-mixins.css.snap is excluded by !**/*.snap and included by **
  • crates/biome_css_formatter/tests/specs/prettier/css/postcss-plugins/postcss-nested-props.css.snap is excluded by !**/*.snap and included by **
  • crates/biome_css_formatter/tests/specs/prettier/css/postcss-plugins/postcss-nesting.css.snap is excluded by !**/*.snap and included by **
  • crates/biome_css_formatter/tests/specs/prettier/css/postcss-plugins/postcss-simple-vars.css.snap is excluded by !**/*.snap and included by **
  • crates/biome_css_formatter/tests/specs/prettier/css/yaml/comment_after.css.snap is excluded by !**/*.snap and included by **
  • crates/biome_css_formatter/tests/specs/prettier/css/yaml/dirty.css.snap is excluded by !**/*.snap and included by **
  • crates/biome_css_formatter/tests/specs/prettier/css/yaml/empty.css.snap is excluded by !**/*.snap and included by **
  • crates/biome_css_formatter/tests/specs/prettier/css/yaml/empty_newlines.css.snap is excluded by !**/*.snap and included by **
  • crates/biome_css_formatter/tests/specs/prettier/css/yaml/ignore.css.snap is excluded by !**/*.snap and included by **
  • crates/biome_css_formatter/tests/specs/prettier/css/yaml/malformed-2.css.snap is excluded by !**/*.snap and included by **
  • crates/biome_css_formatter/tests/specs/prettier/css/yaml/only_comments.css.snap is excluded by !**/*.snap and included by **
  • crates/biome_css_formatter/tests/specs/prettier/css/yaml/with_comments.css.snap is excluded by !**/*.snap and included by **
  • crates/biome_css_formatter/tests/specs/prettier/css/yaml/without-newline-after.css.snap is excluded by !**/*.snap and included by **
  • crates/biome_css_formatter/tests/specs/prettier/css/yaml/yaml.css.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/arrays/tuple-and-record.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/arrows-bind/arrows-bind.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/arrows/tuple-and-record.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/async-do-expressions/async-do-expressions.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/async-do-expressions.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/decimal.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/do-expressions.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/export-default-from.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/function-bind.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/import-assertions-static.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/import-reflection.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/module-blocks.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/partial-application.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/pipeline-operator-fsharp.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/pipeline-operator-hack.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/pipeline-operator-minimal.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/record-tuple-record.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/record-tuple-tuple.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/throw-expressions.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/v8intrinsic.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/binary-expressions/tuple-and-record.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/bind-expressions/await.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/bind-expressions/bind_parens.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/bind-expressions/long_name_method.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/bind-expressions/method_chain.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/bind-expressions/short_name_method.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/bind-expressions/unary.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/chain-expression/new-expression.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/chain-expression/tagged-template-literals.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/class-extends/tuple-and-record.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/comments-closure-typecast/styled-components.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/comments-closure-typecast/tuple-and-record.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/comments-pipeline-own-line/pipeline_own_line.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/comments/tuple-and-record.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/destructuring-private-fields/arrow-params.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/destructuring-private-fields/async-arrow-params.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/destructuring-private-fields/nested-bindings.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/destructuring-private-fields/valid-multiple-bindings.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/do/call-arguments.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/do/do.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/explicit-resource-management/valid-module-block-top-level-await-using-binding.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/explicit-resource-management/valid-module-block-top-level-using-binding.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/export-default/escaped/default-escaped.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/export-default/export-default-from/export.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/function-single-destructuring/tuple-and-record.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/import-reflection/comments.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/import-reflection/import-reflection.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/last-argument-expansion/embed.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/method-chain/tuple-and-record.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/module-blocks/comments.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/module-blocks/module-blocks.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/module-blocks/range.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/module-blocks/worker.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-comments/comment-inside.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-comments/tagged.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/colons-after-substitutions.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/colons-after-substitutions2.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/issue-11797.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/issue-2883.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/issue-5697.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/issue-5961.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/issue-9072.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/styled-components-multiple-expressions.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/styled-components.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/url.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/var.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-graphql/comment-tag.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-graphql/escape.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-graphql/expressions.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-graphql/graphql-tag.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-graphql/graphql.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-graphql/react-relay.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-html/html-template-literals.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-html/issue-10691.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-html/lit-html.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-text/text.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/no-semi-babylon-extensions/no-semi.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/objects/expression.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/optional-chaining-assignment/valid-parenthesized.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/partial-application/test.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/pipeline-operator/block-comments.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/pipeline-operator/fsharp_style_pipeline_operator.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/pipeline-operator/hack_pipeline_operator.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/pipeline-operator/minimal_pipeline_operator.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/range/issue-7082.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/record/computed.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/record/destructuring.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/record/record.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/record/shorthand.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/record/spread.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/record/syntax.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/template-literals/css-prop.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/template-literals/styled-components-with-expressions.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/template-literals/styled-jsx-with-expressions.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/template-literals/styled-jsx.js.snap is excluded by !**/*.snap and included by **
  • crates/biome_js_formatter/tests/specs/prettier/js/throw_expressions/throw_expression.js.snap is excluded by !**/*.snap and included by **
📒 Files selected for processing (184)
  • crates/biome_css_formatter/tests/specs/prettier/css/atword/atword.css.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/cursor/test.css.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/front-matter/custom-parser.css.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/front-matter/embedded-language-formatting/yaml.css.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/front-matter/empty.css.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/postcss-8-improment/empty-props.css.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/postcss-8-improment/test.css.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/postcss-plugins/postcss-mixins.css.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/postcss-plugins/postcss-nested-props.css.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/postcss-plugins/postcss-nested.css.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/postcss-plugins/postcss-nesting.css.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/postcss-plugins/postcss-simple-vars.css.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/yaml/comment_after.css.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/yaml/dirty.css.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/yaml/empty.css.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/yaml/empty_newlines.css.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/yaml/ignore.css.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/yaml/malformed-2.css.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/yaml/malformed.css.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/yaml/only_comments.css.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/yaml/with_comments.css.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/yaml/without-newline-after.css.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/yaml/yaml.css.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier_ignored_tests
  • crates/biome_formatter_test/src/diff_report.rs
  • crates/biome_formatter_test/src/test_prettier_snapshot.rs
  • crates/biome_graphql_formatter/tests/specs/prettier_ignored_tests
  • crates/biome_html_formatter/tests/specs/prettier_ignored_tests
  • crates/biome_js_formatter/tests/specs/prettier/js/arrays/tuple-and-record.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/arrows-bind/arrows-bind.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/arrows/tuple-and-record.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/async-do-expressions/async-do-expressions.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/async-do-expressions.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/async-generators.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/bigint.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/class-properties.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/class-static-block.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/decimal.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/decorator-auto-accessors.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/decorators.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/deferred-import-evaluation.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/destructuring-private.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/do-expressions.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/dynamic-import.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/explicit-resource-management.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/export-default-from.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/export-namespace-from.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/function-bind.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/function-sent.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/import-assertions-dynamic.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/import-assertions-static.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/import-attributes-dynamic.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/import-attributes-static.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/import-meta.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/import-reflection.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/jsx.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/logical-assignment-operators.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/module-blocks.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/module-string-names.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/nullish-coalescing-operator.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/numeric-separator.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/object-rest-spread.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/optional-catch-binding.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/optional-chaining-assignment.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/optional-chaining.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/partial-application.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/pipeline-operator-fsharp.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/pipeline-operator-hack.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/pipeline-operator-minimal.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/private-fields-in-in.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/private-methods.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/record-tuple-record.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/record-tuple-tuple.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/regex-v-flag.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/regexp-modifiers.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/source-phase-imports.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/throw-expressions.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/v8intrinsic.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/binary-expressions/tuple-and-record.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/bind-expressions/await.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/bind-expressions/bind_parens.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/bind-expressions/long_name_method.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/bind-expressions/method_chain.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/bind-expressions/short_name_method.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/bind-expressions/unary.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/chain-expression/new-expression.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/chain-expression/tagged-template-literals.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/class-extends/tuple-and-record.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/comments-closure-typecast/styled-components.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/comments-closure-typecast/tuple-and-record.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/comments-pipeline-own-line/pipeline_own_line.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/comments/tuple-and-record.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/deferred-import-evaluation/import-defer-attributes-declaration.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/deferred-import-evaluation/import-defer.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/destructuring-private-fields/arrow-params.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/destructuring-private-fields/assignment.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/destructuring-private-fields/async-arrow-params.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/destructuring-private-fields/bindings.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/destructuring-private-fields/for-lhs.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/destructuring-private-fields/nested-bindings.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/destructuring-private-fields/valid-multiple-bindings.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/do/call-arguments.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/do/do.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/dynamic-import/import-phase.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/dynamic-import/template-literal.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/explicit-resource-management/valid-module-block-top-level-await-using-binding.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/explicit-resource-management/valid-module-block-top-level-using-binding.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/export-default/escaped/default-escaped.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/export-default/export-default-from/export.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/function-single-destructuring/tuple-and-record.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/import-reflection/comments.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/import-reflection/import-reflection.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/last-argument-expansion/embed.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/method-chain/tuple-and-record.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/module-blocks/comments.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/module-blocks/module-blocks.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/module-blocks/non-module-blocks.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/module-blocks/range.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/module-blocks/worker.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-comments/comment-inside.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-comments/comments.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-comments/tagged.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/colons-after-substitutions.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/colons-after-substitutions2.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/issue-11797.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/issue-2636.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/issue-2883.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/issue-5697.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/issue-5961.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/issue-6259.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/issue-8352.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/issue-9072.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/styled-components-multiple-expressions.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/styled-components.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/url.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/var.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-graphql/comment-tag.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-graphql/definitions.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-graphql/escape.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-graphql/expressions.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-graphql/graphql-tag.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-graphql/graphql.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-graphql/invalid.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-graphql/react-relay.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-html/html-template-literals.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-html/issue-10691.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-html/language-comment/not-language-comment.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-html/lit-html.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-invalid/text.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-markdown/0-indent.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-markdown/codeblock.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-markdown/escape.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-markdown/issue-5021.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-markdown/markdown.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-markdown/single-line.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-text/text.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/no-semi-babylon-extensions/no-semi.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/objects/expression.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/optional-chaining-assignment/valid-parenthesized.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/partial-application/test.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/pipeline-operator/block-comments.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/pipeline-operator/fsharp_style_pipeline_operator.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/pipeline-operator/hack_pipeline_operator.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/pipeline-operator/minimal_pipeline_operator.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/range/issue-7082.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/record/computed.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/record/destructuring.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/record/record.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/record/shorthand.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/record/spread.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/record/syntax.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/source-phase-imports/default-binding.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/source-phase-imports/import-source-attributes-declaration.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/source-phase-imports/import-source-attributes-expression.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/source-phase-imports/import-source-binding-from.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/source-phase-imports/import-source-binding-source.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/source-phase-imports/import-source-dynamic-import.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/source-phase-imports/import-source.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/template-literals/css-prop.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/template-literals/styled-components-with-expressions.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/template-literals/styled-jsx-with-expressions.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/template-literals/styled-jsx.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/throw_expressions/throw_expression.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/tuple/destructuring.js.prettier-snap
💤 Files with no reviewable changes (145)
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/deferred-import-evaluation.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/export-namespace-from.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/import-attributes-dynamic.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/function-sent.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/pipeline-operator-hack.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/source-phase-imports.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/jsx.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/import-meta.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/import-reflection.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/regex-v-flag.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/module-string-names.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/decorators.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/optional-catch-binding.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/arrows/tuple-and-record.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/class-extends/tuple-and-record.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/optional-chaining-assignment.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/function-bind.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/module-blocks.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/record-tuple-tuple.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/last-argument-expansion/embed.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/import-reflection/import-reflection.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/dynamic-import/import-phase.js.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/front-matter/empty.css.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/yaml/dirty.css.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/import-assertions-dynamic.js.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/yaml/malformed-2.css.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/do-expressions.js.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/cursor/test.css.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/record-tuple-record.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/export-default-from.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/bind-expressions/await.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/import-assertions-static.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/destructuring-private-fields/bindings.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/module-blocks/range.js.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/yaml/without-newline-after.css.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/logical-assignment-operators.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/bind-expressions/long_name_method.js.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/atword/atword.css.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/decimal.js.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/yaml/with_comments.css.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/pipeline-operator-minimal.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/binary-expressions/tuple-and-record.js.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/front-matter/custom-parser.css.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-comments/comment-inside.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/class-static-block.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/async-do-expressions.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/import-reflection/comments.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-comments/comments.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/throw-expressions.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/private-methods.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-graphql/definitions.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/pipeline-operator-fsharp.js.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/postcss-8-improment/test.css.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/bind-expressions/unary.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/destructuring-private-fields/valid-multiple-bindings.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/bind-expressions/short_name_method.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/explicit-resource-management.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/deferred-import-evaluation/import-defer-attributes-declaration.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/deferred-import-evaluation/import-defer.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/async-generators.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/explicit-resource-management/valid-module-block-top-level-using-binding.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/destructuring-private-fields/arrow-params.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/decorator-auto-accessors.js.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/yaml/ignore.css.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/export-default/escaped/default-escaped.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/bind-expressions/bind_parens.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/chain-expression/new-expression.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/destructuring-private.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/url.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/destructuring-private-fields/for-lhs.js.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/postcss-plugins/postcss-nested-props.css.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/partial-application.js.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/postcss-plugins/postcss-nested.css.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/dynamic-import/template-literal.js.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/yaml/yaml.css.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/method-chain/tuple-and-record.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/destructuring-private-fields/async-arrow-params.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/explicit-resource-management/valid-module-block-top-level-await-using-binding.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/destructuring-private-fields/assignment.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/arrows-bind/arrows-bind.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/module-blocks/comments.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/import-attributes-static.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/bind-expressions/method_chain.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/export-default/export-default-from/export.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/module-blocks/worker.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/async-do-expressions/async-do-expressions.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/module-blocks/non-module-blocks.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/optional-chaining.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-graphql/react-relay.js.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/postcss-plugins/postcss-nesting.css.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-html/html-template-literals.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/issue-8352.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-graphql/graphql.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/do/call-arguments.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-markdown/0-indent.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/comments/tuple-and-record.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/var.js.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/postcss-8-improment/empty-props.css.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/destructuring-private-fields/nested-bindings.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/comments-closure-typecast/styled-components.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/issue-9072.js.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/postcss-plugins/postcss-mixins.css.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/nullish-coalescing-operator.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/colons-after-substitutions.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-html/issue-10691.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/issue-2883.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/v8intrinsic.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-invalid/text.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/styled-components-multiple-expressions.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-graphql/escape.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/comments-closure-typecast/tuple-and-record.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/numeric-separator.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/module-blocks/module-blocks.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/issue-5961.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-graphql/invalid.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/bigint.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/regexp-modifiers.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/issue-6259.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/colons-after-substitutions2.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-html/lit-html.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-graphql/graphql-tag.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/do/do.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/comments-pipeline-own-line/pipeline_own_line.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/issue-11797.js.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/yaml/only_comments.css.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/function-single-destructuring/tuple-and-record.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-graphql/comment-tag.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/object-rest-spread.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/dynamic-import.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-html/language-comment/not-language-comment.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/issue-2636.js.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/front-matter/embedded-language-formatting/yaml.css.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/private-fields-in-in.js.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/yaml/empty_newlines.css.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-comments/tagged.js.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/postcss-plugins/postcss-simple-vars.css.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/arrays/tuple-and-record.js.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/yaml/empty.css.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-graphql/expressions.js.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/yaml/comment_after.css.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/issue-5697.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/babel-plugins/class-properties.js.prettier-snap
  • crates/biome_css_formatter/tests/specs/prettier/css/yaml/malformed.css.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/multiparser-css/styled-components.js.prettier-snap
  • crates/biome_js_formatter/tests/specs/prettier/js/chain-expression/tagged-template-literals.js.prettier-snap

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
crates/biome_formatter_test/src/check_reformat.rs (1)

143-149: Consider extracting a tiny helper for diff serialisation.

This block duplicates the same Vec<u8> -> unified_diff -> UTF-8 String flow used above; a small helper would keep future tweaks in one place.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@crates/biome_formatter_test/src/check_reformat.rs` around lines 143 - 149,
Extract the Vec<u8> -> unified_diff -> UTF-8 String serialization into a small
helper (e.g. render_unified_diff) and replace the duplicated block: call
render_unified_diff(pretty_reformat_ir, pretty_input_ir, "re-formatted IR",
"formatted IR") instead of manually creating buf and invoking
similar::TextDiff::from_lines(...).unified_diff().header(...).to_writer(&mut
buf).unwrap(); then String::from_utf8(buf).unwrap(). Ensure the helper accepts
the two text slices and header labels, performs the to_writer on an internal
Vec<u8>, converts with String::from_utf8, and returns the String (or
Result<String, _> if you prefer preserving error handling), and update both
places that currently create buf and call
similar::TextDiff::from_lines/unified_diff/to_writer/String::from_utf8 to use
it.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@crates/biome_formatter_test/src/check_reformat.rs`:
- Around line 143-149: Extract the Vec<u8> -> unified_diff -> UTF-8 String
serialization into a small helper (e.g. render_unified_diff) and replace the
duplicated block: call render_unified_diff(pretty_reformat_ir, pretty_input_ir,
"re-formatted IR", "formatted IR") instead of manually creating buf and invoking
similar::TextDiff::from_lines(...).unified_diff().header(...).to_writer(&mut
buf).unwrap(); then String::from_utf8(buf).unwrap(). Ensure the helper accepts
the two text slices and header labels, performs the to_writer on an internal
Vec<u8>, converts with String::from_utf8, and returns the String (or
Result<String, _> if you prefer preserving error handling), and update both
places that currently create buf and call
similar::TextDiff::from_lines/unified_diff/to_writer/String::from_utf8 to use
it.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 4415a11b-49b3-49f5-b06c-ac50cec52214

📥 Commits

Reviewing files that changed from the base of the PR and between 3c8220f and c029638.

⛔ Files ignored due to path filters (4)
  • crates/biome_css_formatter/tests/specs/prettier/scss/comments/at-rule.scss.snap is excluded by !**/*.snap and included by **
  • crates/biome_css_formatter/tests/specs/prettier/scss/comments/if-eslit-at-rule-decloration.scss.snap is excluded by !**/*.snap and included by **
  • crates/biome_css_formatter/tests/specs/prettier/scss/comments/lists.scss.snap is excluded by !**/*.snap and included by **
  • crates/biome_css_formatter/tests/specs/prettier/scss/map/comment.scss.snap is excluded by !**/*.snap and included by **
📒 Files selected for processing (1)
  • crates/biome_formatter_test/src/check_reformat.rs

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
crates/biome_formatter_test/src/test_prettier_snapshot.rs (1)

95-109: load_ignored_tests cache scope is broader than its input.

OnceLock<Vec<String>> keeps the first loaded list forever, but the function takes root_path; if multiple roots are used in one test process, later calls can silently use the wrong ignore rules. Consider keying the cache by root path or removing the parameter to make the single-root assumption explicit.

Possible direction
-use std::sync::OnceLock;
+use std::collections::HashMap;
+use std::sync::{Mutex, OnceLock};

-fn load_ignored_tests(root_path: &Utf8Path) -> &'static [String] {
-    static CACHE: OnceLock<Vec<String>> = OnceLock::new();
-    CACHE.get_or_init(|| {
+fn load_ignored_tests(root_path: &Utf8Path) -> Vec<String> {
+    static CACHE: OnceLock<Mutex<HashMap<String, Vec<String>>>> = OnceLock::new();
+    let cache = CACHE.get_or_init(|| Mutex::new(HashMap::new()));
+    let key = root_path.as_str().to_string();
+    let mut guard = cache.lock().expect("cache poisoned");
+    if let Some(found) = guard.get(&key) {
+        return found.clone();
+    }
+    let loaded = {
         let path = root_path.join("../prettier_ignored_tests");
         match std::fs::read_to_string(&path) {
             Ok(content) => content
                 .lines()
                 .map(str::trim)
                 .filter(|line| !line.is_empty() && !line.starts_with('#'))
                 .map(String::from)
                 .collect(),
             Err(_) => Vec::new(),
         }
-    })
+    };
+    guard.insert(key, loaded.clone());
+    loaded
 }
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@crates/biome_formatter_test/src/test_prettier_snapshot.rs` around lines 95 -
109, The cache in load_ignored_tests is global (static CACHE:
OnceLock<Vec<String>>) but the function accepts root_path, so different roots
can incorrectly share the same ignores; fix by keying the cache by root_path
instead of a single Vec: replace CACHE with a OnceLock<Mutex<HashMap<String,
Vec<String>>>> (or OnceLock<RwLock<...>>) and on each call lookup
root_path.as_str() (or display()) to return the Vec for that root, inserting and
reading from the map when missing; also change the function signature to return
an owned Vec<String> (instead of &'static [String]) and update callers
accordingly so each root gets its own cached ignore list.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@crates/biome_formatter_test/src/test_prettier_snapshot.rs`:
- Around line 95-109: The cache in load_ignored_tests is global (static CACHE:
OnceLock<Vec<String>>) but the function accepts root_path, so different roots
can incorrectly share the same ignores; fix by keying the cache by root_path
instead of a single Vec: replace CACHE with a OnceLock<Mutex<HashMap<String,
Vec<String>>>> (or OnceLock<RwLock<...>>) and on each call lookup
root_path.as_str() (or display()) to return the Vec for that root, inserting and
reading from the map when missing; also change the function signature to return
an owned Vec<String> (instead of &'static [String]) and update callers
accordingly so each root gets its own cached ignore list.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 8aef1652-80f6-4029-b953-fcd1fbbb43b1

📥 Commits

Reviewing files that changed from the base of the PR and between c029638 and f1f13a7.

📒 Files selected for processing (4)
  • crates/biome_formatter_test/src/diff_report.rs
  • crates/biome_formatter_test/src/spec.rs
  • crates/biome_formatter_test/src/test_prettier_snapshot.rs
  • crates/biome_formatter_test/src/utils.rs
🚧 Files skipped from review as they are similar to previous changes (1)
  • crates/biome_formatter_test/src/diff_report.rs

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
crates/biome_formatter_test/src/diff_report.rs (1)

197-197: Minor: redundant explicit dereference.

file_name is &String, so file_name.clone() already yields a cloned String via deref coercion. The (*file_name) is unnecessary.

Suggested simplification
-                filename: (*file_name).clone(),
+                filename: file_name.clone(),
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@crates/biome_formatter_test/src/diff_report.rs` at line 197, The assignment
uses an unnecessary explicit dereference: replace filename: (*file_name).clone()
with filename: file_name.clone() (or file_name.to_owned()) in the code that
constructs the struct (the field named filename using the variable file_name) to
rely on deref coercion and remove the redundant (*...) dereference.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@crates/biome_formatter_test/src/diff_report.rs`:
- Line 197: The assignment uses an unnecessary explicit dereference: replace
filename: (*file_name).clone() with filename: file_name.clone() (or
file_name.to_owned()) in the code that constructs the struct (the field named
filename using the variable file_name) to rely on deref coercion and remove the
redundant (*...) dereference.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 7c7b1ac1-70b7-4a9a-84f3-46710838da04

📥 Commits

Reviewing files that changed from the base of the PR and between f1f13a7 and 477fc77.

📒 Files selected for processing (2)
  • crates/biome_formatter_test/src/diff_report.rs
  • crates/biome_formatter_test/src/test_prettier_snapshot.rs
🚧 Files skipped from review as they are similar to previous changes (1)
  • crates/biome_formatter_test/src/test_prettier_snapshot.rs

@ematipico ematipico merged commit acd7841 into main Apr 21, 2026
25 checks passed
@ematipico ematipico deleted the chore/exclude-files branch April 21, 2026 17:55
@tidefield

Copy link
Copy Markdown
Contributor

@ematipico I don't know about other formatters. But for markdown, how are we sure that those leftover .md.snap are meant to be ignored instead of being fixed?

@tidefield

Copy link
Copy Markdown
Contributor

Ah I didn't look closely. I saw crates/biome_markdown_formatter/tests/specs/prettier_ignored_tests just now. and the "not supported" notes just now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-Formatter Area: formatter L-CSS Language: CSS and super languages L-HTML Language: HTML and super languages L-JavaScript Language: JavaScript and super languages L-JSON Language: JSON and super languages L-Markdown Language: Markdown

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants