feat(oxfmt/cli): Support per-directory config#21103
Merged
graphite-app[bot] merged 1 commit intomainfrom Apr 15, 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. |
This was referenced Apr 7, 2026
97c5d0b to
480b393
Compare
8d14832 to
4e8a60c
Compare
4e8a60c to
19ae738
Compare
480b393 to
a59e81e
Compare
19ae738 to
5a0528a
Compare
e668056 to
1429737
Compare
5a0528a to
aabe102
Compare
06b72bd to
75cf93b
Compare
aabe102 to
59397ba
Compare
75cf93b to
c7dce6a
Compare
59397ba to
d7f09f9
Compare
c7dce6a to
821bbc3
Compare
d7f09f9 to
1835d52
Compare
821bbc3 to
acacc9e
Compare
1835d52 to
618a8a6
Compare
acacc9e to
437ac0e
Compare
ac4b8dc to
41ad46c
Compare
437ac0e to
120980e
Compare
9abfa11 to
698790b
Compare
6b3cf4f to
076ce9a
Compare
63f65cc to
51762a0
Compare
This was referenced Apr 14, 2026
Contributor
Merge activity
|
Fixes #19509 Initially, I thought about sharing the implementation with Oxlint, but finally I decided not to do it due to constraints and structural differences. - Strategy - Oxlint: Collects all file paths into memory upfront - for cross-module analysis? - then filters by `ignorePatterns` afterward - Oxfmt: Streams files to the formatter as they are discovered while walking - Scope-based walk resolves config at walk time, avoiding a separate post-walk filtering pass - Config - Oxlint: There is a difference in what can be configured in the root config versus the rest - Oxfmt: No difference
076ce9a to
952de06
Compare
51762a0 to
16713d5
Compare
Base automatically changed from
04-06-feat_oxfmt_lsp_support_per-directory_config
to
main
April 15, 2026 01:30
This was referenced Apr 20, 2026
camc314
added a commit
that referenced
this pull request
Apr 20, 2026
# Oxlint ### 💥 BREAKING CHANGES - 24fb7eb allocator: [**BREAKING**] Rename `Box` and `Vec` methods (#21395) (overlookmotel) ### 🚀 Features - 38d8090 linter/jest: Implemented jest `version` settings in config file. (#21522) (Said Atrahouch) - 7dbbb99 linter/eslint: Implement suggestion for `no-case-declarations` rule (#21508) (Mikhail Baev) - 9b4d9f6 linter/prefer-template: Implement autofix (#21502) (François) - daa64ed linter/no-empty-pattern: Add `allowObjectPatternsAsParameters` option (#21474) (camc314) - cf2d281 linter/typescript: Implement explicit-member-accessibility (#21447) (Hunter Tunnicliff) - d48de6f linter/unicorn: Add help messages to 3 rule diagnostics (#21459) (Mukunda Rao Katta) - cffdc2e linter: Backfill rule version metadata (#21391) (Old Autumn) ### 🐛 Bug Fixes - 1e69b91 linter/no-useless-assignment: Improve diagnostic spans (#21581) (camc314) - f272594 linter/plugins: Align `RuleMeta.replacedBy` type with ESLint (#21544) (bab) - 4d57851 linter/eslint: Enhance `no-empty-function` rule to support async and generator functions in VariableDeclarator (#21542) (Mikhail Baev) - 00fc136 codegen: Preserve coverage comments before object properties (#21312) (bab) - a56b7b9 oxlint: Dont enable gitlab formatter by default (#21501) (camc314) - 9c9b6a2 linter/array-callback-return: Ignore non-exit CFG dead ends (#21497) (camc314) - 61088e0 linter/unicorn: Handle computed property access in `prefer-dom-node-remove` rule (#21470) (Mikhail Baev) - eab5934 linter: Report an error on unsupported `extends` values (#21406) (John Costa) - 3289ba0 linter/valid-expect-in-promise: Check a jest fn to be `test` instead of `describe` (#21422) (Said Atrahouch) - 4417fe3 linter/prefer-ending-with-an-expect: Ignore vi.mock factory callbacks (#21414) (Cédric Exbrayat) - a904883 linter/consistent-type-imports: Ignore vue/svelte/astro files (#21415) (bab) - 2498fe6 linter/no-unused-vars: Allow segments of dotted namespace declarations (#21416) (bab) - 44b5b35 linter: Preserve vitest-compatible jest rules when applying overrides (#21389) (Cameron) - 7bd8331 linter/prefer-ending-with-an-expect: Add missing `version` docs (#21390) (Said Atrahouch) - 43d8f0d linter/no-useless-assignment: Ignore writes read by closures (#21380) (camc314) ### 📚 Documentation - c1eeae3 linter: Add version to `rule.json` (#21547) (camchenry) - 0ec6ab2 linter: Improve the `vitest/no-importing-vitest-globals` rule documentation. (#21557) (connorshea) # Oxfmt ### 💥 BREAKING CHANGES - 24fb7eb allocator: [**BREAKING**] Rename `Box` and `Vec` methods (#21395) (overlookmotel) ### 🚀 Features - 5aa7fe1 oxfmt: Add `--disable-nested-config` CLI flag (#21514) (leaysgur) - b5cb8d1 oxfmt: Update prettier to 3.8.3 (#21451) (leaysgur) - 16713d5 oxfmt/cli: Support per-directory config (#21103) (leaysgur) - 952de06 oxfmt/lsp: Support per-directory config (#21081) (leaysgur) ### 🐛 Bug Fixes - a501a53 formatter: Handle comments after pipe in single-member union types (#21487) (John Costa) - 6f49fad oxfmt: Respect nested config.`ignorePatterns` (#21489) (leaysgur) - 7c98d52 oxfmt: Do not panic on finding invalid nested config (#21461) (leaysgur) - 41bb2d5 formatter: Preserve more `intrinsic` parens (#21449) (leaysgur) - f894750 formatter: Preserve parens around `intrinsic` in type alias annotation (#21410) (Dunqing) ### ⚡ Performance - df27b48 oxfmt: Skip ancestors check when no nested config found (#21517) (leaysgur) - 5e1522a oxfmt: Do not occupy the rayon thread solely for handover (#21408) (leaysgur) Co-authored-by: camc314 <18101008+camc314@users.noreply.github.com>
7 tasks
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.

Fixes #19509
Initially, I thought about sharing the implementation with Oxlint, but finally I decided not to do it due to constraints and structural differences.
ignorePatternsafterward