Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version 1.0 #96

Merged
merged 39 commits into from
Aug 19, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
4be7db2
Replace parsers with dependency-tree module
pahen Jul 21, 2016
c7c740d
Refactor API to use dependency-tree
pahen Jul 21, 2016
3f7bb34
Refactor CLI to use new API
pahen Jul 21, 2016
2869b44
Update README
pahen Jul 21, 2016
dbad4b6
Use promises in API
pahen Jul 25, 2016
fa2891e
Rename files in /lib
pahen Jul 28, 2016
73c323d
Overall cleanup
pahen Aug 9, 2016
d2fefb3
Create CHANGELOG
pahen Aug 9, 2016
4138eec
Move writing of image file from CLI to API
pahen Aug 9, 2016
1f16119
Return promise for API -> dot()
pahen Aug 9, 2016
c472c2c
Remove ‘should’ from each test description
pahen Aug 9, 2016
b9832de
Replace “—output json” with “—json”
pahen Aug 9, 2016
44a10eb
Determine image format to use from file extension
pahen Aug 9, 2016
ed01447
Enable Node.js 6 on Travis
pahen Aug 9, 2016
6088c7e
Enable syntax highlighting in README
pahen Aug 9, 2016
893e579
Disable colors in debug output when running with —-no-color
pahen Aug 9, 2016
e1ab485
Show stracktrace on errors
pahen Aug 9, 2016
95ae708
Add support for custom GraphViz path
pahen Aug 9, 2016
ab3c208
Update test for circular CommonJS deps
pahen Aug 9, 2016
e3c2c9e
Update examples to use SVG
pahen Aug 9, 2016
3beb66f
Show debug output on Travis
pahen Aug 9, 2016
1747c08
Add documentation for —-basedir option
pahen Aug 10, 2016
1d9f820
Only support one output type in CLI
pahen Aug 10, 2016
0cc89b1
Show message when image was created successfully
pahen Aug 10, 2016
4a3fa29
Fix typo in comment
pahen Aug 10, 2016
6e74c33
Share same debug instance when logging
pahen Aug 10, 2016
a362434
Support excluding modules using RegExp
pahen Aug 10, 2016
42ccbb8
Remove release-it in favor of “npm version”
pahen Aug 12, 2016
127697d
Use module chalk instead of colors
pahen Aug 12, 2016
5880f60
Add 1.0 to CHANGELOG
pahen Aug 14, 2016
8f3bf89
Add —-debug option
pahen Aug 14, 2016
fd2d74f
Rename —-exclude-regexp back to —-exclude
pahen Aug 15, 2016
77d0a75
Bump dependency-tree for perf fixes
pahen Aug 16, 2016
07a36ed
Move tree generation to tree.js and add support folders
pahen Aug 16, 2016
f89bf7c
Update README & CHANGELOG
pahen Aug 16, 2016
0a624c4
Update Travis config
pahen Aug 17, 2016
ce9fb7d
Filter out node_modules as early as possible
pahen Aug 17, 2016
318853d
Increase padding of graph drawing area
pahen Aug 19, 2016
0c209c8
Add short form of some CLI options again
pahen Aug 19, 2016
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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