dependency-cruiser

Validate and visualize dependencies. Your rules. JavaScript, TypeScript, CoffeeScript. ES6, CommonJS, AMD.

MIT License

Downloads
1.5M
Stars
4.9K
Committers
47

Bot releases are hidden (Show)

dependency-cruiser -

Published by sverweij 11 months ago

🐛 fixes to address #863

On top of the commit that takes 'workspaces' field into account when merging package manifests fix from #867, from that same PR:

  • 78990e08/ 2f29acea/ 943a5212 fixes: don't classify relative module names as 'aliased' - which addresses the bug that bit the beta testers
  • give precedence to bolted-on aliases (webpack) over node native aliases might there be a conflict

✨ / 📖 things from the main branch rebased into #863, but not released to latest yet

  • ba4533fe feat(resolve): enables passing 'aliasFields' to enhanced-resolve (#870)
  • dfdb385d feat(reporter/dot): only considers rule severity for coloring invalid modules/ dependencies (#869)
  • aca64898 doc: modify semicolons to commas (#866)
dependency-cruiser -

Published by sverweij 11 months ago

🐛 fixes

  • fe0a8311 fix(resolve): takes 'workspaces' field into account when merging package manifests
dependency-cruiser -

Published by sverweij 11 months ago

✨ features

👷 maintenance

  • 6eb9c61f build(npm): updates external dependencies
  • ae9b688e refactor(resolve): hands over preserveSymlink processing to EHR (#865)
  • 41b20c67 fix(test): makes c8 stop processing again when coverage is too low
  • 6dc06324 fix(test): ensures that by default subpath imports are used for local imports
dependency-cruiser - v15.2.0

Published by sverweij 12 months ago

✨ features

  • 2868e199 feat(cache): adds option to compress the cache file (#860)

👷 maintenance

  • 73b8381e build(npm): updates external dependencies
  • 3fc50a2d ci(deps): bump actions/setup-node from 3 to 4 (#858)
  • 9b522676 refactor(tools): folds d2 test fixture regeneration into existing report fixture regeneration
dependency-cruiser -

Published by sverweij 12 months ago

🐛 fixes

  • 8c060162 fix: makes globbing work on windos again
dependency-cruiser -

Published by sverweij 12 months ago

✨ features

👷 maintenance

  • 14691b70 build(npm): updates external dependencies
  • a4427032 refactor(configs): makes the 2 sample reporter plugins ESM
dependency-cruiser -

Published by sverweij 12 months ago

✨ features (🚨 with breaking changes)

For the majority of use cases these additions are not breaking. For the few use cases that are: dependency-cruiser has gotten a little more precise only ...

  • a3cfcecf feat!(extract): makes 'real' depencency type available alongside aliases BREAKING (#856)
    If you have rules that check for dependencyTypes explicitly the rules will still work as before, but they'll be more effective, potentially uncovering transgressions dependency-cruiser didn't find in earlier versions.

  • 36c3dde9 feat!(extract): makes support for subpath imports explicit BREAKING (#855)
    Because dependency-cruiser now labels subpath imports as alias and alias-subpath-import instead of undetermined:

    • if you have rules that explicitly check for alias dependency-crusier might uncover transgressions it didn't before.
    • Likewise if you had rules with checks on undetermined dependency types to find subpath imports, you might want to update them to alias-subpath-import

✨ features

  • 08dce742 feat(report): links to npmjs/ nodejs.org for npm respectively node and core modules (#854) thanks to @CaptainQuirk for the question that led to this feature and for the feedback on the first crude prototype.

👷 mainteinance

  • e7ae8ef2 build(npm): updates external devDependencies
  • c9288e37 ci: sets latest used node version to 21
dependency-cruiser -

Published by sverweij about 1 year ago

👷 maintenance

  • 45ada490 build(npm): updates external dependencies
  • b0171b20 chore(tools): replaces a stray use of lodash.cloneXXX with structuredClone
  • 27aa37e1 refactor: uses one subpath import for most stuff in src
  • d4fb6299 chore(test): replaces a stray use of lodash.cloneXXX with structuredClone
  • f2499545 refactor: introduces use of node imports aliasses in package.json (#851)
dependency-cruiser -

Published by sverweij about 1 year ago

👷 maintenance

  • be0ef743 build(npm): updates external dependencies
  • c421cd18 build(npm): pins transitive devDependency postcss (that's via vue) to ^8.14.31
  • a1e56105 refactor: replaces lodash's clone & cloneDeep with native structuredClone (#850)
  • 7651db45 ci(npm): fixes repository field to match some other kind of format
dependency-cruiser -

Published by sverweij about 1 year ago

✨ features

  • 32cad154 feature(init): adds 'module' field to enhancedResolve mainFields when current module is type:module (#846) - thanks to @JakeSidSmith for asking the question that led to this addition
  • ddd2ee6f feature(main|extract): adds builtInModules option to tweak what to consider built-in (/ core) modules (#847) - thanks again to @JakeSidSmith for providing the context to see why this would be a useful feature

📖 documentation

  • b92b79bd doc(options): elaborates on how to use the mainFields attributes in ESM context

👷 maintenance

  • 7b28857e build(npm): updates external devDependencies
  • c2d731c4 refactor: renames functions that assert things so they reflect that (#848)
  • 48ce9ab7 refactor(extract): rewrites gatherInitialSources' reduce with flatMap (#842)
dependency-cruiser -

Published by sverweij about 1 year ago

🚨 breaking changes

  • 3a9d3848/ 6cb8e8eb ci!: drops support for node 16 and 19, sets minimum supported nodejs version to 18.17 BREAKING
    As we follow the nodejs release cycle and both node 16 and 19 are EOL, we drop support for them. You
    probably have already upgraded to node 18, but if not, now is the time to do so :-). If you need
    to support older nodejs versions, you can still use the last release that supports them (v13.1.5)
    for a while.

📖 documentation

  • c97e81e8 bugfix(doc): adds missing ": true," in options-reference.md example (#840) - thanks @LarsArtmann for this fix

👷 maintenance

  • 5b6c48f6 refactor: replaces 'glob' with 'picomatch' (#841) thanks @jimmywarting for triggering the discussion and pointing out glob as a candidate for replacement!
  • cc93d9cc/ f586e7da build(npm): updates external dependencies
  • 7e68e7ad refactor(cli): renames assertion function
dependency-cruiser -

Published by sverweij about 1 year ago

👷 maintenance

  • 7d5c966c ci: sets up automated publishing with provenance
  • dd0d6924 build(npm): updates external dependencies
  • 2344164e refactor(test): sources assertions from assert/strict to ease strict comparisons (#834)
dependency-cruiser -

Published by sverweij about 1 year ago

🐛 fixes

  • b1212482 fix(report/err-html): makes show/hide ignored violations work again (#832)
  • c23ab920 fix(doc|cli/init-config): suggest typings as a mainFields wherever types is suggested (#831) - thanks to @BRMatt for both the research into this and the (clear and well documented) pull request that fixes this!

👷 maintenance

  • 7de1db05 refactor(report): rewrites all dot reporters without handlebars (#833)
    This is the last PR in a range - and with it removes handlebars as a dependency - making dependency-cruiser's footprint a little smaller and reducing maintenance a bit.
  • 33221303 build(npm): updates external devDependencies

🔒 shasum of the package as published on npmjs: c748333481088f16bb46f15a9d3f8a8699ceb2c7

dependency-cruiser -

Published by sverweij about 1 year ago

👷 maintenance

  • 8da70e8a refactor(cli): rewrites config scaffolding without handlebars (#830)
  • 30ea30f2 refactor(report): rewrites err-html reporter without handlebars (#829)
  • 3af670e0 refactor(report): rewrites html (table) report implementation without handlebars (#828)
  • ad593c53 refactor(test): replaces chai with node:assert - II (#826)
  • 2237d3b6 build(npm): updates external devDependencies

🔒 shasum of the package as published on npmjs: 38dbbf932fd09955167a22abd0d9876b07a23acf

dependency-cruiser -

Published by sverweij about 1 year ago

👷 maintenance

  • e73f38e4 build(npm): updates external dependencies
  • 45f6925e refactor(init): removes the (already undocumented) ability to generate a config that uses a 'preset' (#825)
  • 64398daa refactor(test): replaces chai with node:assert and chai-json-schema with ajv (#823)

🔒 shasum of the package as published on npmjs: bc76744d795e5879116b42f81bca39a5e983eae1

dependency-cruiser -

Published by McMeadow over 1 year ago

🐛 fixes

  • 231a3998 fix(extract): also detects node:test as a core module (#822)

📖 documentation

  • 10827d79 doc(faq): updates copy

👷 maintenance

  • df90a9b2 build(npm): updates external dependencies

🔏 shasum of the package as published on npmjs: 1c15d92229a0d055a55d4c8ae49b81e41234c29c

dependency-cruiser -

Published by sverweij over 1 year ago

✨ features

  • fb262faa feature(report): adds azure-devops reporter (#821) - thanks @jmarek-sky for the idea and for thinking along and validating the implementation!

👷 maintenance

  • 9545683e build(npm): updates external dependencies
  • 066cd058 refactor(report|extract|cli): replaces some objects-as-maps with real Maps
  • b4f4778a doc(SECURITY): corrects a typo
  • 5abcb7a2 fix(main): removes unused import

🔒 shasum of the package as published on npmjs: f82c852fcdad098314a405f3856c470360d61c92

dependency-cruiser -

Published by sverweij over 1 year ago

🐛 fixes

  • ddd81a00 fix(main): when baseUrl is tsconfig still load tsconfig-paths-webpack-plugin (#819) (thanks to @toni-monteagudo for filing the (very well documented) issue!)

👷 maintenance

  • 7abdc69f chore(test): excludes configuration .js scripts from code coverage
  • 2bf3cc04 build(npm): updates external dependencies

🔏 shasum of the package as published on npmjs: abe600dfd6b7dbd6a5186309ae9ddbdff9e3a3a7

dependency-cruiser -

Published by sverweij over 1 year ago

👷 maintenance

  • a0b6dee4 build(npm): updates external dependencies
    Fixes #817

🔒 shasum of the package as published on npmjs: 69941b3dc27768de4e7b966cb32052e4feb442bb

dependency-cruiser -

Published by sverweij over 1 year ago

👷 maintenance

  • 6276288f chore(extract): makes 'require' detection with typescript >5.2.0 as well (#811)
    -> this fixes the DeprecationWarning: 'originalKeywordKind' has been deprecated since v5.0.0 and will no longer be usable after v5.2.0. Use 'identifierToKeywordKind(identifier)' instead. typescript/ tsc warning some of you might've been getting.
  • 3930f4cc build(npm): updates external dependencies
  • 5d6d4b32 chore(tools): updates meta.js generator to use top level await
  • da31be91 doc(cli|options): removes 'experimental' notices + various other copy edits

🔏 shasum of the the release as published on npmjs: 2f8ed287ca761340b38a3881a3277a2b0c9cea60