Rev-dep 3.1.0 release
This minor version bump brings:
- parsing template string literals inside require and import calls
- ability to detect non-literal import targets
- improved support for built-in modules detection
- improvements to telemetry reporting
- various documentation improvements
Template literal import targets
Previously, imports with template string literals, for example import(`someModule.ts`), were not parsed. Right now they are, as long as the target value can be statically analysed.
Template literals that cannot be statically analysed, for example import(`${dir}/someModule.ts`), will be internally represented as NonLiteralModule. Such imports cannot be followed, but they can be detected as a violation by the unresolvedImports detector.
{
"unresolvedImportsDetection": {
"enabled": true,
"reportNonLiteralImports": true
}
}
The detector will throw when there is any non-literal import in the analysed workspace.
Improved built-in modules support
Previously, Rev-dep recognized built-in modules like fs or bun:sqlite, but it was not possible to make assertions against them.
Now you can refer to them by name in the following detectors:
You can also refer to any built-in module with the builtin:* keyword - useful for restricting imports in front-end code.
Read more about built-in modules support in docs
Telemetry improvements
Added event reporting to exploratory toolkit commands. Added reporting of an anonymized repository identifier to all events.
Docs improvements
Added Newsletter and Blog pages. Added llms.txt to improve discoverability by AI agents. Improved the integration guides and the comparison with other tools page.
That's it for this update. See you in the next one 👋
