npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

vite-plugin-oxlint

v2.0.1

Published

Oxlint plugin for vite.

Readme

npm version license

⚓️+⚡️Vite Plugin Oxlint

A Vite plugin for integrating the Oxlint linter into your Vite project.

Table of Contents

Installation

npm install vite-plugin-oxlint oxlint

Usage

import oxlintPlugin from 'vite-plugin-oxlint'

export default {
  plugins: [oxlintPlugin()]
}

Options

| Option | Type | Default | Description | |--------|------|---------|-------------| | configFile | string | oxlintrc.json | Path to the oxlint config file | | path | string | . | Directory where oxlint runs | | ignorePattern | string \| string[] | — | Glob patterns of files to ignore | | allow | string[] | — | Rules/categories to allow (turn off) | | deny | string[] | — | Rules/categories to deny (turn on) | | warn | string[] | — | Rules/categories to warn | | oxlintPath | string | — | Path to the oxlint binary (useful in monorepos) | | format | string | default | Output format (default, checkstyle, github, gitlab, json, junit, stylish, unix) | | quiet | boolean | false | Suppress warnings, only report errors | | fix | boolean | false | Enable auto-fixing | | failOnError | boolean | false | Fail the build on lint errors | | failOnWarning | boolean | false | Fail the build on lint warnings | | lintOnStart | boolean | true | Run oxlint when the build starts | | params | string | — | Additional raw CLI flags passed to oxlint |

Advanced Usage

All examples below assume the following setup:

import oxlintPlugin from 'vite-plugin-oxlint'

export default {
  plugins: [oxlintPlugin({ /* options here */ })]
}

Configuration file

Use a custom oxlint config file. Default is oxlintrc.json. Note: allow, deny, and warn options override config file rules.

{ configFile: 'eslintrc.json' }

Working directory

Restrict linting to a subdirectory. Default is the project root.

{ path: 'src' }

Ignore patterns

Ignore files using .gitignore-style patterns. See oxlint ignore docs. Quote patterns to avoid shell glob interpretation.

// Single pattern
{ ignorePattern: '"test.js"' }

// Multiple patterns
{ ignorePattern: ['"test.js"', '"dist/**"'] }

Allow / Deny / Warn rules

Control which rules or categories are active. Run npx oxlint --rules to list available rules and categories. These options override any rules defined in the config file.

{
  deny: ['correctness', 'perf'],   // turn on
  allow: ['debugger', 'eqeqeq'],  // turn off
  warn: ['suspicious']
}

Oxlint binary path

In monorepos, if you get "command not found: oxlint" errors, specify the binary path explicitly. Without this option, the plugin falls back to npx (or your package manager's equivalent).

{ oxlintPath: '/path/to/your/monorepo/node_modules/.bin/oxlint' }

Output format

Change how lint diagnostics are reported. See oxlint output formats. Available: default, checkstyle, github, gitlab, json, junit, stylish, unix.

{ format: 'stylish' }

Fail on errors or warnings

By default, lint issues are logged but don't fail the build.

// Suppress warnings entirely (only report errors)
{ quiet: true }

// Fail on errors
{ failOnError: true }

// Fail on warnings
{ failOnWarning: true }

// Disable linting at build start (only lint on file changes during dev)
{ lintOnStart: false }

Additional CLI options

Pass any raw CLI flags as a string. See oxlint CLI options.

{ params: '--deny-warnings --quiet' }

Integration with ESLint

If your project still needs ESLint, use vite-plugin-eslint alongside this plugin, and configure ESLint with eslint-plugin-oxlint to disable rules already covered by oxlint.

import oxlintPlugin from 'vite-plugin-oxlint'
import eslintPlugin from 'vite-plugin-eslint'

export default {
  plugins: [oxlintPlugin(), eslintPlugin()]
}

License

MIT LICENSE