Releases: pioug/rolldown-plugin-angularjs-annotate
Release list
v0.2.0
Highlights
This release focuses on transform throughput while preserving annotation output and the public plugin API.
- Add a native Rolldown
transform.filter.codeso modules without AngularJS annotation signals can be rejected before the transform handler and parser run. - Combine AST indexing and scope traversal, classify candidates during traversal, and defer analysis work until it is needed.
- Prune hot traversal paths for leaf nodes, declaration names, literals, identifiers, duplicate declarators, and irrelevant calls or comments.
- Reduce transform-local allocations by reusing callbacks, parameter arrays, matchers, node classifications, and candidate indexes.
- Upgrade
magic-stringto 1.1 and verify generated mappings with@jridgewell/trace-mapping.
Performance
A paired local benchmark compared the core annotation pipeline in v0.2.0 with v0.1.0 over 662 JavaScript and TypeScript files from BandLab:
| Metric | Result |
|---|---|
| Core annotation time | ~70.8% lower |
| Equivalent throughput | ~3.4× |
| Transformed output | Byte-identical for 662/662 files |
These figures are specific to the measured machine and corpus and cover the core annotation work rather than complete Rolldown build time. Projects can see additional end-to-end savings from the native code filter because irrelevant modules no longer enter the JavaScript transform handler; that benefit depends on project composition.
The gains come from many deliberately small hot-path changes rather than a more complex annotation strategy: fewer complete AST walks, less indexing, earlier candidate rejection, lazy sorting and comment processing, cached node classification, and fewer temporary arrays, sets, and closures.
Full changelog: v0.1.0...v0.2.0