Allow `npm install` to work with missing dependencies


(Operations Research Engineering Software+) #1

I filed this issue with Verdaccio:

it was inspired by this StackOverflow question:

For the purposes of developer tools, it would help if npm install worked even if packages weren’t already published to the registry. How would it work? I think it would be simple. NPM would use a dummy package if the package wasn’t on the registry.

Simply put this feature behind a flag, and it won’t break anyone:

npm install --allow-missing

or maybe explicit skipping of packages:

npm install --skip=lodash --skip=rxjs

this would save time during the install, if you are planning to symlink local depenendencies to node_modules.
In other words, say you were developing lodash and rxjs locally, and were going to symlink them to node_modules, when you first run npm install you could effectively skip installing lodash and rxjs because you are going to symlink them anyway, to the top-level node_modules folder.

Likewise, for some people, they want to develop packages that haven’t yet been published before, so it would help if npm install didn’t fail for packages that aren’t in the registry yet.

So to be abundantly clear:

--allow-missing

would mean if a package could not be found, a dummy/empty package would be put in it’s place. On the other hand,

--skip=lodash

would mean it would not even attempt to find lodash in the registry, it would just put a dummy package in it’s place.