Skip to content

Sorting

Oxfmt includes sorting features for imports, Tailwind classes, and package.json.

Sort imports

WARNING

For progress, see tracking issue.

Based on eslint-plugin-perfectionist/sort-imports.

Disabled by default.

Example configuration

Sort imports by distance (furthest to closest):

.oxfmtrc.json
json
{
  "experimentalSortImports": {
    "groups": [
      ["side-effect"],
      ["builtin"],
      ["external", "type-external"],
      ["internal", "type-internal"],
      ["parent", "type-parent"],
      ["sibling", "type-sibling"],
      ["index", "type-index"]
    ]
  }
}

Tailwind CSS class sorting

Sorts Tailwind utility classes.

Based on prettier-plugin-tailwindcss.

Disabled by default.

Example configuration

.oxfmtrc.json
json
{
  "experimentalTailwindcss": {
    "stylesheet": "./path/to/stylesheet.css",
    "attributes": ["class", "className"],
    "functions": ["clsx", "cn"],
    "preserveWhitespace": true
  }
}

Regex patterns for attributes are not supported.

Sort package.json fields

Sorts keys in package.json using an opinionated order.

See field ordering for details.

Enabled by default.

Example configuration

To disable:

.oxfmtrc.json
json
{
  "experimentalSortPackageJson": false
}

To sort scripts alphabetically:

.oxfmtrc.json
json
{
  "experimentalSortPackageJson": {
    "sortScripts": true
  }
}