eslint-type-tracer weekly downloads statistics
By ota-meshi (10 listings) · npm · ESLint plugins
The type tracer for ESLint rules.
eslint-type-tracer has 95,369 recorded weekly downloads on npm, a decrease of 26.0% over the past 30 days.
About eslint-type-tracer
Introduction
eslint-type-tracer is the type tracer for ESLint rules.
📛 Features
Trace and infer types of expression nodes for ESLint rules.
🚧 Limitations
This tool cannot always infer the complete or exact type of an expression. In particular, ESLint analyzes one file at a time, so types that are defined or imported from other files cannot be inferred. As a result, type inference is limited to what can be determined within the current file only.
💿 Installation
npm install eslint-type-tracer
Requirements
- ESLint v8.57.0 and above
- Node.js v14.18.0, v16.0.0 and above
📖 Usage
API
buildTypeTracer
import { buildTypeTracer } from "eslint-type-tracer";
Builds a type tracer function for use in ESLint rules. This function infers the type name of a given AST expression node.
Signature:
function buildTypeTracer(
sourceCode: SourceCode
): (node: TSESTree.Expression) => TypeName[];
sourceCode: The ESLintSourceCodeobject.
Returns:
A function that takes an expression node and returns an array of inferred type names (e.g., ["Array"]). If the type cannot be determined, it returns an empty array []。
Example:
const typeTrace = buildTypeTracer(context.sourceCode);
const typeNames = typeTrace(node);
if (typeNames.includes("Array")) {
// node is inferred as Array
}
buildTypeChecker
import { buildTypeChecker } from "eslint-type-tracer";
Builds a type checker function for use in ESLint rules. This function helps you determine if a given AST node is of a specific type.
Signature:
function buildTypeChecker(
sourceCode: SourceCode,
options?: { aggressive?: boolean }
): (
node: TSESTree.Expression,
className: TypeName,
memberAccessNode?: TSESTree.MemberExpression | TSESTree.Property
) => boolean | "aggressive";
sourceCode: The ESLintSourceCodeobject.options.aggressive: If set totrue, returns"aggressive"when the type cannot be determined. Default isfalse.
Returns:
A function that takes an expression node, a type name, and optionally a member access node, and returns true if the node is of the specified type, false if not, or "aggressive" if undetermined and the option is set.
Example:
const typeChecker = buildTypeChecker(context.sourceCode);
if (typeChecker(node, "Array")) {
// node is an Array
}
🍻 Contributing
Welcome contributing!
Please use GitHub's Issues/PRs.
Development Tools
npm run testruns tests.
🔒 License
See the LICENSE file for license rights and limitations (MIT).
Description from the npm listing.
- eslint
- eslintplugin
- eslint-plugin
- math
- number
- lint
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
7/30/90-day growth
Ranking history
Listing placement
Listing placement
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)Similar npm ESLint plugins plugins
All 20 eslint-type-tracer alternativesData 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-type-tracer. First seen Oct 16, 2026; last successful collection Oct 22, 2026. See the methodology.