- Codebase analysis: Count occurrences of patterns, prop usages, component instances
- Migration tracking: Track what needs to be migrated before making changes
- Read-only codemods: Gather insights without modifying code
Basic Usage
ImportuseMetricAtom from codemod:metrics to create a metric tracker:
Cardinality
Cardinality dimensions are key-value pairs that let you group and filter metrics. When you callincrement(), you pass an object with string keys and values:
component=Button).
Example: Counting Prop Usage
This read-only codemod counts how many times each prop is used onButton components:
Insights
Insights binds each dashboard query to one workflow step and loads that step’sjs-ast-grep script from the published package. Metric names must be statically visible in that script (useMetricAtom + increment)—not only in a different package file or helper import. This is the selected step’s script, not necessarily the package entry (for example scripts/codemod.ts). For scale (transforms or mining), see Performant codemods.
Insights runs the selected step on its own, so that step must compute its metric from the repository directly. Don’t rely on files written by an earlier step (for example, a collect step that writes JSON shards for an analyze step); the widget will return no results.