Releases: sverweij/dependency-cruiser
v16.9.0
✨ features
- a00d3a0 feat: adds skipAnalysisNotInRules option (#979) thanks @JavaScriptBach for the suggestion and the validation!
Recommended: add this new option to your dependency-cruiser configuration (.dependency-cruiser.js
or .dependency-cruiser.json
) as it might speed up dependency-cruiser runs by quite a bit if you don't use all of its available features, especially on larger code bases:
// ...
options {
// ...
skipAnalysisNotInRules: true,
// ...
}
// ...
👷 maintenance
- eb7bf8a perf(enrich/reachable): do even less when there's no reachable rules
- 6862b2a build(npm): updates external dependencies
- d9d9ff1 refactor: uses native private fields in classes in stead of fake ones
🧹 chores
- d2550e4 chore: 2025
v16.9.0-beta-1
v16.8.0
✨ features
- dd81580 feat: enables matching transitive dependencies in 'required' rules (#975) - thanks to @ThiagoMaia1 for suggesting and testing the feature
🐛 fixes
- 7bcabe7 refactor: simplifies a few boolean expressions
- the dependency bump below (20a7a2f) also bumped
watskeburt
to latest, which makes both the--affected
cli option and the cache work better on ms-windows and other ms-dos based operating systems.
👷 maintenance
- 20a7a2f build(npm): updates external dependencies
🧹 chores
v16.8.0-beta-1
✨ features
- enables checking against indirect ('transitive') dependencies in
required
rules:- 26df92c feat(schema): adds 'reachable' attribute to the ones possible in 'required' rules
- 64957b9 feat(enrich): adds reachable/ reaches detection based on 'required' rules
- e984d85 feat(validate): adds validation of required rules with 'reachable' attributes (for transitive dependencies)
- fb99edc doc(types|rules-reference): adds the reachable attribute to the types, adds an example to the rules reference
- fcba072 fix(validate): in required rules also take the module itself as a dependency
🐛 fixes
- 7bcabe7 refactor: simplifies a few boolean expressions
👷 maintenance
- 20a7a2f build(npm): updates external dependencies
🧹 chores
v16.7.0
✨ feature: recognize type imports in jsdoc
Dependency-cruiser now has the ability to recognize imports in jsdoc - both the new ones introduced in TS5.5 (e.g. /** @import { something } from "blah"; */
), as well as the older ones (e.g. /** @type {import('blah').something} */
). It's behind an option so it will only detect them if you want it to.
Thanks to @louwers for raising the associated issue and testing a very early version of PR #965
- See detectJSDocImports: detect dependencies in JSDoc comments in the options references for more information and some of the caveats (a.o. really needs the TypeScript compiler)
- The PR's also grew the dependencyTypes
jsdoc
,jsdoc-bracket-import
andjsdoc-import-tag
for use in your rules.
commits:
- 09e9e41 feat(extract): adds recognition of jsdoc
@import
type imports (#965) - 0d49477 feat(extract): adds recognition of the 'classic' jsdoc 'bracket' imports (#969)
- fedead6 feat(init): adds question to enable detection of jsdoc imports (#970)
🐛 fixes
- 09ae707 fix(npm): shortens the message in the (only) distributed script
👷 maintenance
- aae6edd/ b5bfe76 refactor: addresses small linting issues
- 2d2b0e5 refactor(resolve): uses Maps for the context maps
- 79e1aa1 build(npm): updates external dependencies
- 09ae707 fix(npm): shortens the message in the (only) distributed script
🧹 chores
v16.7.0-beta-2
✨ features
- 09e9e41 feat(extract): adds recognition of jsdoc
@import
type imports (#965) (same as in v16.7.0-beta-1) - c01204f feat(extract): adds recognition of jsdoc 'bracket' imports (#969) (✨ new a.c.t. v16.7.0-beta-1)
👷 maintenance
- aae6edd/ b5bfe76 refactor: addresses small linting issues
- 6948da5 build(npm): updates external dependencies
- 09ae707 fix(npm): shortens the message in the (only) distributed script
🧹 chores
v16.7.0-beta-1
✨ features
- 09e9e41 feat(extract): adds recognition of jsdoc
@import
type imports (#965) - thanks @louwers for raising the associated issue and testing a very early version of this feature!
This feature will be released in v16.7.0 (or later?) when the 'bracket style' jsdoc imports also work, so we don't create a breaking change when it's separately introduced.