CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-oxlint

High-performance JavaScript and TypeScript linter written in Rust, designed as part of the Oxc (Oxidation Compiler) suite of tools

Overview
Eval results
Files

plugins.mddocs/

Plugins

Oxlint features a comprehensive plugin system that provides specialized linting rules for different frameworks, libraries, and coding standards. Plugins can be enabled or disabled through both command-line options and configuration files.

Plugin Architecture

Oxlint plugins are built-in modules that provide additional linting rules beyond the core JavaScript/TypeScript rules. Each plugin focuses on specific domains like frameworks (React, Vue), testing libraries (Jest, Vitest), or coding standards (accessibility, performance).

Built-in Plugins

Default Enabled Plugins

These plugins are enabled by default and can be disabled if not needed:

ESLint Core Plugin

Configuration:

{
  "plugins": ["eslint"]
}

Core ESLint rules for JavaScript linting (always enabled).

Unicorn Plugin

# Disable unicorn plugin
oxlint --disable-unicorn-plugin

Configuration:

{
  "plugins": ["unicorn"]
}

Provides modern JavaScript best practices and code quality rules.

OXC Plugin

# Disable oxc unique rules
oxlint --disable-oxc-plugin

Configuration:

{
  "plugins": ["oxc"]
  // or alternative name
  "plugins": ["deepscan"]
}

Oxlint-specific rules and optimizations not found in other linters.

TypeScript Plugin

# Disable TypeScript plugin
oxlint --disable-typescript-plugin

Configuration:

{
  "plugins": ["typescript"]
  // or alternative name
  "plugins": ["@typescript-eslint"]
}

Provides @typescript-eslint compatible rules for TypeScript code analysis.

Framework Plugins

React Plugin

# Enable React plugin
oxlint --react-plugin

Configuration:

{
  "plugins": ["react", "react-hooks"],
  "settings": {
    "react": {
      "version": "detect",
      "pragma": "React",
      "fragment": "Fragment",
      "createClass": "createReactClass",
      "flowVersion": "0.53"
    }
  }
}

React-specific linting rules for JSX, hooks, and component patterns. Includes both react and react-hooks rules.

Vue Plugin

# Enable Vue plugin
oxlint --vue-plugin

Configuration:

{
  "plugins": ["vue"]
}

Vue.js-specific linting rules for Single File Components and Vue syntax.

Next.js Plugin

# Enable Next.js plugin
oxlint --nextjs-plugin

Configuration:

{
  "plugins": ["nextjs"]
}

Next.js framework-specific rules for pages, API routes, and optimization patterns.

Testing Plugins

Jest Plugin

# Enable Jest plugin
oxlint --jest-plugin

Configuration:

{
  "plugins": ["jest"],
  "env": {
    "jest": true
  }
}

Jest testing framework rules for test structure, assertions, and best practices.

Vitest Plugin

# Enable Vitest plugin
oxlint --vitest-plugin

Configuration:

{
  "plugins": ["vitest"]
}

Vitest testing framework rules. When enabled, automatically enables Jest plugin rules for compatibility.

Code Quality Plugins

Import Plugin

# Enable import plugin (experimental)
oxlint --import-plugin

Configuration:

{
  "plugins": ["import"]
  // or alternative name
  "plugins": ["import-x"]
}

Settings:

{
  "settings": {
    "import/resolver": {
      "node": {
        "extensions": [".js", ".jsx", ".ts", ".tsx"]
      },
      "typescript": {
        "alwaysTryTypes": true,
        "project": "./tsconfig.json"
      }
    },
    "import/ignore": ["node_modules"],
    "import/extensions": [".js", ".jsx", ".ts", ".tsx"],
    "import/core-modules": ["electron"]
  }
}

ES6 import/export validation and dependency analysis. Works best with --tsconfig option.

JSDoc Plugin

# Enable JSDoc plugin
oxlint --jsdoc-plugin

Configuration:

{
  "plugins": ["jsdoc"]
}

JSDoc comment validation and documentation standards enforcement.

Promise Plugin

# Enable Promise plugin
oxlint --promise-plugin

Configuration:

{
  "plugins": ["promise"]
}

Promise usage patterns, async/await best practices, and error handling.

Node.js Plugin

# Enable Node.js plugin
oxlint --node-plugin

Configuration:

{
  "plugins": ["node"],
  "env": {
    "node": true
  }
}

Node.js specific rules for modules, APIs, and server-side patterns.

Accessibility and Performance

JSX A11y Plugin

# Enable JSX accessibility plugin
oxlint --jsx-a11y-plugin

Configuration:

{
  "plugins": ["jsx-a11y"]
}

Accessibility rules for JSX elements, ARIA attributes, and semantic HTML.

React Performance Plugin

# Enable React performance plugin
oxlint --react-perf-plugin

Configuration:

{
  "plugins": ["react-perf"]
}

React performance optimization rules for rendering, memoization, and bundle size.

Utility Plugins

Regex Plugin

# Enable regex plugin
oxlint --regex-plugin

Configuration:

{
  "plugins": ["regex"]
}

Regular expression validation and security rules.

Plugin Configuration

Multiple Plugin Activation

# Enable multiple plugins simultaneously
oxlint --react-plugin --import-plugin --jest-plugin --jsx-a11y-plugin src/

# Mix of enable/disable options
oxlint --react-plugin --disable-unicorn-plugin --disable-oxc-plugin src/

Configuration File Plugin Management

{
  "plugins": [
    "typescript",
    "react",
    "import",
    "jest",
    "jsx-a11y"
  ],
  "rules": {
    "react/jsx-uses-react": "error",
    "import/no-unresolved": "error",
    "jest/expect-expect": "warn",
    "@typescript-eslint/no-unused-vars": "error"
  }
}

Plugin-Specific Rule Configuration

TypeScript Plugin Rules

{
  "plugins": ["typescript"],
  "rules": {
    "@typescript-eslint/explicit-function-return-type": "warn",
    "@typescript-eslint/no-explicit-any": "error",
    "@typescript-eslint/no-unused-vars": "error",
    "@typescript-eslint/prefer-nullish-coalescing": "warn"
  }
}

React Plugin Rules

{
  "plugins": ["react"],
  "rules": {
    "react/jsx-uses-react": "error",
    "react/jsx-uses-vars": "error",
    "react/no-unused-state": "warn",
    "react/prefer-stateless-function": "warn"
  },
  "settings": {
    "react": {
      "version": "detect"
    }
  }
}

Import Plugin Rules

{
  "plugins": ["import"],
  "rules": {
    "import/no-unresolved": "error",
    "import/no-cycle": "error",
    "import/order": ["warn", {
      "groups": ["builtin", "external", "internal"]
    }]
  },
  "settings": {
    "import/resolver": {
      "typescript": true
    }
  }
}

Advanced Plugin Usage

Type-Aware Linting

Some plugins require type information for advanced analysis:

# Enable type-aware rules with TypeScript configuration
oxlint --type-aware --tsconfig ./tsconfig.json --import-plugin src/

Project-Specific Plugin Selection

{
  "overrides": [
    {
      "files": ["src/components/**/*.tsx"],
      "plugins": ["react", "jsx-a11y"],
      "rules": {
        "react/jsx-props-no-spreading": "error",
        "jsx-a11y/alt-text": "error"
      }
    },
    {
      "files": ["**/*.test.ts", "**/*.test.tsx"],
      "plugins": ["jest"],
      "env": {
        "jest": true
      }
    }
  ]
}

Plugin Compatibility

  • Vitest + Jest: Enabling Vitest automatically enables Jest for compatibility
  • TypeScript + Import: Import plugin works best with TypeScript resolver
  • React + JSX A11y: Common combination for React accessibility
  • React + React Performance: Comprehensive React optimization

Experimental Features

JavaScript Plugins

# Enable experimental JavaScript plugins (requires npm distribution)
oxlint --experimental-js-plugins

Requirements:

  • 64-bit little-endian platform
  • Running through npm/npx (not standalone binary)
  • External linter integration

Note: This feature is experimental and primarily intended for integration with Node.js tools and language servers.

Install with Tessl CLI

npx tessl i tessl/npm-oxlint

docs

cli.md

configuration.md

index.md

nodejs-api.md

output-formats.md

plugins.md

rules.md

tile.json