Closed lukeed closed 8 years ago
@bucaran i don't have repo access so you've gotta merge & publish this :stuck_out_tongue_winking_eye:
Any reason this shouldnt be added?
Going to publis now, was waiting for npm i.
This is the dep tree of this generator.
├─┬ clor@1.6.0
│ └── ansi-styles@2.2.1
├─┬ mocha@2.4.5
│ ├── commander@2.3.0
│ ├─┬ debug@2.2.0
│ │ └── ms@0.7.1
│ ├── diff@1.4.0
│ ├── escape-string-regexp@1.0.2
│ ├─┬ glob@3.2.3
│ │ ├── graceful-fs@2.0.3
│ │ ├── inherits@2.0.1
│ │ └─┬ minimatch@0.2.14
│ │ └── sigmund@1.0.1
│ ├── growl@1.8.1
│ ├─┬ jade@0.26.3
│ │ ├── commander@0.6.1
│ │ └── mkdirp@0.3.0
│ ├─┬ mkdirp@0.5.1
│ │ └── minimist@0.0.8
│ └── supports-color@1.2.0
├─┬ normalize-url@1.4.1
│ ├── object-assign@4.0.1
│ ├── prepend-http@1.0.3
│ ├─┬ query-string@3.0.3
│ │ └── strict-uri-encode@1.1.0
│ └─┬ sort-keys@1.1.1
│ └── is-plain-obj@1.1.0
├─┬ yeoman-generator@0.19.2
│ ├── async@0.9.2
│ ├─┬ chalk@1.1.3
│ │ ├── escape-string-regexp@1.0.5
│ │ ├── has-ansi@2.0.0
│ │ └── supports-color@2.0.0
│ ├─┬ class-extend@0.1.2
│ │ └── object-assign@2.1.1
│ ├─┬ cli-table@0.3.1
│ │ └── colors@1.0.3
│ ├─┬ cross-spawn@0.2.9
│ │ └── lru-cache@2.7.3
│ ├─┬ dargs@4.1.0
│ │ └── number-is-nan@1.0.0
│ ├─┬ dateformat@1.0.12
│ │ ├── get-stdin@4.0.1
│ │ └─┬ meow@3.7.0
│ │ ├─┬ camelcase-keys@2.1.0
│ │ │ └── camelcase@2.1.1
│ │ ├── decamelize@1.2.0
│ │ ├─┬ loud-rejection@1.3.0
│ │ │ ├── array-find-index@1.0.1
│ │ │ └── signal-exit@2.1.2
│ │ ├── map-obj@1.0.1
│ │ ├─┬ normalize-package-data@2.3.5
│ │ │ ├── hosted-git-info@2.1.4
│ │ │ ├─┬ is-builtin-module@1.0.0
│ │ │ │ └── builtin-modules@1.1.1
│ │ │ ├── semver@5.1.0
│ │ │ └─┬ validate-npm-package-license@3.0.1
│ │ │ ├─┬ spdx-correct@1.0.2
│ │ │ │ └── spdx-license-ids@1.2.0
│ │ │ └─┬ spdx-expression-parse@1.0.2
│ │ │ └── spdx-exceptions@1.0.4
│ │ ├─┬ read-pkg-up@1.0.1
│ │ │ ├─┬ find-up@1.1.2
│ │ │ │ └── path-exists@2.1.0
│ │ │ └─┬ read-pkg@1.1.0
│ │ │ ├── load-json-file@1.1.0
│ │ │ └── path-type@1.1.0
│ │ ├─┬ redent@1.0.0
│ │ │ ├── indent-string@2.1.0
│ │ │ └── strip-indent@1.0.1
│ │ └── trim-newlines@1.0.0
│ ├── detect-conflict@1.0.0
│ ├─┬ download@4.4.3
│ │ ├─┬ caw@1.2.0
│ │ │ ├─┬ get-proxy@1.0.1
│ │ │ │ └─┬ rc@0.5.5
│ │ │ │ ├── deep-extend@0.2.11
│ │ │ │ ├── ini@1.3.4
│ │ │ │ ├── minimist@0.0.10
│ │ │ │ └── strip-json-comments@0.1.3
│ │ │ ├── is-obj@1.0.1
│ │ │ ├── object-assign@3.0.0
│ │ │ └── tunnel-agent@0.4.2
│ │ ├─┬ concat-stream@1.5.1
│ │ │ └── typedarray@0.0.6
│ │ ├─┬ each-async@1.1.1
│ │ │ ├── onetime@1.1.0
│ │ │ └── set-immediate-shim@1.0.1
│ │ ├─┬ filenamify@1.2.0
│ │ │ ├── filename-reserved-regex@1.0.0
│ │ │ ├── strip-outer@1.0.0
│ │ │ └── trim-repeated@1.0.0
│ │ ├─┬ got@5.5.1
│ │ │ ├─┬ create-error-class@3.0.2
│ │ │ │ └── capture-stack-trace@1.0.0
│ │ │ ├── duplexer2@0.1.4
│ │ │ ├── is-redirect@1.0.0
│ │ │ ├── is-retry-allowed@1.0.0
│ │ │ ├── is-stream@1.0.1
│ │ │ ├── lowercase-keys@1.0.0
│ │ │ ├── node-status-codes@1.0.0
│ │ │ ├─┬ parse-json@2.2.0
│ │ │ │ └─┬ error-ex@1.3.0
│ │ │ │ └── is-arrayish@0.2.1
│ │ │ ├─┬ pinkie-promise@2.0.0
│ │ │ │ └── pinkie@2.0.4
│ │ │ ├── timed-out@2.0.0
│ │ │ ├── unzip-response@1.0.0
│ │ │ └── url-parse-lax@1.0.0
│ │ ├─┬ gulp-decompress@1.2.0
│ │ │ ├─┬ archive-type@3.2.0
│ │ │ │ └── file-type@3.8.0
│ │ │ ├─┬ decompress@3.0.0
│ │ │ │ ├─┬ buffer-to-vinyl@1.1.0
│ │ │ │ │ └── uuid@2.0.1
│ │ │ │ ├─┬ decompress-tar@3.1.0
│ │ │ │ │ ├── is-tar@1.0.0
│ │ │ │ │ ├── object-assign@2.1.1
│ │ │ │ │ ├─┬ strip-dirs@1.1.1
│ │ │ │ │ │ ├─┬ is-absolute@0.1.7
│ │ │ │ │ │ │ └── is-relative@0.1.3
│ │ │ │ │ │ ├── is-natural-number@2.0.0
│ │ │ │ │ │ └── sum-up@1.0.3
│ │ │ │ │ ├─┬ tar-stream@1.5.0
│ │ │ │ │ │ ├── bl@1.1.2
│ │ │ │ │ │ └── end-of-stream@1.1.0
│ │ │ │ │ └─┬ vinyl@0.4.6
│ │ │ │ │ └── clone@0.2.0
│ │ │ │ ├─┬ decompress-tarbz2@3.1.0
│ │ │ │ │ ├── is-bzip2@1.0.0
│ │ │ │ │ ├── object-assign@2.1.1
│ │ │ │ │ ├─┬ seek-bzip@1.0.5
│ │ │ │ │ │ └─┬ commander@2.8.1
│ │ │ │ │ │ └── graceful-readlink@1.0.1
│ │ │ │ │ └─┬ vinyl@0.4.6
│ │ │ │ │ └── clone@0.2.0
│ │ │ │ ├─┬ decompress-targz@3.1.0
│ │ │ │ │ ├── is-gzip@1.0.0
│ │ │ │ │ ├── object-assign@2.1.1
│ │ │ │ │ └─┬ vinyl@0.4.6
│ │ │ │ │ └── clone@0.2.0
│ │ │ │ ├─┬ decompress-unzip@3.4.0
│ │ │ │ │ ├── is-zip@1.0.0
│ │ │ │ │ ├── stat-mode@0.2.1
│ │ │ │ │ ├── through2@2.0.1
│ │ │ │ │ └─┬ yauzl@2.4.1
│ │ │ │ │ └─┬ fd-slicer@1.0.1
│ │ │ │ │ └── pend@1.2.0
│ │ │ │ └── vinyl-assign@1.2.1
│ │ │ └─┬ gulp-util@3.0.7
│ │ │ ├── array-differ@1.0.0
│ │ │ ├── array-uniq@1.0.2
│ │ │ ├── beeper@1.1.0
│ │ │ ├─┬ fancy-log@1.2.0
│ │ │ │ └── time-stamp@1.0.0
│ │ │ ├─┬ gulplog@1.0.0
│ │ │ │ └── glogg@1.0.0
│ │ │ ├─┬ has-gulplog@0.1.0
│ │ │ │ └── sparkles@1.0.0
│ │ │ ├── lodash._reescape@3.0.0
│ │ │ ├── lodash._reevaluate@3.0.0
│ │ │ ├── lodash._reinterpolate@3.0.0
│ │ │ ├─┬ lodash.template@3.6.2
│ │ │ │ ├── lodash._basecopy@3.0.1
│ │ │ │ ├── lodash._basetostring@3.0.1
│ │ │ │ ├── lodash._basevalues@3.0.0
│ │ │ │ ├── lodash._isiterateecall@3.0.9
│ │ │ │ ├── lodash.escape@3.2.0
│ │ │ │ ├─┬ lodash.keys@3.1.2
│ │ │ │ │ ├── lodash._getnative@3.9.1
│ │ │ │ │ ├── lodash.isarguments@3.0.8
│ │ │ │ │ └── lodash.isarray@3.0.4
│ │ │ │ ├── lodash.restparam@3.6.1
│ │ │ │ └── lodash.templatesettings@3.1.1
│ │ │ ├─┬ multipipe@0.1.2
│ │ │ │ └─┬ duplexer2@0.0.2
│ │ │ │ └─┬ readable-stream@1.1.13
│ │ │ │ └── isarray@0.0.1
│ │ │ ├── object-assign@3.0.0
│ │ │ ├── through2@2.0.1
│ │ │ └── vinyl@0.5.3
│ │ ├── gulp-rename@1.2.2
│ │ ├── is-url@1.2.1
│ │ ├── read-all-stream@3.1.0
│ │ ├─┬ readable-stream@2.0.6
│ │ │ ├── core-util-is@1.0.2
│ │ │ ├── isarray@1.0.0
│ │ │ ├── process-nextick-args@1.0.6
│ │ │ └── string_decoder@0.10.31
│ │ ├── stream-combiner2@1.1.1
│ │ ├─┬ vinyl@1.1.1
│ │ │ ├── clone@1.0.2
│ │ │ ├── clone-stats@0.0.1
│ │ │ └── replace-ext@0.0.1
│ │ ├─┬ vinyl-fs@2.4.3
│ │ │ ├─┬ duplexify@3.4.3
│ │ │ │ └── end-of-stream@1.0.0
│ │ │ ├─┬ glob-stream@5.3.2
│ │ │ │ ├── extend@3.0.0
│ │ │ │ ├─┬ glob-parent@2.0.0
│ │ │ │ │ └── is-glob@2.0.1
│ │ │ │ ├─┬ micromatch@2.3.7
│ │ │ │ │ ├─┬ arr-diff@2.0.0
│ │ │ │ │ │ └── arr-flatten@1.0.1
│ │ │ │ │ ├── array-unique@0.2.1
│ │ │ │ │ ├─┬ braces@1.8.3
│ │ │ │ │ │ ├─┬ expand-range@1.8.1
│ │ │ │ │ │ │ └─┬ fill-range@2.2.3
│ │ │ │ │ │ │ ├── is-number@2.1.0
│ │ │ │ │ │ │ ├─┬ isobject@2.0.0
│ │ │ │ │ │ │ │ └── isarray@0.0.1
│ │ │ │ │ │ │ ├── randomatic@1.1.5
│ │ │ │ │ │ │ └── repeat-string@1.5.4
│ │ │ │ │ │ ├── preserve@0.2.0
│ │ │ │ │ │ └── repeat-element@1.1.2
│ │ │ │ │ ├─┬ expand-brackets@0.1.5
│ │ │ │ │ │ └── is-posix-bracket@0.1.1
│ │ │ │ │ ├── extglob@0.3.2
│ │ │ │ │ ├── filename-regex@2.0.0
│ │ │ │ │ ├── is-extglob@1.0.0
│ │ │ │ │ ├─┬ kind-of@3.0.2
│ │ │ │ │ │ └── is-buffer@1.1.3
│ │ │ │ │ ├── normalize-path@2.0.1
│ │ │ │ │ ├─┬ object.omit@2.0.0
│ │ │ │ │ │ ├─┬ for-own@0.1.4
│ │ │ │ │ │ │ └── for-in@0.1.5
│ │ │ │ │ │ └── is-extendable@0.1.1
│ │ │ │ │ ├─┬ parse-glob@3.0.4
│ │ │ │ │ │ ├── glob-base@0.3.0
│ │ │ │ │ │ └── is-dotfile@1.0.2
│ │ │ │ │ └─┬ regex-cache@0.4.3
│ │ │ │ │ ├── is-equal-shallow@0.1.3
│ │ │ │ │ └── is-primitive@2.0.0
│ │ │ │ ├── ordered-read-streams@0.3.0
│ │ │ │ ├─┬ to-absolute-glob@0.1.1
│ │ │ │ │ └── extend-shallow@2.0.1
│ │ │ │ └─┬ unique-stream@2.2.1
│ │ │ │ └─┬ json-stable-stringify@1.0.1
│ │ │ │ └── jsonify@0.0.0
│ │ │ ├── graceful-fs@4.1.3
│ │ │ ├─┬ gulp-sourcemaps@1.6.0
│ │ │ │ ├── convert-source-map@1.2.0
│ │ │ │ └── through2@2.0.1
│ │ │ ├── is-valid-glob@0.3.0
│ │ │ ├── lazystream@1.0.0
│ │ │ ├─┬ lodash.isequal@4.1.3
│ │ │ │ ├── lodash._root@3.0.1
│ │ │ │ ├── lodash._stack@4.1.2
│ │ │ │ └── lodash.keys@4.0.6
│ │ │ ├── merge-stream@1.0.0
│ │ │ ├─┬ strip-bom@2.0.0
│ │ │ │ └── is-utf8@0.2.1
│ │ │ ├─┬ strip-bom-stream@1.0.0
│ │ │ │ └── first-chunk-stream@1.0.0
│ │ │ ├── through2@2.0.1
│ │ │ ├─┬ through2-filter@2.0.0
│ │ │ │ └── through2@2.0.1
│ │ │ └── vali-date@1.0.0
│ │ └─┬ ware@1.3.0
│ │ └─┬ wrap-fn@0.1.5
│ │ └── co@3.1.0
│ ├─┬ findup-sync@0.2.1
│ │ └─┬ glob@4.3.5
│ │ └── minimatch@2.0.10
│ ├─┬ github-username@1.1.1
│ │ ├── get-stdin@1.0.0
│ │ └─┬ got@2.9.2
│ │ ├── infinity-agent@2.0.3
│ │ ├── nested-error-stacks@1.0.2
│ │ ├── object-assign@2.1.1
│ │ ├── read-all-stream@2.2.0
│ │ └── statuses@1.2.1
│ ├─┬ glob@5.0.15
│ │ ├─┬ inflight@1.0.4
│ │ │ └── wrappy@1.0.1
│ │ ├─┬ minimatch@3.0.0
│ │ │ └─┬ brace-expansion@1.1.3
│ │ │ ├── balanced-match@0.3.0
│ │ │ └── concat-map@0.0.1
│ │ ├── once@1.3.3
│ │ └── path-is-absolute@1.0.0
│ ├─┬ gruntfile-editor@1.2.0
│ │ ├─┬ ast-query@1.2.0
│ │ │ ├─┬ escodegen@1.8.0
│ │ │ │ ├── estraverse@1.9.3
│ │ │ │ ├── esutils@2.0.2
│ │ │ │ ├─┬ optionator@0.8.1
│ │ │ │ │ ├── deep-is@0.1.3
│ │ │ │ │ ├── fast-levenshtein@1.1.3
│ │ │ │ │ ├── levn@0.3.0
│ │ │ │ │ ├── prelude-ls@1.1.2
│ │ │ │ │ ├── type-check@0.3.2
│ │ │ │ │ └── wordwrap@1.0.0
│ │ │ │ └─┬ source-map@0.2.0
│ │ │ │ └── amdefine@1.0.0
│ │ │ ├── esprima@2.7.2
│ │ │ ├── lodash@4.8.2
│ │ │ └── traverse@0.6.6
│ │ └── lodash@4.8.2
│ ├─┬ html-wiring@1.2.0
│ │ ├─┬ cheerio@0.19.0
│ │ │ ├─┬ css-select@1.0.0
│ │ │ │ ├── boolbase@1.0.0
│ │ │ │ ├── css-what@1.0.0
│ │ │ │ ├── domutils@1.4.3
│ │ │ │ └── nth-check@1.0.1
│ │ │ ├─┬ dom-serializer@0.1.0
│ │ │ │ └── domelementtype@1.1.3
│ │ │ ├── entities@1.1.1
│ │ │ └─┬ htmlparser2@3.8.3
│ │ │ ├── domelementtype@1.3.0
│ │ │ ├── domhandler@2.3.0
│ │ │ ├── domutils@1.5.1
│ │ │ ├── entities@1.0.0
│ │ │ └─┬ readable-stream@1.1.13
│ │ │ └── isarray@0.0.1
│ │ └── detect-newline@1.0.3
│ ├─┬ inquirer@0.8.5
│ │ ├── ansi-regex@1.1.1
│ │ ├── cli-width@1.1.1
│ │ ├── figures@1.5.0
│ │ ├─┬ readline2@0.1.1
│ │ │ ├── mute-stream@0.0.4
│ │ │ └─┬ strip-ansi@2.0.1
│ │ │ └── ansi-regex@1.1.1
│ │ ├── rx@2.5.3
│ │ └── through@2.3.8
│ ├─┬ istextorbinary@1.0.2
│ │ ├── binaryextensions@1.0.0
│ │ └── textextensions@1.0.1
│ ├── lodash@3.10.1
│ ├─┬ mem-fs-editor@1.2.3
│ │ └─┬ vinyl@0.4.6
│ │ └── clone@0.2.0
│ ├── mime@1.3.4
│ ├─┬ nopt@3.0.6
│ │ └── abbrev@1.0.7
│ ├── pretty-bytes@1.0.4
│ ├── read-chunk@1.0.1
│ ├─┬ rimraf@2.5.2
│ │ └── glob@7.0.3
│ ├── run-async@0.1.0
│ ├── shelljs@0.4.0
│ ├─┬ sinon@1.17.3
│ │ ├── formatio@1.1.1
│ │ ├── lolex@1.3.2
│ │ ├── samsam@1.1.2
│ │ └── util@0.10.3
│ ├── text-table@0.2.0
│ ├─┬ through2@0.6.5
│ │ ├─┬ readable-stream@1.0.33
│ │ │ └── isarray@0.0.1
│ │ └── xtend@4.0.1
│ ├─┬ underscore.string@3.3.4
│ │ ├── sprintf-js@1.0.3
│ │ └── util-deprecate@1.0.2
│ ├── user-home@1.1.1
│ ├── xdg-basedir@1.0.1
│ ├─┬ yeoman-assert@1.0.0
│ │ ├─┬ chalk@0.5.1
│ │ │ ├── ansi-styles@1.1.0
│ │ │ ├─┬ has-ansi@0.1.0
│ │ │ │ └── ansi-regex@0.2.1
│ │ │ ├── strip-ansi@0.3.0
│ │ │ └── supports-color@0.2.0
│ │ └── lodash@2.4.2
│ ├─┬ yeoman-environment@1.5.2
│ │ ├── diff@2.2.2
│ │ ├─┬ globby@4.0.0
│ │ │ ├── array-union@1.0.1
│ │ │ ├── arrify@1.0.1
│ │ │ ├── glob@6.0.4
│ │ │ └── pify@2.3.0
│ │ ├── grouped-queue@0.3.2
│ │ ├─┬ inquirer@0.11.4
│ │ │ ├── ansi-escapes@1.3.0
│ │ │ ├─┬ cli-cursor@1.0.2
│ │ │ │ └─┬ restore-cursor@1.0.1
│ │ │ │ └── exit-hook@1.1.1
│ │ │ ├─┬ readline2@1.0.1
│ │ │ │ └── mute-stream@0.0.5
│ │ │ └── rx-lite@3.1.2
│ │ ├── log-symbols@1.0.2
│ │ ├─┬ mem-fs@1.1.2
│ │ │ ├── through2@2.0.1
│ │ │ └── vinyl-file@1.3.0
│ │ └─┬ untildify@2.1.0
│ │ └── os-homedir@1.0.1
│ └── yeoman-welcome@1.0.1
└─┬ yosay@1.1.1
├── ansi-regex@2.0.0
├── pad-component@0.0.1
├─┬ repeating@2.0.0
│ └── is-finite@1.0.1
├─┬ string-width@1.0.1
│ ├── code-point-at@1.0.0
│ └── is-fullwidth-code-point@1.0.0
├── strip-ansi@3.0.1
├─┬ taketalk@1.0.0
│ └── minimist@1.2.0
└── wrap-ansi@2.0.0
For I Have Tasted the Fruit.... :sob:
Haha, yea, Yeoman updated their generator dependencies... quite the list now.
I am just kidding, but I think Sindre Sorhus is making npm i slow.
Published as 2.0.0 because "You cannot publish over the previously published version 1.1.0." : generator-fly.
How so? And :tada: thanks
Well, how many of those deps are his? Haha nevermind.
lol, the majority. They're not repetitive though, which is key. And your NPM isn't really downloading any extra bytes, it just has to establish more connections to download the same amount.
https://github.com/sindresorhus/ama/issues/10#issuecomment-117766328
it just has to establish more connections to download the same amount.
Exactly. I think we are talking two things here. Tiny modules, modular design, small components is all great stuff. But all these packages are fetched independently and separately. Even if npm handles downloads concurrently, it still takes a long time, minutes, to be precise.
Yes, modular design applied to like a standard library or some of that sorts, that would be amazeballs, but not this 5 minutes to npm i this super simpler generator. Well, http3 someday!
Yeah, but I feel it's a CLI issue; aka, sub-optimal concurrency handling.
Have you tried some of the newer, community-driven npm
alternatives? The only npm install
alternative I remember is PNPM.
It's at least 5x faster! The only catch is that it's not 100% ready, last I checked.
fly-esnext
as a peer dependency in thepackage.json
. This will alert the end-user to installfly-esnext
in order for new plugin to work