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

Attachment: signature.asc
Description: OpenPGP digital signature

-- 
Pkg-javascript-devel mailing list
Pkg-javascript-devel@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-javascript-devel

Reply via email to