Skip to content
PluginStats

enhance-visitors weekly downloads statistics

By jfmengels (4 listings) · npm · ESLint plugins

Enhance your ESLint visitors with shared logic

View on npm Fresh · Oct 17, 2026

enhance-visitors has 99,000 recorded weekly downloads on npm, a decrease of 47.9% over the past 30 days.

It ranks #453 of 2,256 tracked npm listings by weekly downloads.

Over 90 days, weekly downloads changed by -58.7%.

PluginStats has 121 daily observations since Jun 19, 2026; the latest is from Oct 17, 2026.

Weekly downloads
99,000
Official API · Oct 17, 2026
7-day growth
-47.3%
-89K weekly downloads
30-day growth
-47.9%
-90.9K weekly downloads
90-day growth
-58.7%
-140.8K weekly downloads
Rank
#453
Among tracked npm listings

About enhance-visitors

enhance-visitors

Enhance your ESLint visitors with shared logic.

Install

Purpose

The purpose of this tool is to simplify the writing of rules with common logic. Extract the common logic into a separate file, and then write rules to build on top.

Traversal order

For the enhancer, the traversal is done just as usual, one node at a time. The traversal is not done all at once for the enhancer, and then all at once for the rule implementation. Rather, it's done one Node at a time, first for the enhancer (or rather, whatever you put first ) but rather the

API

.mergeVisitors([visitors])

Merges multiple visitor objects, so that all visitors for a node type are ran one after the other, in first-to-last order. For :exit visitors, they are traversed last-to-first.

visitors: object[]

An array of visitor objects, such as {CallExpression: fn1, Identifier: fn2, ...}.

Example

Given the following code: foo(), it should print

Usage example: Detection of a package import

Let's say you have a npm package called unicorn, and that you are writing an ESLint plugin for it, so that users use it as intended and avoid pitfalls. You will write multiple rules for it, and most or all of them will need to know which variable references unicorn.

In order not to have to write the same detection logic in every one of your rules, let's write an enhancer. In this example, we will write it in /rules/core/unicornSeeker.js. We'll keep it simple and only detect an import using the import keyword and not using require, and then only with the ImportDefaultSpecifier syntax.

This visitors object will be traversed along and before your rule implementation. What it does is traverse your AST, find ImportDeclaration nodes, and store relevant information in imports. Then in your rule file (/rules/no-unknown-methods.js, which detects methods that do not exist in the package), we'll have:

It looks pretty much like a normal rule implementation, but there are a few differences. In Noteworthy line 1 & 2, we are merging the unicornSeeker enhancer we wrote earlier with the rule implementation. This will make unicornSeeker traverse the AST and collect information that we can then use like we did in Noteworthy line 3.

.visitIf([predicates])

Returns a function fn that takes a visitor function visitor. When fn is called (usually an AST node), visitor will get called with the same argument only if all predicates, also called with the same argument, return a truthy value.

This essentially allows writing less and/or shorter reusable conditions inside your visitor.

predicates: function[]

An array of predicate functions, that take a AST node as argument and return a boolean.

Example

License

MIT © Jeroen Engels

Description from the npm listing.

  • eslint
  • plugin
  • eslint-plugin
  • eslintplugin
  • enhance
  • visitor
  • visitors
  • ast

Charts

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

Adoption over time

enhance-visitors weekly downloads on npm, last 90 days: 99,000 weekly downloads as of Oct 17, 2026, -58.7% over 90 days.enhance-visitorsWeekly downloads on npm · Last 90 days99,000downloads / week-58.7% over 90 days80K100K120K140K160K180K200K220K240K260KJul 19Aug 3Aug 18Sep 2Sep 17Oct 2Oct 17downloads / weekobservedarchived (Internet Archive)no observationsJul 21, 2026 – Oct 17, 2026 · 89 observations · Updated Oc…pluginstats.com
enhance-visitors weekly downloads on npm, last 90 days: 99,000 weekly downloads as of Oct 17, 2026, -58.7% over 90 days.
PNG SVG

7/30/90-day growth

enhance-visitors weekly downloads growth on npm: -47.3% over 7 days, -47.9% over 30 days, -58.7% over 90 days.enhance-visitorsWeekly downloads growth on npm99,000downloads / week now7-day growth-89,026 weekly downloads-47.3%30-day growth-90,860 weekly downloads-47.9%90-day growth-140,754 weekly downloads-58.7%Growth vs. nearest observation to each baseline date · Updated Oct 17, 2026pluginstats.com
enhance-visitors weekly downloads growth on npm: -47.3% over 7 days, -47.9% over 30 days, -58.7% over 90 days.
PNG SVG

Ranking history

enhance-visitors npm ranking history: currently #453 (by weekly downloads).enhance-visitorsnpm ranking · by weekly downloads · Last 90 days#453current rank#451#452#453#454#455Jul 21Aug 5Aug 20Sep 4Sep 19Oct 4Oct 19rankOct 18, 2026 – Oct 19, 2026 · 2 observations · Updated Oct 17, 2026pluginstats.com
enhance-visitors npm ranking history: currently #453 (by weekly downloads).
PNG SVG

Listing placement

All npm2,256 listings · 113 pages · 1,129 shown · page 23, #13 (overall #453)
All npm: every listing in weekly downloads order
PNG SVG

Listing placement

ESLint plugins253 listings · 13 pages · page 5, #18 (overall #98)
ESLint plugins: every listing in weekly downloads order
PNG SVG

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 log 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 (121)
Recent weekly downloads observations for enhance-visitors
Date (UTC)Weekly downloadsChange vs. previous
99,000-21.8K
120,821-3.1K
123,955-38.2K
162,127-37.3K
199,4090
199,409+3.4K
196,002+8K
188,026+5.4K
182,577+8.4K
174,129-1.5K
175,597-3.7K
179,342-40.6K
219,896-11.4K
231,337—

Similar npm ESLint plugins plugins

All 20 enhance-visitors 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/enhance-visitors. First seen Oct 16, 2026; last successful collection Oct 19, 2026. See the methodology.