Skip to content

standard-config/oxlint

Repository files navigation

@standard‑config/oxlint

Curated Oxlint config with sensible defaults.

 

Overview

Curated Oxlint config with sensible defaults. Designed as a careful, environment-agnostic baseline for writing better TypeScript. Comes with supplemental configs that extend the core ruleset.

If you’re migrating from xo, you’ll feel right at home.

Install

npm install --save-dev @standard-config/oxlint
pnpm add --save-dev @standard-config/oxlint

For type-aware linting, make sure oxlint and oxlint-tsgolint are both installed.

Usage

Create your oxlint.config.ts:

import { defineConfig } from '@standard-config/oxlint';

export default defineConfig();

Overrides

You can override the defaults by passing your own config options.

import { defineConfig } from '@standard-config/oxlint';

export default defineConfig({
    rules: {
        'typescript/consistent-type-definitions': ['error', 'interface'],
    },
});

Supplemental Configs

While @standard-config/oxlint relies only on Oxlint’s core rules, the supplemental config packages extend the baseline rule coverage with additional plugins, including JS plugins.

Package Core Plugins JS Plugins
🟦 @standard‑config/oxlint‑react react
react‑perf
jsx‑a11y
react‑x
🟦 @standard‑config/oxlint‑stylistic stylistic
perfectionist

FAQ

Does this config require any specific TypeScript configuration?

No, it works with any tsconfig.json. For matching compiler defaults, pair it with @standard-config/tsconfig, though it is not required.

Does this config enable any rule categories?

No. The config explicitly defines every enabled and disabled rule for each core plugin used. Any categories you set will only apply to the plugins you enable.

import { defineConfig } from '@standard-config/oxlint';

export default defineConfig({
    plugins: ['nextjs'],
    categories: {
        // Only applies to `next/*` rules
        correctness: 'error',
        suspicious: 'warn',
    },
});

How do I enable a supplemental config package?

If you already use the core config, there’s no need to modify oxlint.config.ts. Installed supplemental config packages are detected and applied automatically.

import { defineConfig } from '@standard-config/oxlint';

// Will automatically include any installed supplemental configs
export default defineConfig();

Can I use this config with Vite+?

Absolutely. In your vite.config.ts:

import { defineOxlintConfig } from '@standard-config/oxlint';
import { defineConfig } from 'vite-plus';

export default defineConfig({
    lint: defineOxlintConfig({
        rules: {
            // Optional overrides
        },
    }),
});

Related

License

MIT © Dom Porada

About

Curated Oxlint config with sensible defaults

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Contributors