changelogs.md


pahen/madge

Repository  -  API  -  Source

3.3.0

October 31, 2018
  • Add --no-spinner option (Thanks to @joebowbeer)

3.2.0

June 26, 2018
  • Plot rounded boxes, prefer left to right by default (Thanks to @paulirish)

3.1.0

May 22, 2018
  • Fix performance issue when flattening the dependency tree (Thanks to @wjohnsto)

3.0.1

February 5, 2018
  • Fix issue with short CLI options not working properly
  • Upgraded deps

3.0.0

January 1, 2018
  • Upgraded dependency-tree to 6.0.0

2.2.0

August 29, 2017
  • Support for dynamic imports thanks to @mrjoelkemp and @gmathieu

2.1.0

August 26, 2017
  • Support for TypeScript thanks to @mrjoelkemp and @davidfirst

2.0.0

July 15, 2017
  • To prevent issues with corrupt dependency trees the file extension in filenames will now always be included. Note that this affect how --depends and --exclude match filenames.
  • Added --orphans to show modules that no one is depending on.

1.6.0

February 8, 2017
  • Don't traverses NPM modules anymore (only shallow include)
  • Option --include-npm added
  • Show CLI spinner with the currently processed file
  • Updated CLI output and colors
  • Added support for option dependencyFilter
  • Bug with —-stdin not working properly

1.5.0

January 13, 2017
  • Tweaked output colors and error messages
  • Support running —circular with —-warning

1.4.6

January 9, 2017
  • Updated output in circular dependency check to include file count and better colors.

1.4.5

January 7, 2017
  • Bug with circular dependency reported for foo.js > foo.json due to how file extensions are handled.

1.4.4

January 4, 2017
  • Better support for resolving paths using Webpack config.
  • Show number of skipped files.

1.4.3

October 12, 2016
  • Fixed bug with —-require-config and --webpack-config options in CLI not working.

1.4.2

October 6, 2016
  • Renamed --show-skipped to --warning.

1.4.1

October 6, 2016
  • Don't show warnings about skipped files by default (enable with --show-skipped).

1.4.0

October 6, 2016
  • Show skipped files that can't be resolved as warnings (can be disabled with --no-warning).

1.3.2

October 3, 2016
  • Support for precinct detective option es6.mixedImports.

1.3.1

October 1, 2016

1.3.0

September 6, 2016
  • Big performance boost when running on large codebases.

1.2.0

September 1, 2016
  • Added option --stdin to be used for piping a predefined tree.

1.1.0

August 23, 2016
  • Support for setting custom GraphViz options with config graphVizOptions.

1.0.0

August 19, 2016

After 4 years of adding features/fixes it started to be hard to maintain the project and fix some outstanding issues due to how madge was designed to work.

So I decided it was high time for version 1.0 to be released and take the opportunity to do a major rewrite and reduce the size and responsibility of the project and delegate some work to external libraries. This introduced many breaking changes. Here's the most important ones.

Added:

  • Automatic module type detection thanks to precinct
  • Determine image format based on file extension (SVG support)
  • Reading config from .madgerc (replaces --config)
  • Option --webpack-config for supporting aliased module paths
  • Option --debug for turning on debug output

Changed:

  • Renamed many of the settings in the config
  • Option --json should now be used instead of --output json
  • The generation of the dependency tree is now delegated to the external module dependency-tree
  • Recurse into child dependencies to get a complete dependency tree of a file
  • NPM installed dependencies are now excluded by default
  • Node.js core modules are now excluded
  • The API is now using promises

Removed:

  • Option --format since the format is now detected automatically from the file content
  • Option --optimized and --main-require-module since we no longer support RequireJS builds (r.js)
  • Option --read
  • Option --find-nested-dependencies
  • Option --paths
  • Option --config
  • Option --output
  • Option --break-on-error
  • CoffeeScript support
  • Event callbacks onParseFile and onAddModule
  • NPM shrinkwrap no longer used

0.6.0

July 6, 2016
  • Refactored Madge to use ES6 and now requires Node.js 4 to run.

0.5.5

July 3, 2016
  • Add note about Graphviz and Windows in README.
  • Fix matching absolute path in Windows (Thanks to nadejdashed).
  • Support for ES6 re-export syntax (Thanks to Oli Lalonde).
  • Support files with ES6 (Thanks to Joel Kemp).
  • Improve readme circular return object (Thanks to Way Of The Future).

0.5.4

June 13, 2016
  • Improved JSX and ES7 support (Thanks to Joel Kemp).

0.5.3

November 25, 2015
  • Correct regex on CommonJS parser to detect a core module (Thanks to Guillaume Gomez).

0.5.2

October 16, 2015
  • Updated dependency resolve to latest version.

0.5.1

October 15, 2015
  • Updated dependencies to newer versions (Thanks to Martin Kapp).

0.5.0

April 2, 2015
  • Added support for ES6 modules (Thanks to Marc Laval).
  • Added support for setting custom file extension name (Thanks to Marc Laval).

0.4.1

December 19, 2014
  • Fixed issues with absolute paths for modules IDs in Windows (all tests should now pass on Windows too).

0.4.0

December 19, 2014
  • Add support for JSX (React) and additional module paths (Thanks to Ben Lowery).
  • Fix for detecting presence of AMD or CommonJS modules (Thanks to Aaron Russ).
  • Now resolves the module IDs from the RequireJS paths-config properly (Thanks to russaa).
  • Added support for option findNestedDependencies to find nested dependencies in AMD modules.

0.3.5

  • Fix issue with number of graph node lines increased with each render (Thanks to Colin H. Fredericks).

0.3.4

  • Correctly detect circular dependencies when using path aliases in RequireJS config (Thanks to Nicolas Ramz).

0.3.3

July 11, 2014
  • Fixed bug with relative paths in AMD not handled properly when checking for cyclic dependencies.

0.3.2

June 25, 2014
  • Handle anonymous require() as entry in the RequireJS optimized file (Thanks to Benjamin Horsleben).

0.3.1

June 3, 2014
  • Apply exclude to RequireJS shim dependencies (Thanks to Michael White).

0.3.0

May 25, 2014
  • Added support for onParseFile and onAddModule options (Thanks to Brandon Selway).
  • Added JSON output option (Thanks to Drew Foehn).
  • Fix for optimized files including dependency information for excluded modules (Thanks to Drew Foehn). Fixes issue.

0.2.0

April 17, 2014
  • Added support for including shim dependencies found in RequiredJS config (specify with option -R).

0.1.9

February 17, 2014
  • Ensure forward slashes are used in modules paths (Windows).

0.1.8

January 27, 2014
  • Added support for reading AMD dependencies from a r.js optimized file by using option -O.

0.1.7

September 20, 2013
  • Added missing fontsize option when generating images.

0.1.6

September 4, 2013
  • AMD plugins are now ignored as dependencies. Fixes issue.

0.1.5

September 4, 2013
  • Fixed Windows issue when reading from standard input with --read.

0.1.4

January 10, 2013
  • Switched library for walking directory tree which should solve issues on Windows.

0.1.3

December 28, 2012
  • Added proper exit code when running "madge --circular" so it can be used in build scripts.

0.1.2

November 15, 2012
  • Relative AMD module identifiers (if the first term is "." or "..") are now resolved.

0.1.1

September 3, 2012
  • Tweaked circular dependency path output.

0.1.0

September 3, 2012
  • Complete path in circular dependencies is now printed (and marked as red in image graphs).

0.0.5

August 8, 2012
  • Added support for CoffeeScript. Files with extension .coffee will automatically be compiled on-the-fly.

0.0.4

August 17, 2012
  • Fixed dependency issues with Node.js v0.8.

0.0.3

July 1, 2012
  • Added support for Node.js v0.8 and dropped support for lower versions.

0.0.2

May 21, 2012
  • Added ability to read config file and customize colors.

0.0.1

May 20, 2012
  • Initial release.