Skip to content

feat(oxfmt): Strip "experimental"SortXxx prefix#19567

Merged
graphite-app[bot] merged 1 commit intomainfrom
02-20-feat_oxfmt_strip_experimentalsortxxx_prefix
Feb 20, 2026
Merged

feat(oxfmt): Strip "experimental"SortXxx prefix#19567
graphite-app[bot] merged 1 commit intomainfrom
02-20-feat_oxfmt_strip_experimentalsortxxx_prefix

Conversation

@leaysgur
Copy link
Member

@leaysgur leaysgur commented Feb 20, 2026

  • experimentalSortImports 👉🏻 sortImports
  • experimentalSortPackageJson 👉🏻 sortPackageJson
  • experimentalTailwindcss 👉🏻 sortTailwindcss

To avoid breaking changes, the old name is retained as an alias.

Copilot AI review requested due to automatic review settings February 20, 2026 08:30
Copy link
Member Author

leaysgur commented Feb 20, 2026


How to use the Graphite Merge Queue

Add either label to this PR to merge it via the merge queue:

  • 0-merge - adds this PR to the back of the merge queue
  • hotfix - for urgent hot fixes, skip the queue and merge this PR next

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.

@github-actions github-actions bot added A-cli Area - CLI A-formatter Area - Formatter C-enhancement Category - New feature or request labels Feb 20, 2026
@leaysgur leaysgur changed the title feat(oxfmt): Strip experimentalSortXxx prefix feat(oxfmt): Strip "experimental"SortXxx prefix Feb 20, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR renames several Oxfmt configuration options by removing the experimental prefix (e.g., experimentalSortImportssortImports) and updates the generated JSON schema/docs plus CLI migration/tests to match.

Changes:

  • Renames config options to sortImports, sortPackageJson, and sortTailwindcss, adding backwards-compat aliases/deprecations in Rust/TS.
  • Updates published schema artifacts (npm/oxfmt/configuration_schema.json) and snapshot outputs used by the website formatter.
  • Updates Prettier migration CLI + tests to emit/assert the new option names.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
tasks/website_formatter/src/snapshots/schema_markdown.snap Updates rendered schema markdown snapshot to reflect renamed options (and new nesting).
tasks/website_formatter/src/snapshots/schema_json.snap Updates rendered schema JSON snapshot to reflect renamed options.
npm/oxfmt/configuration_schema.json Updates the distributed JSON schema with the new option names.
apps/oxfmt/test/cli/migrate_prettier/migrate_prettier.test.ts Adjusts migration tests to assert new option keys.
apps/oxfmt/src/core/oxfmtrc.rs Renames config fields, adds serde aliases, and updates external-options finalization logic.
apps/oxfmt/src-js/libs/apis.ts Updates Tailwind option mapping comment to the new key name.
apps/oxfmt/src-js/index.ts Adds new option names to the public TS types and deprecates old names.
apps/oxfmt/src-js/cli/migration/migrate-prettier.ts Emits new option keys when generating .oxfmtrc.json from Prettier config.
Comments suppressed due to low confidence (1)

apps/oxfmt/src/core/oxfmtrc.rs:1089

  • The payload-pruning list removes only the new option keys. If a user uses deprecated option names (e.g., experimentalSortImports, experimentalTailwindcss, experimentalSortPackageJson), they are still Prettier-unaware and will remain in the payload. Consider removing both old and new keys (or normalizing first) to keep payload minimization and behavior consistent.
        "sortImports",
        "sortTailwindcss",
        "sortPackageJson",
        "insertFinalNewline",
        "overrides",
        "ignorePatterns",
    ] {
        obj.remove(key);
    }
}

@leaysgur leaysgur force-pushed the 02-20-feat_oxfmt_strip_experimentalsortxxx_prefix branch from 5f0a614 to c2b788a Compare February 20, 2026 08:36
@graphite-app graphite-app bot added the 0-merge Merge with Graphite Merge Queue label Feb 20, 2026
@graphite-app
Copy link
Contributor

graphite-app bot commented Feb 20, 2026

Merge activity

- `experimentalSortImports` 👉🏻 `sortImports`
- `experimentalSortPackageJson` 👉🏻 `sortPackageJson`
- `experimentalTailwindcss` 👉🏻 `sortTailwindcss`

To avoid breaking changes, the old name is retained as an alias.
@graphite-app graphite-app bot force-pushed the 02-20-feat_oxfmt_strip_experimentalsortxxx_prefix branch from c2b788a to 984dc07 Compare February 20, 2026 08:56
@graphite-app graphite-app bot merged commit 984dc07 into main Feb 20, 2026
19 checks passed
@graphite-app graphite-app bot removed the 0-merge Merge with Graphite Merge Queue label Feb 20, 2026
@graphite-app graphite-app bot deleted the 02-20-feat_oxfmt_strip_experimentalsortxxx_prefix branch February 20, 2026 09:03
camc314 pushed a commit that referenced this pull request Feb 23, 2026
# Oxlint
### 🚀 Features

- 46177dd linter: Implement unicorn/prefer-module (#19603) (camc314)
- 42f78bb linter: Implement unicorn/prefer-ternary (#19605) (camc314)

### 🐛 Bug Fixes

- 43df857 react/exhaustive-deps: Normalize .current callback deps
(#19610) (camc314)
- 574f48f linter/no-throw-literal: Close warning block (#19612)
(camc314)
- 79fe3b4 linter/prefer-mock-return-shorthand: Avoid unsafe autofixes
for call-like returns (#19581) (camc314)
- 85045e8 linter: Check protected members in
explicit-module-boundary-types (#19594) (camc314)
- e38115e linter: Catch missing return type on exported arrow/function
expressions (#19587) (Peter Wagenet)
- 419d3fd linter: Fix false negatives in typescript/no-require-imports
(#19589) (Peter Wagenet)
- 7958b56 linter: Fix syntax error reporting in some output formatters.
(#19590) (connorshea)
- 024f51c linter: Add help text to more eslint diagnostics (#19591)
(Anthony Amaro)
- a8489a1 linter: Warning `eslint/no-throw-literal` rule to be
deprecated, better use `typescript/only-throw-error` (#19593) (Said
Atrahouch)
- 50fc70d linter/type-aware: Use correct span for disable directives
(#19576) (camc314)
- 421a99c linter: Add help guidance to eslint diagnostic messages
(#19562) (Anthony Amaro)
- e81364a linter: Add help text to eslint rule diagnostics (#19560)
(Anthony Amaro)
- 89b58d0 linter: Add help text to more eslint rule diagnostics (#19561)
(Anthony Amaro)
- 74f7833 linter/jest/prefer-mock-return-shorthand: Preserve typed arrow
returns (#19556) (camc314)
- bdd6f34 linter: Restrict prefer-import-in-mock to mock calls (#19555)
(camc314)

### 📚 Documentation

- a331993 linter: Improve docs for `eslint/radix` rule. (#19611)
(connorshea)

### 🛡️ Security

- c67f9dc linter: Update ajv version. (#19613) (connorshea)
# Oxfmt
### 🚀 Features

- 984dc07 oxfmt: Strip `"experimental"SortXxx` prefix (#19567)
(leaysgur)

### 🐛 Bug Fixes

- d7b63a4 oxfmt: Update API types for `sortPackageJsonOptions` (#19569)
(leaysgur)

Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-cli Area - CLI A-formatter Area - Formatter C-enhancement Category - New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants