Repository navigation
feat(oxfmt): support associations config to specify language over filepath - #27437
Merged
graphite-app[bot] merged 1 commit intoOct 11, 2026
Merged
Conversation
Member
Author
How to use the Graphite Merge QueueAdd either label to this PR to merge it via the merge queue:
You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has enabled the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
leaysgur
force-pushed
the
10-08-refactor_oxfmt_clarify_handlebars_and_glimmer_relationship
branch
from
October 8, 2026 04:41
c6d6539 to
e81b39c
Compare
leaysgur
force-pushed
the
10-08-feat_oxfmt_support_config.associations
branch
2 times, most recently
from
October 8, 2026 04:42
cc8f07b to
da7d39e
Compare
graphite-app
Bot
force-pushed
the
10-08-refactor_oxfmt_clarify_handlebars_and_glimmer_relationship
branch
2 times, most recently
from
October 8, 2026 05:04
9b2b079 to
d63f35b
Compare
associations config to specify language over filepath
graphite-app
Bot
force-pushed
the
10-08-feat_oxfmt_support_config.associations
branch
from
October 8, 2026 05:04
da7d39e to
8771b3a
Compare
graphite-app
Bot
changed the base branch from
10-08-refactor_oxfmt_clarify_handlebars_and_glimmer_relationship
to
graphite-base/27437
October 8, 2026 05:09
graphite-app
Bot
force-pushed
the
10-08-feat_oxfmt_support_config.associations
branch
from
October 8, 2026 05:12
8771b3a to
cb5aed3
Compare
graphite-app
Bot
force-pushed
the
graphite-base/27437
branch
from
October 8, 2026 05:12
d63f35b to
6a45d4a
Compare
graphite-app
Bot
force-pushed
the
10-08-feat_oxfmt_support_config.associations
branch
from
October 8, 2026 05:13
cb5aed3 to
f82d6da
Compare
leaysgur
force-pushed
the
10-08-feat_oxfmt_support_config.associations
branch
2 times, most recently
from
October 8, 2026 05:46
32bdc18 to
177f315
Compare
leaysgur
force-pushed
the
10-08-feat_oxfmt_support_config.associations
branch
2 times, most recently
from
October 9, 2026 00:29
f851a40 to
b45413f
Compare
leaysgur
force-pushed
the
10-08-feat_oxfmt_support_config.associations
branch
2 times, most recently
from
October 9, 2026 02:58
540139b to
06aab2b
Compare
leaysgur
force-pushed
the
10-08-feat_oxfmt_support_config.associations
branch
2 times, most recently
from
October 9, 2026 06:34
7663279 to
b8d3587
Compare
Contributor
Merge activity
|
…ilepath (#27437) Closes #17852 (finally!), closes #26257. --- Introduce `associations` config field (inspired by dprint). ```json { "associations": [ { "files": ["**/*.html"], "excludeFiles": ["index.html"], "language": "angular-html" }, { "files": ["**/*.wxml"], "language": "html" }, { "files": ["**/*.conf"], "language": "json" } ] } ``` Precedence is solved by an array instead of an object, later wins like `overrides`. For `language`, use Shiki ids. It's intuitive and already used in our codebase. In the CLI, this bypasses selecting a formatter based on the filename and behaves as if one had been determined.
graphite-app
Bot
force-pushed
the
10-08-feat_oxfmt_support_config.associations
branch
from
October 11, 2026 12:19
b8d3587 to
a495e82
Compare
graphite-app
Bot
deleted the
10-08-feat_oxfmt_support_config.associations
branch
October 11, 2026 12:22
This was referenced Oct 12, 2026
overlookmotel
pushed a commit
that referenced
this pull request
Oct 13, 2026
# Oxlint ### 💥 BREAKING CHANGES - 7730e14 ast: [**BREAKING**] Refactor comment attachment storage (#27512) (camc314) - c904b61 ast: [**BREAKING**] Add comment attachment storage (#27393) (camc314) ### 🚀 Features - bde9f69 oxlint/lsp: Show config errors to LSP client (#25486) (Sysix) - 3c361a7 linter/unicorn/prefer-query-selector: Add `allowWithVariables` option (#27346) (Mikhail Baev) ### 🐛 Bug Fixes - 82ecc43 linter/sort-keys: Compare natural order like ESLint (#27579) (Dunqing) - 598ac03 linter/unicorn/prefer-bigint-literals: Unwrap redundant constructor call; don't auto-fix for lost precision (#25690) (Jacob Bandes-Storch) - 2512213 linter: Prevent conflicting type import fixes (#27409) (camc314) - 2349a31 oxfmt: Follow symlinked configs in discovery (#27389) (leaysgur) - 6e573f9 oxlint,oxfmt: Set stderr blocking (#27363) (leaysgur) ### ⚡ Performance - 91b588c linter/oxc/bad-array-method-on-arguments: Check arguments references once (#26930) (camc314) - c5f47ed linter/plugins: Inline `firstCommentAtOrAfter` into call sites (#27539) (overlookmotel) - c5f9235 linter/plugins: Use shift over multiply for powers of 2 (#27536) (overlookmotel) - 8c57c5e linter: Share one source per file across type-aware diagnostics (#27462) (Max Schwenk) - 19c227d minifier: Use ident when checking specific id names (#27208) (Armano) ### 📚 Documentation - 98cc2b4 linter/plugins: Improve documentation for `firstCommentAtOrAfter` (#27538) (overlookmotel) - 3bb54f6 linter: Update stale comment (#27519) (overlookmotel) - 848a4e7 linter: Update fix metadata for tsgolint rules that already provide fixes (#27408) (Mikhail Baev) # Oxfmt ### 💥 BREAKING CHANGES - 1ef2888 oxfmt: [**BREAKING**] Improve `--migrate prettier` (#27444) (leaysgur) - c2e6d5f formatter_toml: [**BREAKING**] Add `oxc_formatter_toml` crate wrapping `oxc-toml` (#27365) (leaysgur) ### 🚀 Features - ce4e8dc oxfmt: Support `overrides[].parser` -> `associations[].language` migration (#27475) (leaysgur) - a495e82 oxfmt: Support `associations` config to specify language over filepath (#27437) (leaysgur) - 77f8156 oxfmt/lsp: Show root config errors to LSP client (#26014) (Sysix) - c1adce3 oxfmt/lsp: Support astro language (#27388) (leaysgur) - 4f024a1 oxfmt: Support astro plugin in `--migrate prettier` (#27387) (leaysgur) - 5db28fa oxfmt: Support Astro via `prettier-plugin-astro@1.x` (#27386) (leaysgur) ### 🐛 Bug Fixes - 76ec31b formatter_css: Support css-in-js placeholders in property names and conditions (#27640) (leaysgur) - 99bb268 formatter_css: Keep css-in-js placeholder as media type (#27639) (leaysgur) - 372849e formatter: Fix crash on css-in-js comment containing interpolation (#27638) (leaysgur) - da692b8 formatter: Wrap `export default class|function` consistently (#27628) (leaysgur) - 21dee96 formatter: Keep parens around `TSInstantiationExpression` before ! and export (#27626) (leaysgur) - b6eb914 oxfmt: Normalize symlink targets in CLI snapshots (#27498) (camc314) - 5dae56f oxfmt/lsp: Return error on config resolving error (#26003) (Sysix) - 676cc60 formatter/jsdoc: Preserve paragraphs by checking `@description` tag width (#27439) (leaysgur) - 2349a31 oxfmt: Follow symlinked configs in discovery (#27389) (leaysgur) - db360de oxfmt: Load svelte plugin for svelte-in-mdx-in-md (#27369) (leaysgur) - 6e573f9 oxlint,oxfmt: Set stderr blocking (#27363) (leaysgur) - d730fdd formatter_core: Leave blank frontmatter without dispatcher (#27359) (leaysgur) ### 📚 Documentation - 4a28c91 formatter_css: Clarify `missed-semicolon-accepted` divergence (#27433) (leaysgur) - 408d87f oxfmt: Simplify oxfmtrc docs (#27432) (leaysgur) - 902e188 oxfmt: Update how `embeddedLanguageFormatting` option works (#27362) (leaysgur) - 37b3c48 formatter_markdown: Fix DIVERGENCES.md examples and slug to match behavior (#27358) (leaysgur) Co-authored-by: leaysgur <6259812+leaysgur@users.noreply.github.com>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.

Closes #17852 (finally!), closes #26257.
Introduce
associationsconfig field (inspired by dprint).{ "associations": [ { "files": ["**/*.html"], "excludeFiles": ["index.html"], "language": "angular-html" }, { "files": ["**/*.wxml"], "language": "html" }, { "files": ["**/*.conf"], "language": "json" } ] }Precedence is solved by an array instead of an object, later wins like
overrides.For
language, use Shiki ids. It's intuitive and already used in our codebase.In the CLI, this bypasses selecting a formatter based on the filename and behaves as if one had been determined.