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

eslint-config-leankit

v8.0.0

Published

ESLint rules for LeanKit

Readme

eslint-config-leankit

Build Status

This package provides LeanKit's ESLint configuration as an extensible shared config.

Usage

NOTICE: CommonJS Projects If your project uses CommonJS, your ESLint config file must use the .mjs extension (e.g., eslint.config.mjs) for these configurations to work correctly.

We support many ESLint configurations for your usage.

All the below examples assume that you'll be including the base "eslint-config-leankit" configuration, but you are free to not include that if you wish.

eslint-config-leankit

Our default export contains the base of our ESLint legacy rules (ECMAScript 5). It currently requires only eslint.

  1. npm install eslint eslint-config-leankit --save-dev
  2. add this to your eslint.config.js file:
    import leankit from "eslint-config-leankit";
    
    export default leankit;

eslint-config-leankit/es6

This exports ECMAScript 6+ features and rules. This also only requires eslint. You will probably want to extend this along with the base leankit rules.

  1. npm install eslint eslint-config-leankit --save-dev
  2. add this to your eslint.config.js file:
    import base from "eslint-config-leankit";
    import es6 from "eslint-config-leankit/es6";
    
    export default [base, es6];

eslint-config-leankit/react

These rules are specific to React development. It requires eslint and eslint-plugin-react.

  1. npm install eslint eslint-plugin-react eslint-config-leankit --save-dev
  2. add this to your eslint.config.js file:
    import base from "eslint-config-leankit";
    import react from "eslint-config-leankit/react";
    
    export default [base, react];

eslint-config-leankit/a11y

If you are using React and you'd like some Accessibility rules, then a11y is for you. It requires eslint and eslint-plugin-jsx-a11y.

  1. npm install eslint eslint-plugin-jsx-a11y eslint-config-leankit --save-dev
  2. add this to your eslint.config.js file:
    import base from "eslint-config-leankit";
    import a11y from "eslint-config-leankit/a11y";
    
    export default [base, a11y];

eslint-config-leankit/test

This some rules for writing tests using mocha.

  1. npm install eslint eslint-config-leankit --save-dev
  2. add this to your eslint.config.js file:
    import base from "eslint-config-leankit";
    import test from "eslint-config-leankit/test";
    
    export default [base, test];

eslint-config-leankit/jsdoc-strict

This configuration enforces a strict set of JSDoc rules to ensure your code is thoroughly documented. It requires eslint and eslint-plugin-jsdoc.

  1. npm install eslint eslint-plugin-jsdoc eslint-config-leankit --save-dev
  2. add this to your eslint.config.js file:
    import base from "eslint-config-leankit";
    import jsdocStrict from "eslint-config-leankit/jsdoc-strict";
    
    export default [base, jsdocStrict];

Example Setup

Simple Project Using All the Rules

.
└── eslint.config.js // with export default [base, es6];
import { defineConfig } from "eslint/config";
import js from "@eslint/js";
import leankit from "eslint-config-leankit";
import leankitEs6 from "eslint-config-leankit/es6.js";

export default defineConfig( [
	js.configs.recommended,
	leankit,
	leankitEs6,
	{
		files: [ "**/*.js", "**/*.cjs", "**/*.mjs" ],
		ignores: [
			"node_modules/",
			".idea/",
			".DS_Store",
			"*npm-debug.log",
			"log/",
			"coverage/",
			"*config.json",
			".nyc_output"
		]
	}
] );

Complex Project with Some of the Rules

.
├── client
│   ├── js
│   │   └── eslint.config.js // export default [react];
│   └── spec
│       └── eslint.config.js // export default [test];
│   └── eslint.config.js     // export default [es6];
├── server
│   └── spec
│       └── eslint.config.js // export default [test];
└── eslint.config.js         // export default leankit;

Tests

You can run tests with npm test.

You can make sure this module lints with itself using npm run lint.

Development Tips

Using npm link ../eslint-config-leankit or npm install ../eslint-config-leankit to test changes locally don't work well with this repo. Instead, use npm pack which will create a tgz file (example: eslint-config-leankit-4.5.0.tgz). From there you can install the packed file into another project (example: npm i ../eslint-config-leankit/eslint-config-leankit-4.5.0.tgz --no-save). Once installed you can run linting, but it's recommended to remove ESLint's cache first (example: rm .eslintcache && npm run lint)

eslint-config-leankit > npm pack
eslint-config-leankit > cd ../other-project
other-project > npm i ../eslint-config-leankit/eslint-config-leankit-4.5.0.tgz --no-save
other-project > rm .eslintcache && npm run lint

Migration Notes

ESLint 9 introduces a new flat configuration system which replaces the legacy .eslintrc and similar files. Here are some key points:

  • Configuration File: Replace your legacy .eslintrc.json or .eslintrc with an eslint.config.js file that uses ES module syntax and exports a flat array of configuration objects.
  • Ignore Files: You can no longer use .eslintignore. To ignore files now, please see the official ESLint documentation.
  • Official Guide: For more details, see the official ESLint Migration Guide.

References

See also LeanKit's Style Guide and the ESLint config documentation for more information.