pack-local-dependencies
v1.0.7
Published
Installs dependencies included with a local path
Downloads
8
Readme
pack-local-dependencies
Installs dependencies included with a local path
Usage
Installation
$ npm i -D pack-local-dependenciesExecution
Add the following postinstall script to your package.json
{
"scripts": {
"postinstall": "pack-local-dependencies"
}
}Postinstall script
If your sub-package requires a postinstall script, use pack-local-dependencies:postinstall instaed - This will run after pack-local-dependencies installs its dependencies.
Example
{
"name": "local-sub-module",
"scripts": {
"pack-local-dependencies:postinstall": "tsc"
},
"devDependencies": {
"typescript": "~3.7.3"
}
}Including local dependenices
Local dependencies have to be included with file: prefix in order to be recognized by pack-local-dependencies.
Why?
npm does not run npm install for dependencies included with local path.
For example,
{
"name": "some-package",
"dependencies": {
"another-package": "file:../another-package"
}
}When installing some-package, npm will create a symlink from ../another-package to some-package/node_modules/another-package, but it won't run npm install on ../another-package, so another-package won't have its dependencies install and won't function properly.
Solution
After including pack-local-dependencies in your package's postinstall script, it will run every time your package is installed, and will find all the dependencies in your packages that included using a local path, then it iterates them and runs npm install on every package to install its dependencies.
Official fix
The npm team proposed an RFC to fix this issue: https://github.com/npm/rfcs/pull/150
