This repository was archived by the owner on May 6, 2019. It is now read-only.
v0.3.0
Changes
- Replaced madge with an own dependency extractor (which uses acorn + acorn_loose) - rationale below.
- 🐛fixed in the process:
- Dependencies outside the file's directory are now followed on their own.
- Flat-defines now also contain the files that are no dependency of others.
- (es6) re-exports are now considered a dependency too.
- The first dependency of a flat-define is now printed on the same line as the define (💄 )
- Replaced jscs + jshint with eslint
- ⬆️ lodash, istanbul, nsp, npm-check-updates
- supports nodejs 4, 5 and 6 (rationale below)
Even though I test thoroughly ( 😉 ) I might have introduced new bugs. If so please report them ❤️ .
So, why replace madge? Madge is working, isn't it?
- Madge has at least one dependency labeled as insecure by the node security project. Which makes madge and js-makedepend labeled as insecure as well.
- Madge is not very small and contains a lot of features js-makedepend does not use.
- Upgrading madge's dependencies is non-trivial - the new (more secure) version of the dependency has a completely new API.
- Other dependency scanners either use madge (e.g. dependo) or were more time consuming to figure out how to use than rolling my own.
- Getting dependencies from an abstract syntax tree is not a hard problem.
You de-supported nodejs 0.12? Why?
I write this in my spare time, for fun. js-makedepend is mostly ES6 now (fun) which won't run on 0.12. Making it run on 0.12 would either mean writing older-style javascript (not fun) or integrating a transpiler train (not fun either ). And my spare time is limited...
Moreover, node 4 & 5 have been walking the streets for quite some time, and 6 has just been released.
- If you need js-makedepend to run on 0.12 you can either
- use version 0.2.4
- or send me enough money to convince me to integrate a transpiler train
All changes