Starting a separate thread from https://lists.alioth.debian.org/pipermail/pkg-javascript-devel/2016-November/014868.html ...
On 01/11/2016 10:56, Pirate Praveen wrote: > On Tuesday 01 November 2016 03:09 PM, Paolo Greppi wrote: >> ... >> It would be helpful to (programmatically) cross-link the info about the >> existing packages' trackers, the ITPs and the alioth repos in the task >> page. I could hack a python script to poll the UDD API and a crude grep >> of the directory listing >> >> But I don't how that script would fit in the current infrastructure ... > > This info is already available as npm2deb search <module>. > > https://wiki.debian.org/Javascript/Nodejs/Npm2Deb has more tips like this. Thanks, very interesting. It's python and definitely a good starting point for a hack. For example if upstream is interested, there could be a new CLI option to generate the hierarchical dependencies tree as HTML with all the links and color-coded fancy: npm2deb depends-html findup-sync I'll think about it ... but first I need to understand exactly what we're doing here. As it stands now the tree that can be seen for example in the Node.js grunt task: https://wiki.debian.org/Javascript/Nodejs/Tasks/grunt looks much more complete than what 'npm2deb depends grunt' returns. To generate the tree programmatically, I tried https://www.npmjs.com/package/npm-remote-ls on findup-sync. With node 4.6.1 on unstable 'npm-remote-ls findup-sync@0.4.3' spits out about 240 modules, see list0. It reports a (recursive) dependency on grunt (can we actually package node-findup-sync without grunt ?), if I remove that we're down to 90 modules. Many of them are repeated: filtering (sed 's/[ └─│├]//g' | sort | uniq) reduces to 71 (excluding findup-sync itself), see list2. Still a few are repeated with different version numbers, yanking away the version info (sed 's/\(.*\)@.*/\1/g' | sort | uniq) reduces the count to 68, see list3. Do you reckon this info is relevant to the packaging of node-findup-sync and to the grunt task ?
└─ findup-sync@0.4.3 ├─ fs-exists-sync@0.1.0 ├─ resolve-dir@0.1.1 │ ├─ global-modules@0.2.3 │ │ ├─ is-windows@0.2.0 │ │ └─ global-prefix@0.1.4 │ │ ├─ ini@1.3.4 │ │ ├─ is-windows@0.2.0 │ │ ├─ osenv@0.1.3 │ │ │ ├─ os-homedir@1.0.2 │ │ │ └─ os-tmpdir@1.0.2 │ │ └─ which@1.2.11 │ └─ expand-tilde@1.2.2 │ └─ os-homedir@1.0.2 ├─ is-absolute@0.2.6 │ ├─ is-relative@0.2.1 │ │ └─ is-unc-path@0.1.1 │ │ └─ unc-path-regex@0.1.2 │ └─ is-windows@0.2.0 ├─ minimist@1.2.0 ├─ grunt@1.0.1 │ ├─ coffee-script@1.10.0 │ ├─ dateformat@1.0.12 │ │ ├─ get-stdin@4.0.1 │ │ └─ meow@3.7.0 │ │ ├─ camelcase-keys@2.1.0 │ │ │ ├─ map-obj@1.0.1 │ │ │ └─ camelcase@2.1.1 │ │ ├─ loud-rejection@1.6.0 │ │ │ ├─ currently-unhandled@0.4.1 │ │ │ │ └─ array-find-index@1.0.2 │ │ │ └─ signal-exit@3.0.1 │ │ ├─ map-obj@1.0.1 │ │ ├─ decamelize@1.2.0 │ │ ├─ minimist@1.2.0 │ │ ├─ object-assign@4.1.0 │ │ ├─ normalize-package-data@2.3.5 │ │ │ ├─ hosted-git-info@2.1.5 │ │ │ ├─ is-builtin-module@1.0.0 │ │ │ │ └─ builtin-modules@1.1.1 │ │ │ ├─ validate-npm-package-license@3.0.1 │ │ │ │ ├─ spdx-correct@1.0.2 │ │ │ │ │ └─ spdx-license-ids@1.2.2 │ │ │ │ └─ spdx-expression-parse@1.0.4 │ │ │ └─ semver@5.3.0 │ │ ├─ read-pkg-up@1.0.1 │ │ │ ├─ read-pkg@1.1.0 │ │ │ │ ├─ load-json-file@1.1.0 │ │ │ │ │ ├─ parse-json@2.2.0 │ │ │ │ │ │ └─ error-ex@1.3.0 │ │ │ │ │ │ └─ is-arrayish@0.2.1 │ │ │ │ │ ├─ graceful-fs@4.1.9 │ │ │ │ │ ├─ strip-bom@2.0.0 │ │ │ │ │ │ └─ is-utf8@0.2.1 │ │ │ │ │ ├─ pinkie-promise@2.0.1 │ │ │ │ │ └─ pify@2.3.0 │ │ │ │ ├─ path-type@1.1.0 │ │ │ │ │ ├─ pify@2.3.0 │ │ │ │ │ ├─ pinkie-promise@2.0.1 │ │ │ │ │ └─ graceful-fs@4.1.9 │ │ │ │ └─ normalize-package-data@2.3.5 │ │ │ └─ find-up@1.1.2 │ │ │ ├─ pinkie-promise@2.0.1 │ │ │ │ └─ pinkie@2.0.4 │ │ │ └─ path-exists@2.1.0 │ │ │ └─ pinkie-promise@2.0.1 │ │ ├─ trim-newlines@1.0.0 │ │ └─ redent@1.0.0 │ │ ├─ indent-string@2.1.0 │ │ │ └─ repeating@2.0.1 │ │ │ └─ is-finite@1.0.2 │ │ │ └─ number-is-nan@1.0.1 │ │ └─ strip-indent@1.0.1 │ │ └─ get-stdin@4.0.1 │ ├─ eventemitter2@0.4.14 │ ├─ exit@0.1.2 │ ├─ findup-sync@0.3.0 │ │ └─ glob@5.0.15 │ │ ├─ inflight@1.0.6 │ │ ├─ once@1.4.0 │ │ ├─ path-is-absolute@1.0.1 │ │ ├─ minimatch@3.0.3 │ │ └─ inherits@2.0.3 │ ├─ grunt-known-options@1.1.0 │ ├─ grunt-cli@1.2.0 │ │ ├─ findup-sync@0.3.0 │ │ ├─ nopt@3.0.6 │ │ ├─ grunt-known-options@1.1.0 │ │ └─ resolve@1.1.7 │ ├─ grunt-legacy-util@1.0.0 │ │ ├─ getobject@0.1.0 │ │ ├─ exit@0.1.2 │ │ ├─ async@1.5.2 │ │ ├─ hooker@0.2.3 │ │ ├─ which@1.2.11 │ │ │ └─ isexe@1.1.2 │ │ ├─ underscore.string@3.2.3 │ │ └─ lodash@4.3.0 │ ├─ grunt-legacy-log@1.0.0 │ │ ├─ colors@1.1.2 │ │ ├─ hooker@0.2.3 │ │ ├─ grunt-legacy-log-utils@1.0.0 │ │ │ ├─ chalk@1.1.3 │ │ │ │ ├─ ansi-styles@2.2.1 │ │ │ │ ├─ escape-string-regexp@1.0.5 │ │ │ │ ├─ has-ansi@2.0.0 │ │ │ │ │ └─ ansi-regex@2.0.0 │ │ │ │ ├─ supports-color@2.0.0 │ │ │ │ └─ strip-ansi@3.0.1 │ │ │ │ └─ ansi-regex@2.0.0 │ │ │ └─ lodash@4.3.0 │ │ ├─ underscore.string@3.2.3 │ │ └─ lodash@3.10.1 │ ├─ glob@7.0.6 │ │ ├─ fs.realpath@1.0.0 │ │ ├─ path-is-absolute@1.0.1 │ │ ├─ inflight@1.0.6 │ │ │ ├─ once@1.4.0 │ │ │ └─ wrappy@1.0.2 │ │ ├─ minimatch@3.0.3 │ │ ├─ inherits@2.0.3 │ │ └─ once@1.4.0 │ │ └─ wrappy@1.0.2 │ ├─ iconv-lite@0.4.13 │ ├─ js-yaml@3.5.5 │ │ ├─ argparse@1.0.9 │ │ │ └─ sprintf-js@1.0.3 │ │ └─ esprima@2.7.3 │ ├─ minimatch@3.0.3 │ │ └─ brace-expansion@1.1.6 │ │ ├─ balanced-match@0.4.2 │ │ └─ concat-map@0.0.1 │ ├─ nopt@3.0.6 │ │ └─ abbrev@1.0.9 │ ├─ path-is-absolute@1.0.1 │ └─ rimraf@2.2.8 ├─ normalize-path@2.0.1 ├─ grunt-contrib-jshint@0.12.0 │ ├─ hooker@0.2.3 │ └─ jshint@2.9.4 │ ├─ exit@0.1.2 │ ├─ cli@1.0.1 │ │ ├─ exit@0.1.2 │ │ └─ glob@7.1.1 │ │ ├─ inflight@1.0.6 │ │ ├─ inherits@2.0.3 │ │ ├─ fs.realpath@1.0.0 │ │ ├─ once@1.4.0 │ │ ├─ path-is-absolute@1.0.1 │ │ └─ minimatch@3.0.3 │ ├─ console-browserify@1.1.0 │ │ └─ date-now@0.1.4 │ ├─ minimatch@3.0.3 │ ├─ shelljs@0.3.0 │ ├─ htmlparser2@3.8.3 │ │ ├─ domelementtype@1.3.0 │ │ ├─ domhandler@2.3.0 │ │ │ └─ domelementtype@1.3.0 │ │ ├─ entities@1.0.0 │ │ ├─ domutils@1.5.1 │ │ │ ├─ domelementtype@1.3.0 │ │ │ └─ dom-serializer@0.1.0 │ │ │ ├─ domelementtype@1.1.3 │ │ │ └─ entities@1.1.1 │ │ └─ readable-stream@1.1.14 │ │ ├─ core-util-is@1.0.2 │ │ ├─ isarray@0.0.1 │ │ ├─ string_decoder@0.10.31 │ │ └─ inherits@2.0.3 │ ├─ strip-json-comments@1.0.4 │ └─ lodash@3.7.0 ├─ os-homedir@1.0.2 ├─ mocha@2.5.3 │ ├─ commander@2.3.0 │ ├─ debug@2.2.0 │ │ └─ ms@0.7.1 │ ├─ escape-string-regexp@1.0.2 │ ├─ diff@1.4.0 │ ├─ mkdirp@0.5.1 │ │ └─ minimist@0.0.8 │ ├─ supports-color@1.2.0 │ ├─ growl@1.9.2 │ ├─ to-iso-string@0.0.2 │ ├─ glob@3.2.11 │ │ ├─ inherits@2.0.3 │ │ └─ minimatch@0.3.0 │ │ ├─ lru-cache@2.7.3 │ │ └─ sigmund@1.0.1 │ └─ jade@0.26.3 │ ├─ mkdirp@0.3.0 │ └─ commander@0.6.1 ├─ resolve@1.1.7 ├─ is-glob@2.0.1 │ └─ is-extglob@1.0.0 ├─ detect-file@0.1.0 │ └─ fs-exists-sync@0.1.0 └─ micromatch@2.3.11 ├─ array-unique@0.2.1 ├─ arr-diff@2.0.0 │ └─ arr-flatten@1.0.1 ├─ braces@1.8.5 │ ├─ preserve@0.2.0 │ ├─ repeat-element@1.1.2 │ └─ expand-range@1.8.2 │ └─ fill-range@2.2.3 │ ├─ isobject@2.1.0 │ │ └─ isarray@1.0.0 │ ├─ is-number@2.1.0 │ │ └─ kind-of@3.0.4 │ ├─ randomatic@1.1.5 │ │ ├─ is-number@2.1.0 │ │ └─ kind-of@3.0.4 │ ├─ repeat-element@1.1.2 │ └─ repeat-string@1.6.1 ├─ expand-brackets@0.1.5 │ └─ is-posix-bracket@0.1.1 ├─ extglob@0.3.2 │ └─ is-extglob@1.0.0 ├─ is-extglob@1.0.0 ├─ filename-regex@2.0.0 ├─ kind-of@3.0.4 │ └─ is-buffer@1.1.4 ├─ normalize-path@2.0.1 ├─ object.omit@2.0.1 │ ├─ for-own@0.1.4 │ │ └─ for-in@0.1.6 │ └─ is-extendable@0.1.1 ├─ regex-cache@0.4.3 │ ├─ is-equal-shallow@0.1.3 │ │ └─ is-primitive@2.0.0 │ └─ is-primitive@2.0.0 ├─ parse-glob@3.0.4 │ ├─ glob-base@0.3.0 │ │ ├─ glob-parent@2.0.0 │ │ │ └─ is-glob@2.0.1 │ │ └─ is-glob@2.0.1 │ ├─ is-dotfile@1.0.2 │ ├─ is-extglob@1.0.0 │ └─ is-glob@2.0.1 └─ is-glob@2.0.1
└─ findup-sync@0.4.3 ├─ fs-exists-sync@0.1.0 ├─ resolve-dir@0.1.1 │ ├─ global-modules@0.2.3 │ │ ├─ is-windows@0.2.0 │ │ └─ global-prefix@0.1.4 │ │ ├─ ini@1.3.4 │ │ ├─ is-windows@0.2.0 │ │ ├─ osenv@0.1.3 │ │ │ ├─ os-homedir@1.0.2 │ │ │ └─ os-tmpdir@1.0.2 │ │ └─ which@1.2.11 │ └─ expand-tilde@1.2.2 │ └─ os-homedir@1.0.2 ├─ is-absolute@0.2.6 │ ├─ is-relative@0.2.1 │ │ └─ is-unc-path@0.1.1 │ │ └─ unc-path-regex@0.1.2 │ └─ is-windows@0.2.0 ├─ minimist@1.2.0 ├─ normalize-path@2.0.1 ├─ os-homedir@1.0.2 ├─ mocha@2.5.3 │ ├─ commander@2.3.0 │ ├─ debug@2.2.0 │ │ └─ ms@0.7.1 │ ├─ escape-string-regexp@1.0.2 │ ├─ diff@1.4.0 │ ├─ mkdirp@0.5.1 │ │ └─ minimist@0.0.8 │ ├─ supports-color@1.2.0 │ ├─ growl@1.9.2 │ ├─ to-iso-string@0.0.2 │ ├─ glob@3.2.11 │ │ ├─ inherits@2.0.3 │ │ └─ minimatch@0.3.0 │ │ ├─ lru-cache@2.7.3 │ │ └─ sigmund@1.0.1 │ └─ jade@0.26.3 │ ├─ mkdirp@0.3.0 │ └─ commander@0.6.1 ├─ resolve@1.1.7 ├─ is-glob@2.0.1 │ └─ is-extglob@1.0.0 ├─ detect-file@0.1.0 │ └─ fs-exists-sync@0.1.0 └─ micromatch@2.3.11 ├─ array-unique@0.2.1 ├─ arr-diff@2.0.0 │ └─ arr-flatten@1.0.1 ├─ braces@1.8.5 │ ├─ preserve@0.2.0 │ ├─ repeat-element@1.1.2 │ └─ expand-range@1.8.2 │ └─ fill-range@2.2.3 │ ├─ isobject@2.1.0 │ │ └─ isarray@1.0.0 │ ├─ is-number@2.1.0 │ │ └─ kind-of@3.0.4 │ ├─ randomatic@1.1.5 │ │ ├─ is-number@2.1.0 │ │ └─ kind-of@3.0.4 │ ├─ repeat-element@1.1.2 │ └─ repeat-string@1.6.1 ├─ expand-brackets@0.1.5 │ └─ is-posix-bracket@0.1.1 ├─ extglob@0.3.2 │ └─ is-extglob@1.0.0 ├─ is-extglob@1.0.0 ├─ filename-regex@2.0.0 ├─ kind-of@3.0.4 │ └─ is-buffer@1.1.4 ├─ normalize-path@2.0.1 ├─ object.omit@2.0.1 │ ├─ for-own@0.1.4 │ │ └─ for-in@0.1.6 │ └─ is-extendable@0.1.1 ├─ regex-cache@0.4.3 │ ├─ is-equal-shallow@0.1.3 │ │ └─ is-primitive@2.0.0 │ └─ is-primitive@2.0.0 ├─ parse-glob@3.0.4 │ ├─ glob-base@0.3.0 │ │ ├─ glob-parent@2.0.0 │ │ │ └─ is-glob@2.0.1 │ │ └─ is-glob@2.0.1 │ ├─ is-dotfile@1.0.2 │ ├─ is-extglob@1.0.0 │ └─ is-glob@2.0.1 └─ is-glob@2.0.1
array-unique@0.2.1 arr-diff@2.0.0 arr-flatten@1.0.1 braces@1.8.5 commander@0.6.1 commander@2.3.0 debug@2.2.0 detect-file@0.1.0 diff@1.4.0 escape-string-regexp@1.0.2 expand-brackets@0.1.5 expand-range@1.8.2 expand-tilde@1.2.2 extglob@0.3.2 filename-regex@2.0.0 fill-range@2.2.3 findup-sync@0.4.3 for-in@0.1.6 for-own@0.1.4 fs-exists-sync@0.1.0 glob@3.2.11 global-modules@0.2.3 global-prefix@0.1.4 glob-base@0.3.0 glob-parent@2.0.0 growl@1.9.2 inherits@2.0.3 ini@1.3.4 is-absolute@0.2.6 isarray@1.0.0 is-buffer@1.1.4 is-dotfile@1.0.2 is-equal-shallow@0.1.3 is-extendable@0.1.1 is-extglob@1.0.0 is-glob@2.0.1 is-number@2.1.0 isobject@2.1.0 is-posix-bracket@0.1.1 is-primitive@2.0.0 is-relative@0.2.1 is-unc-path@0.1.1 is-windows@0.2.0 jade@0.26.3 kind-of@3.0.4 lru-cache@2.7.3 micromatch@2.3.11 minimatch@0.3.0 minimist@0.0.8 minimist@1.2.0 mkdirp@0.3.0 mkdirp@0.5.1 mocha@2.5.3 ms@0.7.1 normalize-path@2.0.1 object.omit@2.0.1 osenv@0.1.3 os-homedir@1.0.2 os-tmpdir@1.0.2 parse-glob@3.0.4 preserve@0.2.0 randomatic@1.1.5 regex-cache@0.4.3 repeat-element@1.1.2 repeat-string@1.6.1 resolve@1.1.7 resolve-dir@0.1.1 sigmund@1.0.1 supports-color@1.2.0 to-iso-string@0.0.2 unc-path-regex@0.1.2 which@1.2.11
array-unique arr-diff arr-flatten braces commander debug detect-file diff escape-string-regexp expand-brackets expand-range expand-tilde extglob filename-regex fill-range findup-sync for-in for-own fs-exists-sync glob global-modules global-prefix glob-base glob-parent growl inherits ini is-absolute isarray is-buffer is-dotfile is-equal-shallow is-extendable is-extglob is-glob is-number isobject is-posix-bracket is-primitive is-relative is-unc-path is-windows jade kind-of lru-cache micromatch minimatch minimist mkdirp mocha ms normalize-path object.omit osenv os-homedir os-tmpdir parse-glob preserve randomatic regex-cache repeat-element repeat-string resolve resolve-dir sigmund supports-color to-iso-string unc-path-regex which
-- Pkg-javascript-devel mailing list Pkg-javascript-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-javascript-devel