Installation

Million Lint is a VSCode extension that speeds up your website!

Your React app is slow. Million Lint surfaces problematic code and automatically suggests ways to improve it.

Million Lint works with any React app (Next.js, Vite, Webpack, etc.) – get started in minutes!

Automatic Installation

Million Lint works with npm, pnpm, and yarn with:

  • VSCode v1.84.1 or later
  • React v16.8.6 or later
  • Node v16 or later
  • macOS, Windows, and Linux are supported.
VSCode with SSH

Running through WSL, a custom VM, or Docker is not supported.

We recommend installing Million via our CLI installer, which sets up everything automatically for you. To integrate Million Lint into your React app, run the following command:

Terminal
npx million@latest

On installation, you'll be prompted to install the Million Lint build plugin and VSCode extension.

That's it! You're all set up 🎉


Manual Installation

If the setup failed, you will have go through the manual installation steps. Don't worry! It takes <10 minutes.

Start by installing the @million/lint package:

npm install @million/lint@latest

Then, integrate Million with your build tool:

Client components only

Million Lint is supported in /app (for "use client" components only) and /pages. Don't worry, just pass the { rsc: true } option to the build tool and we handle it for you.

next.config.mjs
import MillionLint from "@million/lint";
 
const nextConfig = {
  // ...
};
 
export default MillionLint.next({ rsc: true })(nextConfig);

Install the VSCode extension.

Finally, start your development server. You should be good to go!

Build options

You can further customize the Million Lint build plugin by passing options.

For example, if I want to limit scanning to only the /components folder, I can do this:

next.config.mjs
// ...
export default MillionLint.next({
  rsc: true,
  filter: {
    include: "**/components/*.{mtsx,mjsx,tsx,jsx}",
  },
})(nextConfig);
PropTypeDefault
rsc
boolean
false
filter.exclude
string | RegExp | (string | RegExp)[]
**/node_modules/**/*
filter.include
string | RegExp | (string | RegExp)[]
"**/*.{mtsx,mjsx,tsx,jsx}"
apiKey
string
-
optimizeDOM
boolean
false
legacyHmr
boolean
false

On this page