Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/OrKoN/npm-link-shared
links a folder of local modules with inter-dependencies to the target directory
https://github.com/OrKoN/npm-link-shared
javascript link npm
Last synced: about 1 month ago
JSON representation
links a folder of local modules with inter-dependencies to the target directory
- Host: GitHub
- URL: https://github.com/OrKoN/npm-link-shared
- Owner: OrKoN
- License: mit
- Archived: true
- Created: 2015-04-02T14:38:09.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2022-12-30T17:13:14.000Z (almost 2 years ago)
- Last Synced: 2024-10-13T08:50:17.964Z (2 months ago)
- Topics: javascript, link, npm
- Language: JavaScript
- Size: 122 KB
- Stars: 137
- Watchers: 5
- Forks: 15
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# npm-link-shared
[![Version](https://img.shields.io/npm/v/npm-link-shared.svg)](https://www.npmjs.com/package/npm-link-shared)
[![Build Status](http://img.shields.io/travis/OrKoN/npm-link-shared.svg?style=flat)](https://travis-ci.org/OrKoN/npm-link-shared)
[![Downloads](https://img.shields.io/npm/dm/npm-link-shared.svg)](https://www.npmjs.com/package/npm-link-shared)
[![Dependencies](https://img.shields.io/david/OrKoN/npm-link-shared.svg)](https://github.com/OrKoN/npm-link-shared/blob/master/package.json#L19)Installs a set of local node modules into a target folder using `npm link`. Links all dependencies of the local modules if they are listed in the source folder.
[Blog post explaining this module](https://60devs.com/simple-way-to-manage-local-node-module-using-npm-link.html).
## Installation
```
npm install npm-link-shared -g
```## Changelog
v0.5.2 (2017-09-07) - Updated dependencies. Added package-lock.json.
v0.5.1 (2017-05-19) - Support for `--include-peer` which links peer dependencies if they are defined.
v0.5.0 (2017-03-29) - **BREAKING CHANGES**: The lib/api function's arguments have been revamped. The previously undocumented argument --includeDev is now --include-dev to be consistent with other arguments. We now print a warning and exit gracefully if either the shared or target directory do not exist.
v0.4.0 (2017-03-13) - Support for changing executable to yarn with `--yarn`. **Use at your own risk!** `yarn link` is not yet functionally equivalent to `npm link`.
v0.3.3 (2016-07-01) - Support for npm link options, removed hardcoded usage of `--production`.
v0.3.0 (2016-03-25) - Support for @scope packages. For example, `@scope/my-package`.
v0.2.1 (2016-01-12) - Thanks to @barroudjo, module folder names are now de-coupled from the names in the package.json. So any name can be used as a folder name.
v0.2.0 (2015-10-30) - Links using `--production` flag so that devDependencies should not be installed anymore. Tests added.
v0.1.6 (2015-04-20) - Removed unneeded npm dependency. Added a possibility to define [which modules to install](#define-specific-modules-to-install).
## Usage
```
npm-link-shared [ [, ]] [--yarn] [--include-dev] [--include-peer] [-- [--]]
```For example:
```
npm-link-shared /home/user/internal_modules/ /home/user/my-project
```This links all modules located in the `internal_modules` directory to the `my-project` dir.
### Define specific modules to install
```
npm-link-shared /home/user/internal_modules/ /home/user/my-project my-module1 my-module2
```This links modules `my-module1` and `my-module2` located in the `internal_modules` directory to the `my-project` dir. Only these two modules are installed but their dependencies are resolved against the entire `internal_modules` directory.
### Define options passed to npm link
```
npm-link-shared /home/user/internal_modules/ /home/user/my-project --production
```This prevents installation of devDependencies of shared modules by passing the production option to npm link (npm link --production).
### Use yarn instead
**NOTE:** `yarn link` is currently functionally different from `npm link`, and should not be considered stable. Use at your own risk until the yarn project has stabilized.
```
npm-link-shared /home/user/internal_modules/ /home/user/my-project --yarn
```This works in conjunction with all other options.
### Also link devDependencies and/or peerDependencies
devDependencies:
```
npm-link-shared /home/user/internal_modules/ /home/user/my-project --include-dev
```peerDependencies:
```
npm-link-shared /home/user/internal_modules/ /home/user/my-project --include-peer
```Ordinarily, only packages found under the dependencies key in a project's `package.json` are linked. With this option, devDependencies and/or peerDependencies are also linked.
## Developing
To run tests successfully, you must have both npm and yarn in your `$PATH`.
## LICENSE
MIT