Skip to content
PluginStats

eslint-plugin-mocha weekly downloads statistics

By lo1tuma · npm · ESLint plugins

Eslint rules for mocha.

View on npm Fresh · Oct 18, 2026

eslint-plugin-mocha has 799,704 recorded weekly downloads on npm, a decrease of 54.7% over the past 30 days, ranking #210 of 2,322 tracked listings.

Weekly downloads
799,704
Official API · Oct 18, 2026
7-day growth
-49.2%
-774.4K weekly downloads
30-day growth
-54.7%
-965.3K weekly downloads
90-day growth
-60.0%
-1.2M weekly downloads
Rank
#210
Among tracked npm listings

About eslint-plugin-mocha

NPM Version GitHub Actions status Coverage Status NPM Downloads

eslint-plugin-mocha

ESLint rules for Mocha.

This plugin targets Mocha's current JavaScript interfaces documented for Mocha 11. It does not execute Mocha or require Mocha at runtime.

Install

This plugin requires ESLint 10.2.0 or later.

npm install --save-dev eslint-plugin-mocha

Configure

Use the plugin with ESLint's flat config. Apply it only to Mocha test files, and adjust files to match your project:

import mochaPlugin from 'eslint-plugin-mocha';

export default [
    {
        files: [ 'test/**/*.js' ],
        ...mochaPlugin.configs.recommended
    }
];

Configs

  • mochaPlugin.configs.recommended: Practical defaults for most projects.
  • mochaPlugin.configs.all: Enables every rule. This config may change when new rules are added, so it is better suited for trying the full rule set than for stable long-term lint output.
import mochaPlugin from 'eslint-plugin-mocha';

export default [
    {
        files: [ 'test/**/*.js' ],
        ...mochaPlugin.configs.all
    }
];

Plugin settings

These settings are shared by multiple rules.

  • additionalCustomNames: Adds custom suite, test, or hook function names. This is useful for Mocha wrappers such as ember-mocha, mocha-each, or project-specific helpers that wrap setup and teardown. Use interface: "require" for wrappers that expose named imports from a helper module instead of importing directly from mocha.
{
    "rules": {
        "mocha/no-pending-tests": "error",
        "mocha/no-exclusive-tests": "error"
    },
    "settings": {
        "mocha/additionalCustomNames": [
            {
                "name": "describeModule",
                "type": "suite",
                "interface": "BDD"
            },
            {
                "name": "testModule",
                "type": "testCase",
                "interface": "TDD"
            },
            {
                "name": "prepareTestContexts",
                "type": "hook",
                "interface": "BDD"
            }
        ]
    }
}

The name field supports these forms:

  • Plain name, such as describeModule:
describeModule('example', function () {});
  • Dotted name, such as describe.modifier:
describe.modifier('example', function () {});
  • Name with parentheses, such as forEach().describe:
forEach([ 1, 2, 3 ]).describe('example', function (n) {});
  • Combination, such as forEach().describeModule.modifier:
forEach([ 1, 2, 3 ]).describeModule.modifier('example', function (n) {});
  • type: Selects suite, testCase, or hook.
  • interface: Selects BDD, TDD, or require. The default is BDD. With require, rule resolution uses named import statements instead of globals. mocha/consistent-interface also reports named imports of Mocha interface methods when this setting is BDD or TDD, which helps catch accidental require-style usage and interface misconfiguration earlier.

The plugin supports Mocha's BDD, TDD, and Require interfaces. It does not support Mocha's Exports or QUnit interfaces, or third-party UIs with different syntax. Many rules depend on suite, test, and hook calls being represented as nested call expressions, which those interfaces do not provide consistently.

For wrapper APIs that still expose suite, test, or hook call functions, use additionalCustomNames.

Rules

For maintainers: the rules table below is generated, and the headers in documentation/rules/*.md are partly generated. Refresh them with npx just update-eslint-docs. Run mutation testing with npx just test-mutation.

<!-- dprint-ignore-start --> <!-- begin auto-generated rules list -->

💼 Configurations enabled in.
⚠️ Configurations set to warn in.
🚫 Configurations disabled in.
✅ Set in the recommended configuration.
🔧 Automatically fixable by the --fix CLI option.
💡 Manually fixable by editor suggestions.…

Description from the npm listing.

  • eslint
  • eslintplugin
  • eslint-plugin
  • mocha

README badge

Show your rank in a README or on your website. The badge updates automatically.

Charts

Images: 30d · 1y · all time · 1600×900 dark

Adoption over time

eslint-plugin-mocha weekly downloads on npm, last 90 days: 799,704 weekly downloads as of Oct 18, 2026, -60.0% over 90 days.eslint-plugin-mochaWeekly downloads on npm · Last 90 days799,704downloads / week-60.0% over 90 days0500K1M1.5M2M2.5MJul 20Aug 4Aug 19Sep 3Sep 18Oct 3Oct 18downloads / weekobservedarchived (Internet Archive)no observationsJul 22, 2026 – Oct 18, 2026 · 89 observations · Updated Oc…pluginstats.com
eslint-plugin-mocha weekly downloads on npm, last 90 days: 799,704 weekly downloads as of Oct 18, 2026, -60.0% over 90 days.

7/30/90-day growth

eslint-plugin-mocha weekly downloads growth on npm: -49.2% over 7 days, -54.7% over 30 days, -60.0% over 90 days.eslint-plugin-mochaWeekly downloads growth on npm799,704downloads / week now7-day growth-774,437 weekly downloads-49.2%30-day growth-965,263 weekly downloads-54.7%90-day growth-1,199,157 weekly downlo…-60.0%Growth vs. nearest observation to each baseline date · Updated Oct 18, 2026pluginstats.com
eslint-plugin-mocha weekly downloads growth on npm: -49.2% over 7 days, -54.7% over 30 days, -60.0% over 90 days.

Ranking history

eslint-plugin-mocha npm ranking history: currently #210 (by weekly downloads).eslint-plugin-mochanpm ranking · by weekly downloads · Last 90 days#210current rank#60#80#100#120#140#160#180#200#220Jul 22Aug 6Aug 21Sep 5Sep 20Oct 5Oct 20rankOct 17, 2026 – Oct 20, 2026 · 4 observations · Updated Oct 18, 2026pluginstats.com
eslint-plugin-mocha npm ranking history: currently #210 (by weekly downloads).

Listing placement

All npm2,320 listings · 116 pages · 1,162 shown · page 11, #10 (overall #210)
All npm: every listing in weekly downloads order

Listing placement

ESLint plugins256 listings · 13 pages · page 3, #4 (overall #44)
ESLint plugins: every listing in weekly downloads order

Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.

Each band is one page of 20. Weekly downloads on a linear scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.

Recent observations

Full history (544)
Recent weekly downloads observations for eslint-plugin-mocha
Date (UTC)Weekly downloadsChange vs. previous
799,704+105.6K
694,111-128.2K
822,360-7.3K
829,700-342.1K
1,171,836-354.8K
1,526,6680
1,526,668-47.5K
1,574,141+23.5K
1,550,600+28K
1,522,589+20.8K
1,501,807-24.3K
1,526,081-36.5K
1,562,623-349.9K
1,912,490—

Similar npm ESLint plugins plugins

All 20 eslint-plugin-mocha alternatives

Data source

Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.

Listing: https://www.npmjs.com/package/eslint-plugin-mocha. First seen Oct 16, 2026; last successful collection Oct 20, 2026. See the methodology.