Skip to content

Better handling of nested executable script #760

Closed
@jourdain

Description

@jourdain

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:

  1. Gather any nested CLI to the root ./node_modules/.bin
  2. Gather only global package to the root
  3. 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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions