Better handling of nested executable script
jourdain opened this issue ยท 20 comments
Do you want to request a feature or report a bug?
feature/bug
What is the current behavior?
Let's pretend your project "A" has a dependency on "B" and "B" has a dependency on "Webpack", "ESlint" and more CLI...
Those CLI will be stored inside {A}/node_modules/B/node_modules/.bin/* which will prevent any CLI from working within project "A".
It will be nice to have B CLI's available in A, like npm 3+ do.
I see several options:
- Gather any nested CLI to the root ./node_modules/.bin
- Gather only global package to the root
- Add metadata inside package.json for project like B that act as meta-packages.
If the current behavior is a bug, please provide the steps to reproduce.
$ mkdir tmp
$ cd tmp/
$ yarn init
$ yarn add kw-web-suite
$ ls node_modules/.bin/
fix-kw-web-suite
$ ls node_modules/kw-web-suite/node_modules/.bin/
commitizen eslint git-cz semantic-release shjs webpack webpack-dev-server
What is the expected behavior?
I would expect to see node_modules/kw-web-suite/node_modules/.bin/
inside node_modules/.bin/
Please mention your node.js, yarn and operating system version.
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.11.6
BuildVersion: 15G1004
$ node --version
v6.3.1
$ yarn --version
0.15.1
I would like to add that for me, using 0.15.1 on node 6.7.0, OSX El capitan:
when installing regular open source projects from npmjs, yarn installs node_modules/.bin
.
The issue occurs only when installing from private repositories, then yarn doesn't event create the .bin
folder at all, although the rest of node_modules
looks fine.
In the mean time I'm using this gist to just mimic what npm usually does with all executables under node_modules (symlinks them into node_modules/.bin): https://gist.github.com/DanielZlotin/4199f3dd85d1b952117ea260a99fdb72
nice! Thanks for sharing
OK so further testing reveals the problem to be completely different: this has nothing to do with private repositories and can be reproduced using npmjs.
This only happens to inner dependencies.
For example: if you have in your dependencies
eslint
, the resulting node_modules/.bin
is:
eslint -> ../eslint/bin/eslint.js
But, if you remove everything from dependencies
and put, say, standard
, using yarn, you get only this single file under node_modules/.bin
:
standard -> ../standard/bin/cmd.js
notice no eslint
executable is present, even though standard
brings eslint
transitively.
To compare, here is the resulting install of a single dependency standard
using npm 3
:
drwxr-xr-x 12 361602828 408B Oct 18 20:19 .
drwxr-xr-x 146 361602828 4.8K Oct 18 20:19 ..
lrwxr-xr-x 1 361602828 18B Oct 18 20:19 acorn -> ../acorn/bin/acorn
lrwxr-xr-x 1 361602828 23B Oct 18 20:19 eslint -> ../eslint/bin/eslint.js
lrwxr-xr-x 1 361602828 25B Oct 18 20:19 esparse -> ../esprima/bin/esparse.js
lrwxr-xr-x 1 361602828 28B Oct 18 20:19 esvalidate -> ../esprima/bin/esvalidate.js
lrwxr-xr-x 1 361602828 25B Oct 18 20:19 js-yaml -> ../js-yaml/bin/js-yaml.js
lrwxr-xr-x 1 361602828 20B Oct 18 20:19 mkdirp -> ../mkdirp/bin/cmd.js
lrwxr-xr-x 1 361602828 16B Oct 18 20:19 rimraf -> ../rimraf/bin.js
lrwxr-xr-x 1 361602828 19B Oct 18 20:19 shjs -> ../shelljs/bin/shjs
lrwxr-xr-x 1 361602828 22B Oct 18 20:19 standard -> ../standard/bin/cmd.js
lrwxr-xr-x 1 361602828 29B Oct 18 20:19 strip-json-comments -> ../strip-json-comments/cli.js
As you can see, every transitive dependency which has an executable defined under package.json bin
is getting linked in the top-most node_modules/.bin
folder.
Something to do with this commit maybe? 986938e?diff=unified#diff-163b16ac3f2b452cccb80bff414a566cL167
@DanielZlotin you were right about that commit! I've created a PR that should fix this issue: #1210
Just wanted to share this https://github.com/wix/yarn-bin-fix. This is a temporary fix to our migration pains.
Still not fix with yarn@0.16.1
.
$ mkdir tmp
$ cd tmp/
$ yarn add kw-web-suite
yarn add v0.16.1
info No lockfile found.
[1/4] ๐ Resolving packages...
warning kw-web-suite > semantic-release > npmconf@2.1.2: this package has been reintegrated into npm and is now out of date with respect to npm
warning kw-web-suite > commitizen > find-node-modules > findup-sync > glob > minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
warning kw-web-suite > semantic-release > @semantic-release/commit-analyzer > conventional-changelog@0.0.17: Please update conventional-changelog to >1.0.0. If you are running the cli, use conventional-changelog-cli
[2/4] ๐ Fetching packages...
[3/4] ๐ Linking dependencies...
[4/4] ๐ Building fresh packages...
success Saved lockfile.
success Saved 866 new dependencies.
โโ @semantic-release/commit-analyzer@2.0.0
โโ @semantic-release/condition-travis@4.1.4
โโ @semantic-release/error@1.0.0
โโ @semantic-release/last-release-npm@1.2.1
โโ @semantic-release/release-notes-generator@2.0.0
โโ abbrev@1.0.9
โโ accepts@1.3.3
โโ acorn-jsx@3.0.1
โโ acorn@3.3.0
โโ ajv-keywords@1.1.1
โโ ajv@4.8.2
โโ align-text@0.1.4
โโ alphanum-sort@1.0.2
โโ amdefine@1.0.1
โโ ansi-escapes@1.4.0
โโ ansi-regex@2.0.0
โโ ansi-styles@2.2.1
โโ ansi@0.3.1
โโ anymatch@1.3.0
โโ aproba@1.0.4
โโ are-we-there-yet@1.0.6
โโ argparse@1.0.9
โโ arr-diff@2.0.0
โโ arr-flatten@1.0.1
โโ array-find-index@1.0.2
โโ array-find@1.0.0
โโ array-flatten@1.1.1
โโ array-union@1.0.2
โโ array-uniq@1.0.3
โโ array-unique@0.2.1
โโ arrify@1.0.1
โโ asap@2.0.5
โโ asn1.js@4.8.1
โโ asn1@0.2.3
โโ assert-plus@0.2.0
โโ assert@1.4.1
โโ ast-types@0.9.0
โโ async-each@1.0.1
โโ async@1.5.2
โโ asynckit@0.4.0
โโ autoprefixer@6.5.0
โโ aws-sign2@0.6.0
โโ aws4@1.5.0
โโ babel-code-frame@6.16.0
โโ babel-core@6.17.0
โ โโ lodash@4.16.6
โโ babel-eslint@7.0.0
โโ babel-generator@6.18.0
โ โโ lodash@4.16.6
โโ babel-helper-builder-react-jsx@6.18.0
โ โโ lodash@4.16.6
โโ babel-helper-call-delegate@6.18.0
โโ babel-helper-define-map@6.18.0
โ โโ lodash@4.16.6
โโ babel-helper-function-name@6.18.0
โโ babel-helper-get-function-arity@6.18.0
โโ babel-helper-hoist-variables@6.18.0
โโ babel-helper-optimise-call-expression@6.18.0
โโ babel-helper-regex@6.18.0
โ โโ lodash@4.16.6
โโ babel-helper-replace-supers@6.18.0
โโ babel-helpers@6.16.0
โโ babel-loader@6.2.5
โโ babel-messages@6.8.0
โโ babel-plugin-check-es2015-constants@6.8.0
โโ babel-plugin-syntax-flow@6.18.0
โโ babel-plugin-syntax-jsx@6.18.0
โโ babel-plugin-transform-es2015-arrow-functions@6.8.0
โโ babel-plugin-transform-es2015-block-scoped-functions@6.8.0
โโ babel-plugin-transform-es2015-block-scoping@6.18.0
โ โโ lodash@4.16.6
โโ babel-plugin-transform-es2015-classes@6.18.0
โโ babel-plugin-transform-es2015-computed-properties@6.8.0
โโ babel-plugin-transform-es2015-destructuring@6.18.0
โโ babel-plugin-transform-es2015-duplicate-keys@6.8.0
โโ babel-plugin-transform-es2015-for-of@6.18.0
โโ babel-plugin-transform-es2015-function-name@6.9.0
โโ babel-plugin-transform-es2015-literals@6.8.0
โโ babel-plugin-transform-es2015-modules-amd@6.18.0
โโ babel-plugin-transform-es2015-modules-commonjs@6.18.0
โโ babel-plugin-transform-es2015-modules-systemjs@6.18.0
โโ babel-plugin-transform-es2015-modules-umd@6.18.0
โโ babel-plugin-transform-es2015-object-super@6.8.0
โโ babel-plugin-transform-es2015-parameters@6.18.0
โโ babel-plugin-transform-es2015-shorthand-properties@6.18.0
โโ babel-plugin-transform-es2015-spread@6.8.0
โโ babel-plugin-transform-es2015-sticky-regex@6.8.0
โโ babel-plugin-transform-es2015-template-literals@6.8.0
โโ babel-plugin-transform-es2015-typeof-symbol@6.18.0
โโ babel-plugin-transform-es2015-unicode-regex@6.11.0
โ โโ regexpu-core@2.0.0
โโ babel-plugin-transform-flow-strip-types@6.18.0
โโ babel-plugin-transform-react-display-name@6.8.0
โโ babel-plugin-transform-react-jsx-self@6.11.0
โโ babel-plugin-transform-react-jsx-source@6.9.0
โโ babel-plugin-transform-react-jsx@6.8.0
โโ babel-plugin-transform-regenerator@6.16.1
โโ babel-plugin-transform-strict-mode@6.18.0
โโ babel-polyfill@6.16.0
โโ babel-preset-es2015@6.16.0
โโ babel-preset-react@6.16.0
โโ babel-register@6.18.0
โ โโ babel-core@6.18.2
โ โโ json5@0.5.0
โ โโ lodash@4.16.6
โโ babel-runtime@6.18.0
โโ babel-template@6.16.0
โ โโ lodash@4.16.6
โโ babel-traverse@6.18.0
โ โโ lodash@4.16.6
โโ babel-types@6.18.0
โ โโ lodash@4.16.6
โโ babylon@6.13.1
โโ balanced-match@0.4.2
โโ base64-js@1.2.0
โโ Base64@0.2.1
โโ batch@0.5.3
โโ bcrypt-pbkdf@1.0.0
โโ big.js@3.1.3
โโ binary-extensions@1.7.0
โโ block-stream@0.0.9
โโ bluebird@3.4.6
โโ bn.js@4.11.6
โโ boolbase@1.0.0
โโ boom@2.10.1
โโ brace-expansion@1.1.6
โโ braces@1.8.5
โโ brorand@1.0.6
โโ browserify-aes@1.0.6
โโ browserify-cipher@1.0.0
โโ browserify-des@1.0.0
โโ browserify-rsa@4.0.1
โโ browserify-sign@4.0.0
โโ browserify-zlib@0.1.4
โโ browserslist@1.4.0
โโ buffer-shims@1.0.0
โโ buffer-xor@1.0.3
โโ buffer@4.9.1
โโ builtin-modules@1.1.1
โโ bytes@2.3.0
โโ caller-path@0.1.0
โโ callsites@0.2.0
โโ camel-case@3.0.0
โโ camelcase-keys@2.1.0
โ โโ camelcase@2.1.1
โโ camelcase@1.2.1
โโ caniuse-db@1.0.30000574
โโ caseless@0.11.0
โโ center-align@0.1.3
โโ chalk@1.1.3
โ โโ supports-color@2.0.0
โโ change-case@3.0.0
โโ cheerio@0.19.0
โโ chokidar@1.6.1
โ โโ is-glob@2.0.1
โโ cipher-base@1.0.3
โโ circular-json@0.3.1
โโ clap@1.1.1
โโ clean-css@3.4.20
โ โโ commander@2.8.1
โ โโ source-map@0.4.4
โโ cli-cursor@1.0.2
โโ cli-width@2.1.0
โโ cliui@2.1.0
โ โโ wordwrap@0.0.2
โโ clone@1.0.2
โโ co@4.6.0
โโ coa@1.0.1
โโ code-point-at@1.1.0
โโ color-convert@1.6.0
โโ color-name@1.1.1
โโ color-string@0.3.0
โโ color@0.11.4
โโ colormin@1.1.2
โโ colors@1.1.2
โโ combined-stream@1.0.5
โโ commander@2.9.0
โโ commitizen@2.8.6
โ โโ find-root@1.0.0
โ โโ glob@7.0.5
โ โโ inquirer@1.1.2
โ โ โโ lodash@4.16.6
โ โโ lodash@4.15.0
โ โโ path-exists@2.1.0
โ โโ run-async@2.2.0
โ โโ shelljs@0.5.3
โ โโ strip-json-comments@2.0.1
โโ commondir@1.0.1
โโ compressible@2.0.9
โโ compression@1.6.2
โโ concat-map@0.0.1
โโ concat-stream@1.5.2
โ โโ readable-stream@2.0.6
โโ config-chain@1.1.11
โโ connect-history-api-fallback@1.3.0
โโ console-browserify@1.1.0
โโ console-control-strings@1.1.0
โโ constant-case@2.0.0
โโ constants-browserify@1.0.0
โโ contains-path@0.1.0
โโ content-disposition@0.5.1
โโ content-type@1.0.2
โโ conventional-changelog@0.0.17
โโ conventional-commit-types@2.1.0
โโ convert-source-map@1.3.0
โโ cookie-signature@1.0.6
โโ cookie@0.3.1
โโ core-js@2.4.1
โโ core-util-is@1.0.2
โโ create-ecdh@4.0.0
โโ create-hash@1.1.2
โโ create-hmac@1.1.4
โโ cryptiles@2.0.5
โโ crypto-browserify@3.11.0
โโ css-color-names@0.0.4
โโ css-loader@0.25.0
โโ css-select@1.0.0
โโ css-selector-tokenizer@0.6.0
โโ css-what@1.0.0
โโ cssesc@0.1.0
โโ cssnano@3.8.0
โ โโ autoprefixer@6.5.1
โโ csso@2.2.1
โโ currently-unhandled@0.4.1
โโ cz-conventional-changelog@1.2.0
โโ d@0.1.1
โโ damerau-levenshtein@1.0.3
โโ dashdash@1.14.0
โ โโ assert-plus@1.0.0
โโ date-now@0.1.4
โโ dateformat@1.0.12
โโ debug@2.2.0
โโ decamelize@1.2.0
โโ dedent@0.6.0
โโ deep-extend@0.4.1
โโ deep-is@0.1.3
โโ defined@1.0.0
โโ del@2.2.2
โโ delayed-stream@1.0.0
โโ delegates@1.0.0
โโ depd@1.1.0
โโ des.js@1.0.0
โโ destroy@1.0.4
โโ detect-indent@4.0.0
โโ dezalgo@1.0.3
โโ diffie-hellman@5.0.2
โโ doctrine@1.5.0
โโ dom-converter@0.1.4
โ โโ utila@0.3.3
โโ dom-serializer@0.1.0
โโ domain-browser@1.1.7
โโ domelementtype@1.1.3
โโ domhandler@2.3.0
โ โโ domelementtype@1.3.0
โโ domutils@1.4.3
โ โโ domelementtype@1.3.0
โโ dot-case@2.1.0
โโ duplexer@0.1.1
โโ ecc-jsbn@0.1.1
โโ ee-first@1.1.1
โโ elliptic@6.3.2
โโ emojis-list@2.1.0
โโ encodeurl@1.0.1
โโ enhanced-resolve@0.9.1
โ โโ memory-fs@0.2.0
โโ entities@1.1.1
โโ errno@0.1.4
โโ error-ex@1.3.0
โโ es5-ext@0.10.12
โโ es6-iterator@2.0.0
โโ es6-map@0.1.4
โโ es6-set@0.1.4
โโ es6-symbol@3.1.0
โโ es6-templates@0.2.3
โโ es6-weak-map@2.0.1
โโ escape-html@1.0.3
โโ escape-string-regexp@1.0.5
โโ escope@3.6.0
โโ eslint-config-airbnb-base@8.0.0
โโ eslint-config-airbnb@12.0.0
โโ eslint-import-resolver-node@0.2.3
โโ eslint-import-resolver-webpack@0.6.0
โ โโ interpret@1.0.1
โโ eslint-loader@1.5.0
โโ eslint-plugin-import@1.16.0
โ โโ doctrine@1.3.0
โโ eslint-plugin-jsx-a11y@2.2.2
โโ eslint-plugin-react@6.3.0
โโ eslint@3.7.1
โ โโ lodash@4.16.6
โ โโ shelljs@0.6.1
โโ espree@3.3.2
โ โโ acorn@4.0.3
โโ esprima@2.7.3
โโ esrecurse@4.1.0
โ โโ estraverse@4.1.1
โโ estraverse@4.2.0
โโ esutils@2.0.2
โโ etag@1.7.0
โโ event-emitter@0.3.4
โโ event-stream@3.3.4
โโ eventemitter3@1.2.0
โโ events@1.1.1
โโ eventsource@0.1.6
โโ evp_bytestokey@1.0.0
โโ exit-hook@1.1.1
โโ expand-brackets@0.1.5
โโ expand-range@1.8.2
โโ expose-loader@0.7.1
โโ express@4.14.0
โโ extend@3.0.0
โโ external-editor@1.1.1
โโ extglob@0.3.2
โโ extsprintf@1.0.2
โโ fast-levenshtein@2.0.5
โโ fastparse@1.1.1
โโ faye-websocket@0.10.0
โโ figures@1.7.0
โโ file-entry-cache@2.0.0
โโ file-loader@0.9.0
โโ filename-regex@2.0.0
โโ fill-range@2.2.3
โโ finalhandler@0.5.0
โโ find-cache-dir@0.1.1
โโ find-node-modules@1.0.3
โโ find-root@0.1.2
โโ find-up@1.1.2
โ โโ path-exists@2.1.0
โโ findup-sync@0.2.1
โ โโ glob@4.3.5
โ โโ minimatch@2.0.10
โโ flat-cache@1.2.1
โโ flatten@1.0.2
โโ for-in@0.1.6
โโ for-own@0.1.4
โโ foreachasync@3.0.0
โโ forever-agent@0.6.1
โโ form-data@2.1.1
โโ forwarded@0.1.0
โโ fresh@0.3.0
โโ from@0.1.3
โโ fs.realpath@1.0.0
โโ fsevents@1.0.15
โโ fstream-ignore@1.0.5
โโ fstream@1.0.10
โโ function-bind@1.1.0
โโ gauge@1.2.7
โโ generate-function@2.0.0
โโ generate-object-property@1.2.0
โโ get-stdin@4.0.1
โโ getpass@0.1.6
โ โโ assert-plus@1.0.0
โโ git-head@1.15.0
โโ git-refs@1.1.3
โโ github-url-from-git@1.4.0
โโ github-url-from-username-repo@1.0.2
โโ github@0.2.4
โ โโ mime@1.3.4
โโ glob-base@0.3.0
โ โโ is-glob@2.0.1
โโ glob-parent@2.0.0
โ โโ is-glob@2.0.1
โโ glob@7.1.1
โโ globals@9.12.0
โโ globby@5.0.0
โโ graceful-fs@4.1.10
โโ graceful-readlink@1.0.1
โโ har-validator@2.0.6
โโ has-ansi@2.0.0
โโ has-color@0.1.7
โโ has-flag@1.0.0
โโ has-unicode@2.0.1
โโ has@1.0.1
โโ hash.js@1.0.3
โโ hawk@3.1.3
โโ he@1.1.0
โโ header-case@1.0.0
โโ hoek@2.16.3
โโ home-or-tmp@2.0.0
โโ hosted-git-info@2.1.5
โโ html-comment-regex@1.1.1
โโ html-loader@0.4.4
โ โโ async@0.2.10
โ โโ html-minifier@3.1.0
โ โโ uglify-js@2.7.4
โโ html-minifier@2.1.7
โโ html-webpack-plugin@2.22.0
โ โโ lodash@4.16.6
โโ htmlparser2@3.8.3
โ โโ domelementtype@1.3.0
โ โโ domutils@1.5.1
โ โโ entities@1.0.0
โ โโ isarray@0.0.1
โ โโ readable-stream@1.1.13
โโ http-browserify@1.7.0
โโ http-errors@1.5.0
โ โโ inherits@2.0.1
โโ http-proxy-middleware@0.17.2
โ โโ lodash@4.16.6
โโ http-proxy@1.15.2
โโ http-signature@1.1.1
โโ https-browserify@0.0.1
โโ icss-replace-symbols@1.0.2
โโ ieee754@1.1.8
โโ ignore@3.2.0
โโ image-size@0.3.5
โโ imurmurhash@0.1.4
โโ indent-string@2.1.0
โโ indexes-of@1.0.1
โโ indexof@0.0.1
โโ inflight@1.0.6
โโ inherits@2.0.3
โโ ini@1.3.4
โโ inquirer@0.12.0
โ โโ lodash@4.16.6
โโ interpret@0.6.6
โโ invariant@2.2.1
โโ ipaddr.js@1.1.1
โโ is-absolute-url@2.0.0
โโ is-absolute@0.2.6
โโ is-arrayish@0.2.1
โโ is-binary-path@1.0.1
โโ is-buffer@1.1.4
โโ is-builtin-module@1.0.0
โโ is-dotfile@1.0.2
โโ is-equal-shallow@0.1.3
โโ is-extendable@0.1.1
โโ is-extglob@1.0.0
โโ is-finite@1.0.2
โโ is-fullwidth-code-point@1.0.0
โโ is-glob@3.1.0
โ โโ is-extglob@2.1.0
โโ is-lower-case@1.1.3
โโ is-my-json-valid@2.15.0
โโ is-number@2.1.0
โโ is-path-cwd@1.0.0
โโ is-path-in-cwd@1.0.0
โโ is-path-inside@1.0.0
โโ is-plain-obj@1.1.0
โโ is-posix-bracket@0.1.1
โโ is-primitive@2.0.0
โโ is-promise@2.1.0
โโ is-property@1.0.2
โโ is-relative@0.2.1
โโ is-resolvable@1.0.0
โโ is-svg@2.0.1
โโ is-typedarray@1.0.0
โโ is-unc-path@0.1.1
โโ is-upper-case@1.1.2
โโ is-utf8@0.2.1
โโ is-windows@0.2.0
โโ isarray@1.0.0
โโ isobject@2.1.0
โโ isstream@0.1.2
โโ jodid25519@1.0.2
โโ js-base64@2.1.9
โโ js-tokens@2.0.0
โโ js-yaml@3.6.1
โโ jsbn@0.1.0
โโ jsesc@1.3.0
โโ json-loader@0.5.4
โโ json-schema@0.2.3
โโ json-stable-stringify@1.0.1
โโ json-stringify-safe@5.0.1
โโ json3@3.3.2
โโ json5@0.4.0
โโ jsonify@0.0.0
โโ jsonpointer@4.0.0
โโ jsprim@1.3.1
โโ jsx-ast-utils@1.3.3
โโ kind-of@3.0.4
โโ kw-web-suite@2.2.1
โโ lazy-cache@1.0.4
โโ levn@0.3.0
โโ load-json-file@1.1.0
โ โโ strip-bom@2.0.0
โโ loader-utils@0.2.16
โ โโ json5@0.5.0
โโ lodash._baseassign@3.2.0
โโ lodash._basecopy@3.0.1
โโ lodash._baseget@3.7.2
โโ lodash._bindcallback@3.0.1
โโ lodash._createassigner@3.1.1
โโ lodash._createcompounder@3.0.0
โโ lodash._getnative@3.9.1
โโ lodash._isiterateecall@3.0.9
โโ lodash._root@3.0.1
โโ lodash._topath@3.8.1
โโ lodash.assign@3.2.0
โโ lodash.camelcase@3.0.1
โโ lodash.cond@4.5.2
โโ lodash.deburr@3.2.0
โโ lodash.endswith@4.2.1
โโ lodash.find@4.6.0
โโ lodash.findindex@4.6.0
โโ lodash.get@3.7.0
โโ lodash.indexof@4.0.5
โโ lodash.isarguments@3.1.0
โโ lodash.isarray@3.0.4
โโ lodash.keys@3.1.2
โโ lodash.map@4.6.0
โโ lodash.pad@4.5.1
โโ lodash.padend@4.6.1
โโ lodash.padstart@4.6.1
โโ lodash.pickby@4.6.0
โโ lodash.restparam@3.6.1
โโ lodash.words@3.2.0
โโ lodash@3.10.1
โโ longest@1.0.1
โโ loose-envify@1.3.0
โโ loud-rejection@1.6.0
โโ lower-case-first@1.0.2
โโ lower-case@1.1.3
โโ macaddress@0.2.8
โโ map-obj@1.0.1
โโ map-stream@0.1.0
โโ math-expression-evaluator@1.2.14
โโ media-typer@0.3.0
โโ memory-fs@0.3.0
โโ meow@3.7.0
โ โโ normalize-package-data@2.3.5
โโ merge-descriptors@1.0.1
โโ merge@1.2.0
โโ methods@1.1.2
โโ micromatch@2.3.11
โ โโ is-glob@2.0.1
โโ miller-rabin@4.0.0
โโ mime-db@1.24.0
โโ mime-types@2.1.12
โโ mime@1.2.11
โโ minimalistic-assert@1.0.0
โโ minimatch@3.0.3
โโ minimist@1.2.0
โโ mkdirp@0.5.1
โ โโ minimist@0.0.8
โโ ms@0.7.1
โโ mute-stream@0.0.6
โโ nan@2.4.0
โโ natural-compare@1.4.0
โโ ncname@1.0.0
โโ negotiator@0.6.1
โโ nerf-dart@1.0.0
โโ no-case@2.3.0
โโ node-libs-browser@1.0.0
โโ node-pre-gyp@0.6.31
โ โโ are-we-there-yet@1.1.2
โ โโ gauge@2.6.0
โ โโ npmlog@4.0.0
โโ node-uuid@1.4.7
โโ nopt@3.0.6
โโ normalize-package-data@1.0.3
โ โโ semver@4.3.6
โโ normalize-path@2.0.1
โโ normalize-range@0.1.2
โโ normalize-url@1.7.0
โโ npm-package-arg@4.2.0
โโ npm-registry-client@7.3.0
โ โโ are-we-there-yet@1.1.2
โ โโ gauge@2.6.0
โ โโ normalize-package-data@2.3.5
โ โโ npmlog@3.1.2
โโ npmconf@2.1.2
โ โโ once@1.3.3
โ โโ semver@4.3.6
โโ npmlog@1.2.1
โโ nth-check@1.0.1
โโ num2fraction@1.2.2
โโ number-is-nan@1.0.1
โโ oauth-sign@0.8.2
โโ object-assign@4.1.0
โโ object.omit@2.0.1
โโ on-finished@2.3.0
โโ on-headers@1.0.1
โโ once@1.4.0
โโ onetime@1.1.0
โโ open@0.0.5
โโ optimist@0.6.1
โ โโ minimist@0.0.10
โโ optionator@0.8.2
โ โโ wordwrap@1.0.0
โโ original@1.0.0
โ โโ url-parse@1.0.5
โโ os-browserify@0.2.1
โโ os-homedir@1.0.2
โโ os-shim@0.1.3
โโ os-tmpdir@1.0.2
โโ osenv@0.1.3
โโ pad-right@0.2.2
โโ pako@0.2.9
โโ param-case@2.1.0
โโ parse-asn1@5.0.0
โโ parse-github-repo-url@1.3.0
โโ parse-glob@3.0.4
โ โโ is-glob@2.0.1
โโ parse-json@2.2.0
โโ parseurl@1.3.1
โโ pascal-case@2.0.0
โโ path-browserify@0.0.0
โโ path-case@2.1.0
โโ path-exists@1.0.0
โโ path-is-absolute@1.0.1
โโ path-is-inside@1.0.2
โโ path-object@2.3.0
โโ path-to-regexp@0.1.7
โโ path-type@1.1.0
โโ pause-stream@0.0.11
โโ pbkdf2-compat@2.0.1
โโ pbkdf2@3.0.9
โโ pify@2.3.0
โโ pinkie-promise@2.0.1
โโ pinkie@2.0.4
โโ pkg-dir@1.0.0
โโ pkg-up@1.0.0
โโ pluralize@1.2.1
โโ postcss-calc@5.3.1
โโ postcss-colormin@2.2.1
โโ postcss-convert-values@2.4.1
โโ postcss-discard-comments@2.0.4
โโ postcss-discard-duplicates@2.0.1
โโ postcss-discard-empty@2.1.0
โโ postcss-discard-overridden@0.1.1
โโ postcss-discard-unused@2.2.2
โโ postcss-filter-plugins@2.0.2
โโ postcss-loader@0.13.0
โโ postcss-merge-idents@2.1.7
โโ postcss-merge-longhand@2.0.1
โโ postcss-merge-rules@2.0.10
โโ postcss-message-helpers@2.0.0
โโ postcss-minify-font-values@1.0.5
โโ postcss-minify-gradients@1.0.5
โโ postcss-minify-params@1.0.5
โโ postcss-minify-selectors@2.0.5
โโ postcss-modules-extract-imports@1.0.1
โโ postcss-modules-local-by-default@1.1.1
โโ postcss-modules-scope@1.0.2
โโ postcss-modules-values@1.2.2
โโ postcss-normalize-charset@1.1.0
โโ postcss-normalize-url@3.0.7
โโ postcss-ordered-values@2.2.2
โโ postcss-reduce-idents@2.3.1
โโ postcss-reduce-initial@1.0.0
โโ postcss-reduce-transforms@1.0.4
โโ postcss-selector-parser@2.2.1
โโ postcss-svgo@2.1.5
โโ postcss-unique-selectors@2.0.2
โโ postcss-value-parser@3.3.0
โโ postcss-zindex@2.1.1
โโ postcss@5.2.5
โโ prelude-ls@1.1.2
โโ prepend-http@1.0.4
โโ preserve@0.2.0
โโ pretty-error@2.0.2
โโ private@0.1.6
โโ process-nextick-args@1.0.7
โโ process@0.11.9
โโ progress@1.1.8
โโ proto-list@1.2.4
โโ proxy-addr@1.1.2
โโ prr@0.0.0
โโ public-encrypt@4.0.0
โโ punycode@1.4.1
โโ q@1.4.1
โโ qs@6.2.0
โโ query-string@4.2.3
โโ querystring-es3@0.2.1
โโ querystring@0.2.0
โโ querystringify@0.0.4
โโ randomatic@1.1.5
โโ randombytes@2.0.3
โโ range-parser@1.2.0
โโ rc@1.1.6
โโ read-pkg-up@1.0.1
โโ read-pkg@1.1.0
โ โโ normalize-package-data@2.3.5
โโ readable-stream@2.1.5
โโ readdirp@2.1.0
โโ readline2@1.0.1
โ โโ mute-stream@0.0.5
โโ recast@0.11.15
โ โโ esprima@3.1.1
โโ rechoir@0.6.2
โโ redent@1.0.0
โโ reduce-css-calc@1.3.0
โโ reduce-function-call@1.0.1
โ โโ balanced-match@0.1.0
โโ regenerate@1.3.1
โโ regenerator-runtime@0.9.5
โโ regex-cache@0.4.3
โโ regexpu-core@1.0.0
โโ regjsgen@0.2.0
โโ regjsparser@0.1.5
โ โโ jsesc@0.5.0
โโ relateurl@0.2.7
โโ renderkid@2.0.0
โ โโ css-select@1.2.0
โ โ โโ domutils@1.5.1
โ โโ css-what@2.1.0
โ โโ domelementtype@1.3.0
โ โโ domhandler@2.1.0
โ โโ domutils@1.1.6
โ โโ htmlparser2@3.3.0
โ โโ isarray@0.0.1
โ โโ readable-stream@1.0.34
โ โโ utila@0.3.3
โโ repeat-element@1.1.2
โโ repeat-string@1.6.1
โโ repeating@2.0.1
โโ request@2.77.0
โ โโ qs@6.3.0
โโ require-relative@0.8.7
โโ require-uncached@1.0.2
โโ requires-port@1.0.0
โโ resolve-from@1.0.1
โโ resolve@1.1.7
โโ restore-cursor@1.0.1
โโ retry@0.10.0
โโ right-align@0.1.3
โโ right-pad@1.0.1
โโ rimraf@2.5.4
โโ ripemd160@1.0.1
โโ run-async@0.1.0
โโ run-auto@1.1.3
โโ run-series@1.1.4
โโ rx-lite@3.1.2
โโ rx@4.1.0
โโ sax@1.2.1
โโ semantic-release@4.3.5
โโ semver@5.3.0
โโ send@0.14.1
โ โโ mime@1.3.4
โโ sentence-case@2.1.0
โโ serve-index@1.8.0
โโ serve-static@1.11.1
โโ set-blocking@2.0.0
โโ set-immediate-shim@1.0.1
โโ setprototypeof@1.0.1
โโ sha.js@2.4.5
โโ shader-loader@1.3.0
โโ shebang-regex@1.0.0
โโ shelljs@0.7.4
โ โโ interpret@1.0.1
โโ signal-exit@3.0.1
โโ slash@1.0.0
โโ slice-ansi@0.0.4
โโ slide@1.1.6
โโ snake-case@2.1.0
โโ sniffr@1.1.4
โโ sntp@1.0.9
โโ sockjs-client@1.1.1
โ โโ faye-websocket@0.11.0
โโ sockjs@0.3.18
โโ sort-keys@1.1.2
โโ source-list-map@0.1.6
โโ source-map-support@0.4.6
โโ source-map@0.5.6
โโ spawn-sync@1.0.15
โโ spdx-correct@1.0.2
โโ spdx-expression-parse@1.0.4
โโ spdx-license-ids@1.2.2
โโ split@0.3.3
โโ sprintf-js@1.0.3
โโ sshpk@1.10.1
โ โโ assert-plus@1.0.0
โโ statuses@1.3.0
โโ stream-browserify@2.0.1
โโ stream-cache@0.0.2
โโ stream-combiner@0.0.4
โโ strict-uri-encode@1.1.0
โโ string_decoder@0.10.31
โโ string-replace-loader@1.0.5
โโ string-width@1.0.2
โโ stringstream@0.0.5
โโ strip-ansi@3.0.1
โโ strip-bom@3.0.0
โโ strip-indent@1.0.1
โโ strip-json-comments@1.0.4
โโ style-loader@0.13.1
โโ supports-color@3.1.2
โโ svg-sprite-loader@0.0.29
โโ svgo@0.7.1
โโ swap-case@1.1.2
โโ table@3.8.3
โ โโ is-fullwidth-code-point@2.0.0
โ โโ lodash@4.16.6
โ โโ string-width@2.0.0
โโ tapable@0.1.10
โโ tar-pack@3.3.0
โ โโ once@1.3.3
โ โโ uid-number@0.0.6
โโ tar@2.2.1
โโ text-table@0.2.0
โโ through@2.3.8
โโ timers-browserify@1.4.2
โโ title-case@2.1.0
โโ tmp@0.0.29
โโ to-fast-properties@1.0.2
โโ toposort@1.0.0
โโ tough-cookie@2.3.2
โโ trim-newlines@1.0.0
โโ tryit@1.0.3
โโ tty-browserify@0.0.0
โโ tunnel-agent@0.4.3
โโ tweetnacl@0.14.3
โโ type-check@0.3.2
โโ type-is@1.6.13
โโ typedarray@0.0.6
โโ uglify-js@2.6.4
โ โโ async@0.2.10
โโ uglify-to-browserify@1.0.2
โโ uid-number@0.0.5
โโ unc-path-regex@0.1.2
โโ uniq@1.0.1
โโ uniqid@4.1.0
โโ uniqs@2.0.0
โโ unpipe@1.0.0
โโ upper-case-first@1.1.2
โโ upper-case@1.1.3
โโ url-loader@0.5.7
โโ url-parse@1.1.7
โโ url@0.11.0
โ โโ punycode@1.3.2
โโ user-home@2.0.0
โโ util-deprecate@1.0.2
โโ util@0.10.3
โ โโ inherits@2.0.1
โโ utila@0.4.0
โโ utils-merge@1.0.0
โโ uuid@2.0.3
โโ validate-npm-package-license@3.0.1
โโ vary@1.1.0
โโ vendors@1.0.1
โโ verror@1.3.6
โโ vm-browserify@0.0.4
โโ walk@2.3.9
โโ watchpack@0.2.9
โ โโ async@0.9.2
โโ webpack-core@0.6.8
โ โโ source-map@0.4.4
โโ webpack-dev-middleware@1.8.4
โ โโ mime@1.3.4
โโ webpack-dev-server@1.16.2
โโ webpack@1.13.2
โ โโ constants-browserify@0.0.1
โ โโ crypto-browserify@3.2.8
โ โโ https-browserify@0.0.0
โ โโ isarray@0.0.1
โ โโ node-libs-browser@0.6.0
โ โโ os-browserify@0.1.2
โ โโ readable-stream@1.1.14
โ โโ ripemd160@0.2.0
โ โโ sha.js@2.2.6
โ โโ stream-browserify@1.0.0
โ โโ url@0.10.3
โ โ โโ punycode@1.3.2
โโ websocket-driver@0.6.5
โโ websocket-extensions@0.1.1
โโ whet.extend@0.9.9
โโ wide-align@1.1.0
โโ window-size@0.1.0
โโ word-wrap@1.1.0
โโ wordwrap@0.0.3
โโ wrappy@1.0.2
โโ write@0.2.1
โโ xml-char-classes@1.0.0
โโ xtend@4.0.1
โโ yargs@3.10.0
โจ Done in 15.29s.
$ ls node_modules/.bin/
fix-kw-web-suite
$ ls node_modules/kw-web-suite/node_modules/.bin/
commitizen eslint git-cz semantic-release shjs webpack webpack-dev-server
@jourdain The PR that fixed this just landed an hour ago and there hasn't been a release, so the current version is still going to be broken until a new release is cut.
Sounds good, I wasn't sure when I should be able to test the new version. So I'm guessing yarn@0.16.2
?
#1220 was reverted. Shouldn't this issue be re-opened?
As of yarn 17.8 nested exes are not installing in the root ./node_modules/.bin
I've tried the steps to reproduce that bug with yarn@0.17.8 and I confirm that we still see the same behavior.
This should be reopen.
I'll reopen this since the PR was reverted.
Sorry but this bug is still present in last nightly-build : 0.19.0
Scenario for reproducing the bug :
- clone https://github.com/compodoc/compodoc-demo-todomvc-angular2
- cd compodoc-demo-todomvc-angular2
- yarn
- npm run doc failed
The file node_modules/.bin/ngd is not present
- clone in compodoc-demo-todomvc-angular2-npm https://github.com/compodoc/compodoc-demo-todomvc-angular2
- cd compodoc-demo-todomvc-angular2-npm
- npm i
- npm run doc succeed
The file node_modules/.bin/ngd is present
There's an open (but possibly abandoned) PR for a new fix: #2053
Any progress on this issue? yarn@0.24.6
still have this problem.
@zyy7259 not AFAIK. Would you like to investigate with the latest version on master and submit a pull request? We'd assist you in the process if you're interested in submitting a PR.
Seems to be fine with me now, I would say you can close the issue. Thanks for taking care of it!
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.12.6
BuildVersion: 16G29
$ node --version
v8.0.0
$ yarn --version
0.27.5