Curated Oxlint config with sensible defaults.
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.
npm install --save-dev @standard-config/oxlintpnpm add --save-dev @standard-config/oxlintFor type-aware linting, make sure oxlint and oxlint-tsgolint are both installed.
Create your oxlint.config.ts:
import { defineConfig } from '@standard-config/oxlint';
export default defineConfig();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'],
},
});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
|
No, it works with any tsconfig.json. For matching compiler defaults, pair it with @standard-config/tsconfig, though it is not required.
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',
},
});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();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
},
}),
});MIT © Dom Porada