pack-local-dependencies

1.0.7 • Public • Published

pack-local-dependencies

Installs dependencies included with a local path

Usage

Installation

$ npm i -D pack-local-dependencies

Execution

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

Readme

Keywords

none

Package Sidebar

Install

npm i pack-local-dependencies

Weekly Downloads

7

Version

1.0.7

License

ISC

Unpacked Size

5.41 kB

Total Files

5

Last publish

Collaborators

  • bluz