Skip to content
PluginStats

eslint-plugin-no-only-tests weekly downloads statistics

By levibuzolic · npm · ESLint plugins

ESLint rule for .only blocks in mocha tests

View on npm Fresh · Oct 18, 2026

eslint-plugin-no-only-tests has 1,219,313 recorded weekly downloads on npm, a decrease of 46.6% over the past 30 days, ranking #186 of 2,322 tracked listings.

Weekly downloads
1,219,313
Official API · Oct 18, 2026
7-day growth
-49.8%
-1.2M weekly downloads
30-day growth
-46.6%
-1.1M weekly downloads
90-day growth
-52.3%
-1.3M weekly downloads
Rank
#186
Among tracked npm listings

About eslint-plugin-no-only-tests

eslint-plugin-no-only-tests

Version Downloads GitHub Tests

ESLint rule for .only tests in Mocha, Jest, Jasmine, Mocha Cakes 2 and other JS testing libraries.

The following test blocks are matched by default: describe, it, context, tape, test, fixture, serial, Feature, Scenario, Given, And, When and Then.

Designed to prevent you from committing focused (.only) tests to CI, which may prevent your entire test suite from running.

If the testing framework you use doesn't use .only to focus tests, you can override the matchers with options.

Installation

Install ESLint if you haven't done so already, then install eslint-plugin-no-only-tests:

bun add --dev eslint eslint-plugin-no-only-tests

This package supports Node.js 5 or newer.

This repository uses Bun as its package manager.

If you're using Oxlint only, you do not need to install ESLint.

Usage

Flat Config (ESLint >= 9)

If you're using ESLint's flat config format, add the plugin to your eslint.config.js:

import noOnlyTests from "eslint-plugin-no-only-tests";

export default [
  {
    plugins: {
      "no-only-tests": noOnlyTests,
    },
    rules: {
      "no-only-tests/no-only-tests": "error",
    },
  },
];
Traditional Config (.eslintrc)

Add no-only-tests to the plugins section of your .eslintrc configuration file. You can omit the eslint-plugin- prefix:

"plugins": [
  "no-only-tests"
]

Then add the rule to the rules section of your .eslintrc:

"rules": {
  "no-only-tests/no-only-tests": "error"
}
Oxlint

Add eslint-plugin-no-only-tests to the jsPlugins section of your .oxlintrc.json.

"jsPlugins": ["eslint-plugin-no-only-tests"],

Then add the rule to the rules section of your .oxlintrc.json:

"rules": {
  "no-only-tests/no-only-tests": "error"
}

[!TIP] This package already works with Oxlint via jsPlugins. In v3.4.0, the rule was updated to use Oxlint's performance-focused createOnce API internally while keeping the same external configuration and ESLint compatibility.

Native test runner support

Some test runners can already fail focused tests at runtime:

  • Mocha: --forbid-only
  • Playwright Test: forbidOnly: !!process.env.CI
  • Vitest: fails on .only in CI by default unless allowOnly is enabled

This plugin is still useful with those runners if you want editor feedback, ESLint-based CI, or opt-in autofixing.

Common framework setups

Jest

The default configuration works for describe.only, it.only and test.only:

"rules": {
  "no-only-tests/no-only-tests": "error"
}

Jest note: use this plugin when you want .only enforcement during linting, in editors, or in ESLint-based CI.

If your codebase also uses Jest's fit or fdescribe aliases, add them with functions:

"rules": {
  "no-only-tests/no-only-tests": ["error", { "functions": ["fit", "fdescribe"] }]
}
Vitest

The default configuration works for describe.only, it.only, test.only, and chained calls such as test.concurrent.only:

"rules": {
  "no-only-tests/no-only-tests": "error"
}

[!NOTE] Vitest already fails the run in CI when it encounters .only. The official allowOnly setting defaults to !process.env.CI, so focused tests fail by default in CI unless you opt back in.

Bun

If you use bun:test, the default configuration works for test.only and describe.only:

"rules": {
  "no-only-tests/no-only-tests": "error"
}

[!NOTE] Bun documents bun test --only as the switch that enables focused execution. Plain bun test still runs the full test suite, even when .only appears in the codebase.

Mocha

Mocha uses describe.only and it.only, so the default configuration works:

"rules": {
  "no-only-tests/no-only-tests": "error"
}

[!NOTE] Mocha has a native CI/runtime guard via --forbid-only, which fails the run if exclusive tests are present.

Cypress

Cypress uses Mocha-style describe.only and it.only, so the default configuration works:

"rules": {
  "no-only-tests/no-only-tests": "error"
}
Playwright Test

The default configuration works for test.only, test.describe.only, and similar chained APIs:

"rules": {
  "no-only-tests/no-only-tests": "error"
}

[!NOTE] Playwright has a native CI/runtime guard via forbidOnly.

Jasmine…

Description from the npm listing.

  • describe
  • eslint
  • eslint-plugin
  • eslintplugin
  • fixture
  • it
  • mocha
  • only
  • rule

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-no-only-tests weekly downloads on npm, last 90 days: 1,219,313 weekly downloads as of Oct 18, 2026, -52.3% over 90 days.eslint-plugin-no-only-testsWeekly downloads on npm · Last 90 days1,219,313downloads / week-52.3% over 90 days1M1.5M2M2.5M3MJul 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-no-only-tests weekly downloads on npm, last 90 days: 1,219,313 weekly downloads as of Oct 18, 2026, -52.3% over 90 days.

7/30/90-day growth

eslint-plugin-no-only-tests weekly downloads growth on npm: -49.8% over 7 days, -46.6% over 30 days, -52.3% over 90 days.eslint-plugin-no-only-testsWeekly downloads growth on npm1,219,313downloads / week now7-day growth-1,207,776 weekly downlo…-49.8%30-day growth-1,064,975 weekly downlo…-46.6%90-day growth-1,339,123 weekly downlo…-52.3%Growth vs. nearest observation to each baseline date · Updated Oct 18, 2026pluginstats.com
eslint-plugin-no-only-tests weekly downloads growth on npm: -49.8% over 7 days, -46.6% over 30 days, -52.3% over 90 days.

Ranking history

eslint-plugin-no-only-tests npm ranking history: currently #186 (by weekly downloads).eslint-plugin-no-only-testsnpm ranking · by weekly downloads · Last 90 days#186current rank#178#180#182#184#186#188Jul 22Aug 6Aug 21Sep 5Sep 20Oct 5Oct 20rankOct 18, 2026 – Oct 20, 2026 · 3 observations · Updated Oct 18, 2026pluginstats.com
eslint-plugin-no-only-tests npm ranking history: currently #186 (by weekly downloads).

Listing placement

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

Listing placement

ESLint plugins256 listings · 13 pages · page 2, #12 (overall #32)
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 (122)
Recent weekly downloads observations for eslint-plugin-no-only-tests
Date (UTC)Weekly downloadsChange vs. previous
1,219,313+158.1K
1,061,260-158.6K
1,219,892+23K
1,196,920-590.3K
1,787,176-569.7K
2,356,9180
2,356,918-70.2K
2,427,089+12.7K
2,414,400+9.5K
2,404,942+6.2K
2,398,753+46.7K
2,352,032-1.4K
2,353,385-536.7K
2,890,133—

Similar npm ESLint plugins plugins

All 20 eslint-plugin-no-only-tests 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-no-only-tests. First seen Oct 16, 2026; last successful collection Oct 20, 2026. See the methodology.