npm dependency-cruiser 8.0.0

latest releases: 16.3.3, 16.3.2, 16.3.1...
4 years ago

🌟 functionality

  • feature(bin): adds a tool to wrap svg output by graphviz in html (#266)
    So it's easier to get highlight-on-hover for the graphical output - see the cli documentation for detail.
  • feature(report): by default visually distinguishes pre-compilation only dependencies in all dot reports (#262)
  • bugfix(extract): disregards the module system when determining pre-compilation-only-ness (#261)
    This might be BREAKING if you use the option preCompilationDeps: "specify" and have rules set up with preCompilationOnly - see below for details.
  • bugfix(init): make options comma-last so they're easier to (un)comment (#270)
  • bugfix(init): for --init yes/ preset only use a webpack/ tsconfig when one is present (#263)
  • test(extract): adds unit tests to verify new types of imports & exports introduced in typescript 3.8+ work (#265)

🔧 maintenance

  • build(npm): ⬆️ acorn-walk, ajv, eslint-plugin-mocha, figures, inquirer, mocha, pnp-webpack-plugin, symlink-dir, typescript
  • refactor(*): standardize on kebab case file names (#267)
  • test(report): add lower level tests for report/utl (#260)
  • style(extract): remove superfluous comment
  • chore(ci): rename yarn-pnp test to yarn-pnp test (#259)

📖 documentation

  • doc(real-world-samples): add react and yarn high-level dependency graphs (#271)
  • doc(rules-reference): correct-a-typo (accfe60)

breaking change: disregard the module system when determining pre-compilation-only-ness

What: If dependency-cruiser is asked to specify whether a dependency exists before compilation from typescript to javascript, it used to compare the before and after too strictly (also heeding the module system - see #261). It does now less strictly, which will yield accurate results.

Impact: Small, and only if you use both:

  • the value "specify" for tsPreCompilationDeps
  • and rules that make use of the preCompilationOnly attribute
    In which case dependencies might get flagged by these rules that didn't get flagged before.

No impact if you don't use both of them (i.e. only one of them or neither).

How to migrate: If there's new dependencies flagged by your specific set up, you probably want to fix them. If that's not a short term option you can set up an exception (e.g. with the pathNot in either the to or from of that rule, making sure the newly found dependencies don't get triggered).

Don't miss a new dependency-cruiser release

NewReleases is sending notifications on new releases.