Skip to content

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.

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
react‑you‑might‑not‑need‑an‑effect
🟦 @standard‑config/oxlint‑stylistic stylistic
perfectionist
 

FAQ

How responsive is this config to new Oxlint releases?

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.

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

Security policy

Stars

10 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages