Skip to content

Commit

Permalink
Version 1.0 (#96)
Browse files Browse the repository at this point in the history
* Replace parsers with dependency-tree module

* Refactor API to use dependency-tree

* Refactor CLI to use new API

* Update README

* Use promises in API

* Rename files in /lib

* Overall cleanup

* Create CHANGELOG

* Move writing of image file from CLI to API

* Return promise for API -> dot()

* Remove ‘should’ from each test description

* Replace “—output json” with “—json”

* Determine image format to use from file extension

* Enable Node.js 6 on Travis

* Enable syntax highlighting in README

* Disable colors in debug output when running with —-no-color

* Show stracktrace on errors

* Add support for custom GraphViz path

* Update test for circular CommonJS deps

* Update examples to use SVG

* Show debug output on Travis

* Add documentation for —-basedir option

* Only support one output type in CLI

* Show message when image was created successfully

* Fix typo in comment

* Share same debug instance when logging

* Support excluding modules using RegExp

* Remove release-it in favor of “npm version”

* Use module chalk instead of colors

* Add 1.0 to CHANGELOG

* Add —-debug option

* Rename —-exclude-regexp back to —-exclude

* Bump dependency-tree for perf fixes

* Move tree generation to tree.js and add support folders

* Update README & CHANGELOG

* Update Travis config

* Filter out node_modules as early as possible

* Increase padding of graph drawing area

* Add short form of some CLI options again
  • Loading branch information
pahen authored Aug 19, 2016
1 parent 7025c09 commit 9adf82d
Show file tree
Hide file tree
Showing 56 changed files with 1,434 additions and 2,685 deletions.
6 changes: 1 addition & 5 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,2 @@
gen.sh
config.json
node_modules
!test/files/cjs/node_modules
/.project
/.settings
.madgerc
3 changes: 1 addition & 2 deletions .npmignore
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
test
examples
test
14 changes: 11 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,15 @@ language: node_js

node_js:
- 4
- 6

before_install:
- sudo apt-get update
- sudo apt-get install graphviz
sudo: false

addons:
apt:
packages:
- graphviz

script:
- npm test
- npm run debug
142 changes: 142 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
# CHANGELOG

## v1.0.0 (Aug 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](https://github.com/mrjoelkemp/node-dependency-tree). This introduced many breaking changes. Here's the most important ones.

**Added:**

* Automatic module type detection thanks to [precinct](https://github.com/mrjoelkemp/node-precinct)
* Determine image format based on file extension (SVG support)
* Reading [config](README.md#configuration) 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](README.md#configuration)
* 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](https://github.com/mrjoelkemp/node-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](README.md#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

## v0.6.0 (July 06, 2016)
* Refactored Madge to use ES6 and now requires Node.js 4 to run.

## v0.5.5 (July 03, 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).

## v0.5.4 (June 13, 2016)
* Improved JSX and ES7 support (Thanks to Joel Kemp).

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

## v0.5.2 (October 16, 2015)
* Updated dependency resolve to latest version.

## v0.5.1 (October 15, 2015)
* Updated dependencies to newer versions (Thanks to Martin Kapp).

## v0.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).

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

## v0.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.

## v0.3.5 (Septemper 22, 2014)
* Fix issue with number of graph node lines increased with each render (Thanks to Colin H. Fredericks).

## v0.3.4 (Septemper 04, 2014)
* Correctly detect circular dependencies when using path aliases in RequireJS config (Thanks to Nicolas Ramz).

## v0.3.3 (July 11, 2014)
* Fixed bug with relative paths in AMD not handled properly when checking for cyclic dependencies.

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

## v0.3.1 (June 03, 2014)
* Apply exclude to RequireJS shim dependencies (Thanks to Michael White).

## v0.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](https://github.com/pahen/madge/issues/26).

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

## v0.1.9 (February 17, 2014)
* Ensure forward slashes are used in modules paths (Windows).

## v0.1.8 (January 27, 2014)
* Added support for reading AMD dependencies from a r.js optimized file by using option -O.

## v0.1.7 (September 20, 2013)
* Added missing fontsize option when generating images.

## v0.1.6 (September 04, 2013)
* AMD plugins are now ignored as dependencies. Fixes [issue](https://github.com/pahen/grunt-madge/issues/1).

## v0.1.5 (September 04, 2013)
* Fixed Windows [issue](https://github.com/pahen/madge/issues/17) when reading from standard input with --read.

## v0.1.4 (January 10, 2013)
* Switched library for walking directory tree which should solve issues on [Windows](https://github.com/pahen/madge/issues/8).

## v0.1.3 (December 28, 2012)
* Added proper exit code when running "madge --circular" so it can be used in build scripts.

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

## v0.1.1 (September 3, 2012)
* Tweaked circular dependency path output.

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

## v0.0.5 (August 8, 2012)
* Added support for CoffeeScript. Files with extension .coffee will automatically be compiled on-the-fly.

## v0.0.4 (August 17, 2012)
* Fixed dependency issues with Node.js v0.8.

## v0.0.3 (July 01, 2012)
* Added support for Node.js v0.8 and dropped support for lower versions.

## v0.0.2 (May 21, 2012)
* Added ability to read config file and customize colors.

## v0.0.1 (May 20, 2012)
* Initial release.
9 changes: 0 additions & 9 deletions LICENSE

This file was deleted.

Loading

0 comments on commit 9adf82d

Please sign in to comment.