Note to self: Figure out what data to expose
Example:
{ "affected_packages": { "CutyCapt": [], "GtkAda": [ "libglade2" ], "NetworkManager": [ "gnutls" ], "OpenSceneGraph": [ "pangox-compat" ], "R-V8": [ "R-rmarkdown" ], "R-broom": [ "R-rmarkdown" ], ... "abgraph": [], "abiword": [ "gnutls" ], "accrete": [], "alleyoop": [ "libglade2" ], "amqp": [], "apache-commons-configuration": [ "apache-commons-vfs" ], "apache-commons-vfs": [], ... }, "status_change": { "CutyCapt": "2020-05-13T05:50:55", "abgraph": "2020-05-26T22:56:23", "accrete": "2020-05-26T22:56:25", "amqp": "2020-06-04T18:06:26", "apache-commons-vfs": "2020-05-15T18:23:34", ... } }
Each affected package has a list of packages that "made" it affected. When the list is empty, the package is only affected because it is orphaned.
Note that even orphaned packages can be affected by other orphaned packages.
I could unfold that data to lists of chain dependencies, but this makes them easier to represent.
Has only orphaned packages and their date. The package is retired 6 weeks after the date (+ human delay).
When querying packages, you:
affected_packages
status_change
affected_packages[name]
That way, you can than say something like:
systemd is depending on orphaned trousers and will have trouble in ~5 weeks
And the tooltip would say:
systemd → gnutls → trousers (will be retired on 2020-07-07)
orphans.json
Note that there might be multiple problematic deps and you might want to prioritize the one that will hit soonest.
https://churchyard.fedorapeople.org/orphans.json
Metadata Update from @frantisekz: - Issue assigned to frantisekz
@churchyard: something tells me that showing the (especially complete) information in a reasonable way will be... challenging :) Based on the current data from: https://churchyard.fedorapeople.org/orphans.json
$ sympa has multiple chains of orphan deps: sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-cli > nodejs-grunt-known-options sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-known-options sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-commander > nodejs-should > nodejs-should-equal > nodejs-should-type sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-commander > nodejs-should > nodejs-should-format > nodejs-should-type sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-commander > nodejs-should > nodejs-should-type sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-commander > nodejs-sinon sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-commander > nodejs-should > nodejs-should-equal > nodejs-should-type sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-commander > nodejs-should > nodejs-should-format > nodejs-should-type sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-commander > nodejs-should > nodejs-should-type sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-commander > nodejs-sinon sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-constantinople > uglify-js > nodejs-acorn > nodejs-rollup sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-graceful-fs > nodejs-tap sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-proxyquire > nodejs-should > nodejs-should-equal > nodejs-should-type sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-proxyquire > nodejs-should > nodejs-should-format > nodejs-should-type sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-proxyquire > nodejs-should > nodejs-should-type sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-inherits sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-process-nextick-args > nodejs-tap sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-safe-buffer > nodejs-tape sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-util-deprecate sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-set-immediate-shim sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-tap sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-inherits sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-process-nextick-args > nodejs-tap sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-safe-buffer > nodejs-tape sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-util-deprecate sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-xtend sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-transformers > nodejs-clone sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-should > nodejs-should-equal > nodejs-should-type sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-should > nodejs-should-format > nodejs-should-type sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-should > nodejs-should-type sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-supports-color sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > nodejs-require-uncached > nodejs-resolve-from sympa > js-html5shiv > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-supports-color sympa > js-html5shiv > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-chalk > nodejs-ansi-styles > nodejs-require-uncached > nodejs-resolve-from sympa > js-html5shiv > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-chalk > nodejs-supports-color sympa > js-html5shiv > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-commander > nodejs-should > nodejs-should-equal > nodejs-should-type sympa > js-html5shiv > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-commander > nodejs-should > nodejs-should-format > nodejs-should-type sympa > js-html5shiv > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-commander > nodejs-should > nodejs-should-type sympa > js-html5shiv > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-commander > nodejs-sinon sympa > js-html5shiv > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-commander > nodejs-should > nodejs-should-equal > nodejs-should-type sympa > js-html5shiv > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-commander > nodejs-should > nodejs-should-format > nodejs-should-type sympa > js-html5shiv > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-commander > nodejs-should > nodejs-should-type sympa > js-html5shiv > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-commander > nodejs-sinon sympa > js-html5shiv > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-constantinople > uglify-js > nodejs-acorn > nodejs-rollup sympa > js-html5shiv > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-graceful-fs > nodejs-tap sympa > js-html5shiv > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-proxyquire > nodejs-should > nodejs-should-equal > nodejs-should-type sympa > js-html5shiv > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-proxyquire > nodejs-should > nodejs-should-format > nodejs-should-type sympa > js-html5shiv > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-proxyquire > nodejs-should > nodejs-should-type sympa > js-html5shiv > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-inherits sympa > js-html5shiv > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-process-nextick-args > nodejs-tap sympa > js-html5shiv > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-safe-buffer > nodejs-tape sympa > js-html5shiv > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-util-deprecate sympa > js-html5shiv > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-set-immediate-shim sympa > js-html5shiv > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-tap sympa > js-html5shiv > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-inherits sympa > js-html5shiv > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-process-nextick-args > nodejs-tap sympa > js-html5shiv > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-safe-buffer > nodejs-tape sympa > js-html5shiv > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-util-deprecate sympa > js-html5shiv > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-xtend sympa > js-html5shiv > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-transformers > nodejs-clone sympa > js-html5shiv > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-should > nodejs-should-equal > nodejs-should-type sympa > js-html5shiv > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-should > nodejs-should-format > nodejs-should-type sympa > js-html5shiv > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-should > nodejs-should-type sympa > js-html5shiv > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-supports-color sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-cli > nodejs-grunt-known-options sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-known-options sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-commander > nodejs-should > nodejs-should-equal > nodejs-should-type sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-commander > nodejs-should > nodejs-should-format > nodejs-should-type sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-commander > nodejs-should > nodejs-should-type sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-commander > nodejs-sinon sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-commander > nodejs-should > nodejs-should-equal > nodejs-should-type sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-commander > nodejs-should > nodejs-should-format > nodejs-should-type sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-commander > nodejs-should > nodejs-should-type sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-commander > nodejs-sinon sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-constantinople > uglify-js > nodejs-acorn > nodejs-rollup sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-graceful-fs > nodejs-tap sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-proxyquire > nodejs-should > nodejs-should-equal > nodejs-should-type sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-proxyquire > nodejs-should > nodejs-should-format > nodejs-should-type sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-proxyquire > nodejs-should > nodejs-should-type sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-inherits sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-process-nextick-args > nodejs-tap sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-safe-buffer > nodejs-tape sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-util-deprecate sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-set-immediate-shim sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-tap sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-inherits sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-process-nextick-args > nodejs-tap sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-safe-buffer > nodejs-tape sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-util-deprecate sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-xtend sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-transformers > nodejs-clone sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-should > nodejs-should-equal > nodejs-should-type sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-should > nodejs-should-format > nodejs-should-type sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-should > nodejs-should-type sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-supports-color sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > nodejs-require-uncached > nodejs-resolve-from sympa > js-jquery-jqplot > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-supports-color sympa > js-jquery-jqplot > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-chalk > nodejs-ansi-styles > nodejs-require-uncached > nodejs-resolve-from sympa > js-jquery-jqplot > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-chalk > nodejs-supports-color sympa > js-jquery-jqplot > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-commander > nodejs-should > nodejs-should-equal > nodejs-should-type sympa > js-jquery-jqplot > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-commander > nodejs-should > nodejs-should-format > nodejs-should-type sympa > js-jquery-jqplot > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-commander > nodejs-should > nodejs-should-type sympa > js-jquery-jqplot > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-commander > nodejs-sinon sympa > js-jquery-jqplot > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-commander > nodejs-should > nodejs-should-equal > nodejs-should-type sympa > js-jquery-jqplot > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-commander > nodejs-should > nodejs-should-format > nodejs-should-type sympa > js-jquery-jqplot > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-commander > nodejs-should > nodejs-should-type sympa > js-jquery-jqplot > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-commander > nodejs-sinon sympa > js-jquery-jqplot > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-constantinople > uglify-js > nodejs-acorn > nodejs-rollup sympa > js-jquery-jqplot > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-graceful-fs > nodejs-tap sympa > js-jquery-jqplot > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-proxyquire > nodejs-should > nodejs-should-equal > nodejs-should-type sympa > js-jquery-jqplot > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-proxyquire > nodejs-should > nodejs-should-format > nodejs-should-type sympa > js-jquery-jqplot > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-proxyquire > nodejs-should > nodejs-should-type sympa > js-jquery-jqplot > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-inherits sympa > js-jquery-jqplot > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-process-nextick-args > nodejs-tap sympa > js-jquery-jqplot > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-safe-buffer > nodejs-tape sympa > js-jquery-jqplot > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-util-deprecate sympa > js-jquery-jqplot > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-set-immediate-shim sympa > js-jquery-jqplot > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-tap sympa > js-jquery-jqplot > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-inherits sympa > js-jquery-jqplot > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-process-nextick-args > nodejs-tap sympa > js-jquery-jqplot > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-safe-buffer > nodejs-tape sympa > js-jquery-jqplot > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-util-deprecate sympa > js-jquery-jqplot > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-xtend sympa > js-jquery-jqplot > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-transformers > nodejs-clone sympa > js-jquery-jqplot > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-should > nodejs-should-equal > nodejs-should-type sympa > js-jquery-jqplot > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-should > nodejs-should-format > nodejs-should-type sympa > js-jquery-jqplot > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-should > nodejs-should-type sympa > js-jquery-jqplot > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-supports-color sympa > js-respond > nodejs-grunt > nodejs-grunt-cli > nodejs-grunt-known-options sympa > js-respond > nodejs-grunt > nodejs-grunt-known-options sympa > js-respond > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-commander > nodejs-should > nodejs-should-equal > nodejs-should-type sympa > js-respond > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-commander > nodejs-should > nodejs-should-format > nodejs-should-type sympa > js-respond > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-commander > nodejs-should > nodejs-should-type sympa > js-respond > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-commander > nodejs-sinon sympa > js-respond > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-commander > nodejs-should > nodejs-should-equal > nodejs-should-type sympa > js-respond > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-commander > nodejs-should > nodejs-should-format > nodejs-should-type sympa > js-respond > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-commander > nodejs-should > nodejs-should-type sympa > js-respond > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-commander > nodejs-sinon sympa > js-respond > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-constantinople > uglify-js > nodejs-acorn > nodejs-rollup sympa > js-respond > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-graceful-fs > nodejs-tap sympa > js-respond > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-proxyquire > nodejs-should > nodejs-should-equal > nodejs-should-type sympa > js-respond > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-proxyquire > nodejs-should > nodejs-should-format > nodejs-should-type sympa > js-respond > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-proxyquire > nodejs-should > nodejs-should-type sympa > js-respond > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-inherits sympa > js-respond > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-process-nextick-args > nodejs-tap sympa > js-respond > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-safe-buffer > nodejs-tape sympa > js-respond > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-util-deprecate sympa > js-respond > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-set-immediate-shim sympa > js-respond > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-tap sympa > js-respond > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-inherits sympa > js-respond > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-process-nextick-args > nodejs-tap sympa > js-respond > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-safe-buffer > nodejs-tape sympa > js-respond > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-util-deprecate sympa > js-respond > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-xtend sympa > js-respond > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-transformers > nodejs-clone sympa > js-respond > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-should > nodejs-should-equal > nodejs-should-type sympa > js-respond > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-should > nodejs-should-format > nodejs-should-type sympa > js-respond > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-should > nodejs-should-type sympa > js-respond > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-supports-color sympa > js-respond > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > nodejs-require-uncached > nodejs-resolve-from sympa > js-respond > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-supports-color sympa > js-respond > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-chalk > nodejs-ansi-styles > nodejs-require-uncached > nodejs-resolve-from sympa > js-respond > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-chalk > nodejs-supports-color sympa > js-respond > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-commander > nodejs-should > nodejs-should-equal > nodejs-should-type sympa > js-respond > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-commander > nodejs-should > nodejs-should-format > nodejs-should-type sympa > js-respond > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-commander > nodejs-should > nodejs-should-type sympa > js-respond > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-commander > nodejs-sinon sympa > js-respond > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-commander > nodejs-should > nodejs-should-equal > nodejs-should-type sympa > js-respond > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-commander > nodejs-should > nodejs-should-format > nodejs-should-type sympa > js-respond > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-commander > nodejs-should > nodejs-should-type sympa > js-respond > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-commander > nodejs-sinon sympa > js-respond > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-constantinople > uglify-js > nodejs-acorn > nodejs-rollup sympa > js-respond > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-graceful-fs > nodejs-tap sympa > js-respond > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-proxyquire > nodejs-should > nodejs-should-equal > nodejs-should-type sympa > js-respond > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-proxyquire > nodejs-should > nodejs-should-format > nodejs-should-type sympa > js-respond > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-proxyquire > nodejs-should > nodejs-should-type sympa > js-respond > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-inherits sympa > js-respond > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-process-nextick-args > nodejs-tap sympa > js-respond > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-safe-buffer > nodejs-tape sympa > js-respond > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-util-deprecate sympa > js-respond > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-set-immediate-shim sympa > js-respond > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-tap sympa > js-respond > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-inherits sympa > js-respond > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-process-nextick-args > nodejs-tap sympa > js-respond > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-safe-buffer > nodejs-tape sympa > js-respond > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-util-deprecate sympa > js-respond > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-xtend sympa > js-respond > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-transformers > nodejs-clone sympa > js-respond > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-should > nodejs-should-equal > nodejs-should-type sympa > js-respond > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-should > nodejs-should-format > nodejs-should-type sympa > js-respond > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-should > nodejs-should-type sympa > js-respond > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-supports-color sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-grunt-known-options sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-commander > nodejs-should > nodejs-should-equal > nodejs-should-type sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-commander > nodejs-should > nodejs-should-format > nodejs-should-type sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-commander > nodejs-should > nodejs-should-type sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-commander > nodejs-sinon sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-commander > nodejs-should > nodejs-should-equal > nodejs-should-type sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-commander > nodejs-should > nodejs-should-format > nodejs-should-type sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-commander > nodejs-should > nodejs-should-type sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-commander > nodejs-sinon sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-constantinople > uglify-js > nodejs-acorn > nodejs-rollup sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-graceful-fs > nodejs-tap sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-proxyquire > nodejs-should > nodejs-should-equal > nodejs-should-type sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-proxyquire > nodejs-should > nodejs-should-format > nodejs-should-type sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-proxyquire > nodejs-should > nodejs-should-type sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-inherits sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-process-nextick-args > nodejs-tap sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-safe-buffer > nodejs-tape sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-util-deprecate sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-set-immediate-shim sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-tap sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-inherits sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-process-nextick-args > nodejs-tap sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-safe-buffer > nodejs-tape sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-util-deprecate sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-xtend sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-jade > nodejs-transformers > nodejs-clone sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-should > nodejs-should-equal > nodejs-should-type sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-should > nodejs-should-format > nodejs-should-type sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-should > nodejs-should-type sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > mocha > nodejs-supports-color sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-ansi-styles > nodejs-require-uncached > nodejs-resolve-from sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-grunt-legacy-log > nodejs-grunt-legacy-log-utils > nodejs-chalk > nodejs-supports-color sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-chalk > nodejs-ansi-styles > nodejs-require-uncached > nodejs-resolve-from sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-chalk > nodejs-supports-color sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-commander > nodejs-should > nodejs-should-equal > nodejs-should-type sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-commander > nodejs-should > nodejs-should-format > nodejs-should-type sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-commander > nodejs-should > nodejs-should-type sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-commander > nodejs-sinon sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-commander > nodejs-should > nodejs-should-equal > nodejs-should-type sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-commander > nodejs-should > nodejs-should-format > nodejs-should-type sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-commander > nodejs-should > nodejs-should-type sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-commander > nodejs-sinon sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-constantinople > uglify-js > nodejs-acorn > nodejs-rollup sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-graceful-fs > nodejs-tap sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-proxyquire > nodejs-should > nodejs-should-equal > nodejs-should-type sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-proxyquire > nodejs-should > nodejs-should-format > nodejs-should-type sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-proxyquire > nodejs-should > nodejs-should-type sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-inherits sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-process-nextick-args > nodejs-tap sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-safe-buffer > nodejs-tape sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-util-deprecate sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-set-immediate-shim sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-tap sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-inherits sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-process-nextick-args > nodejs-tap sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-safe-buffer > nodejs-tape sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-util-deprecate sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-xtend sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-jade > nodejs-transformers > nodejs-clone sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-should > nodejs-should-equal > nodejs-should-type sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-should > nodejs-should-format > nodejs-should-type sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-should > nodejs-should-type sympa > js-respond > nodejs-grunt-cli > nodejs-grunt > nodejs-iconv-lite > mocha > nodejs-supports-color sympa > js-respond > nodejs-grunt-cli > nodejs-grunt-known-options
Poor sympa :(
I'd suggest to pick the "soonest" one and break ties by prioritizing shorter ones.
First of all, let me say that I believe the current code in dashboard that is handling the orphans is broken AF, so let's disregard whatever it shows ATM.
My suggestion here is that the dashboard will (in text) list only the "leafs" instead of "any and all packages in the chains" as it does now. e.g. at the moment, and it will distinct between "direct and indirect". Taking js-jquery-file-upload as an example (since it won't have hundreds of lines):
js-jquery-file-upload has multiple chains of orphan deps: js-jquery-file-upload > closure-compiler js-jquery-file-upload > js-jquery-iframe-transport > closure-compiler
Because the package directly depends on the package being orphaned, the dashboard would say:
Depends on orphaned packages: closure-compile
Taking a more complicated example:
js-web-socket-js has multiple chains of orphan deps: js-web-socket-js > uglify-js > mocha > nodejs-chalk > nodejs-ansi-styles > nodejs-require-uncached > nodejs-resolve-from js-web-socket-js > uglify-js > mocha > nodejs-chalk > nodejs-supports-color js-web-socket-js > uglify-js > mocha > nodejs-commander > nodejs-should > nodejs-should-equal > nodejs-should-type js-web-socket-js > uglify-js > mocha > nodejs-commander > nodejs-should > nodejs-should-format > nodejs-should-type js-web-socket-js > uglify-js > mocha > nodejs-commander > nodejs-should > nodejs-should-type js-web-socket-js > uglify-js > mocha > nodejs-commander > nodejs-sinon js-web-socket-js > uglify-js > mocha > nodejs-jade > nodejs-commander > nodejs-should > nodejs-should-equal > nodejs-should-type js-web-socket-js > uglify-js > mocha > nodejs-jade > nodejs-commander > nodejs-should > nodejs-should-format > nodejs-should-type js-web-socket-js > uglify-js > mocha > nodejs-jade > nodejs-commander > nodejs-should > nodejs-should-type js-web-socket-js > uglify-js > mocha > nodejs-jade > nodejs-commander > nodejs-sinon js-web-socket-js > uglify-js > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-graceful-fs > nodejs-tap js-web-socket-js > uglify-js > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-proxyquire > nodejs-should > nodejs-should-equal > nodejs-should-type js-web-socket-js > uglify-js > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-proxyquire > nodejs-should > nodejs-should-format > nodejs-should-type js-web-socket-js > uglify-js > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-proxyquire > nodejs-should > nodejs-should-type js-web-socket-js > uglify-js > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-inherits js-web-socket-js > uglify-js > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-process-nextick-args > nodejs-tap js-web-socket-js > uglify-js > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-safe-buffer > nodejs-tape js-web-socket-js > uglify-js > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-readable-stream > nodejs-util-deprecate js-web-socket-js > uglify-js > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-set-immediate-shim js-web-socket-js > uglify-js > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-tap js-web-socket-js > uglify-js > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-inherits js-web-socket-js > uglify-js > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-process-nextick-args > nodejs-tap js-web-socket-js > uglify-js > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-safe-buffer > nodejs-tape js-web-socket-js > uglify-js > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-readable-stream > nodejs-util-deprecate js-web-socket-js > uglify-js > mocha > nodejs-jade > nodejs-monocle > nodejs-readdirp > nodejs-through2 > nodejs-xtend js-web-socket-js > uglify-js > mocha > nodejs-jade > nodejs-transformers > nodejs-clone js-web-socket-js > uglify-js > mocha > nodejs-should > nodejs-should-equal > nodejs-should-type js-web-socket-js > uglify-js > mocha > nodejs-should > nodejs-should-format > nodejs-should-type js-web-socket-js > uglify-js > mocha > nodejs-should > nodejs-should-type js-web-socket-js > uglify-js > mocha > nodejs-supports-color js-web-socket-js > uglify-js > nodejs-acorn > nodejs-rollup
Here the js-web-socket-js has no "directly orphaned" deps, but is still affected by some. In this case, I suggest this:
Indirectly depends on orphaned packages: nodejs-clone nodejs-inherits nodejs-resolve-from nodejs-rollup nodejs-set-immediate-shim nodejs-should-type nodejs-sinon nodejs-supports-color nodejs-tap nodejs-tape nodejs-util-deprecate nodejs-xtend
Because these are really the "leaves" being orphaned.
Then, we could show the whole "graph", but in an actual graph form. Maybe when you hover over the card, or have it show after you click a button.. something like that. Because I agree that knowing the whole 'chain' might be interesting, but IMO the "pressing" information are the actual leaves in the 'graph of orphan-affected stuff'.
Makes sense?
From my experience, explaining to packagers why their package A is affected by package B being orphaned if the dependency is indirect is very hard. "Go and traverse the deps backwards" is not what they want to here. Hence displaying the "graph" after expanding the box by clicking on it would be very much appreciated.
Backend changes merged in master: https://pagure.io/fedora-qa/oraculum/c/2a3b25d31cecf7abe859a22b32572b282095887a?branch=master
Metadata Update from @jskladan: - Issue assigned to lbrabec (was: frantisekz)
Frontend changes deployed in production. We'll be adding some cosmetic changes (at least nav buttons to make the fact that you can zoom/navigate the graph apparent), but there is now a graphed-out dep-tree showing the non-direct deps on orphaned packages.
You can give sympa a look here: https://packager.fedorainfracloud.org/xavierb
The graph looks awesome! Thanks.
I assume the orphaned packages are the right-most column. Can they maybe be marked with red color or something like that?
The graph looks awesome! Thanks. I assume the orphaned packages are the right-most column. Can they maybe be marked with red color or something like that?
Done.
Metadata Update from @lbrabec: - Issue status updated to: Closed (was: Open)
Login to comment on this ticket.