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.
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
react‑you‑might‑not‑need‑an‑effect
|
| 🟦 @standard‑config/oxlint‑stylistic | — |
stylistic
perfectionist
|
The config follows Oxlint releases closely, evaluating new rules as they become available (or when they graduate from nursery). Most config updates have landed within a few hours of a new Oxlint release.
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