Skip to content
Got symlinked packages?
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.editorconfig
.eslintrc.json
.gitattributes
.gitignore
LICENSE.md
README.md
bin.js
demo.js
index.js
package-lock.json
package.json
test.js

README.md

symlinked

Node utility to list symlinks made by npm link, yarn link, or fs.link

Install

npm install symlinked

Local install as above is best practice if you are using in a shared codebase because then all developers will use the same version. CLI can be used locally via npx or via npm scripts. npm install has a --global flag you can add if you prefer global use. Yarn can be used via yarn add and yarn global add respectively if you prefer yarn.

CLI

Usage: symlinked <command> [<path>]

  Finds all linked package names of an npm package.

Commands:

  names    Get linked package names
  paths    Get linked package paths
  roots    Get linked package roots
  links    Get linked package links

Options:

  -h, --help     Display this usage info

CLI example

# Link some packages for example
npm link @songkick/promise-retry
npm link eol

$ symlinked names
@songkick/promise-retry
eol

$ symlinked paths
/Users/doe/project/node_modules/@songkick/promise-retry
/Users/doe/project/node_modules/eol

$ symlinked roots
/Users/doe/project/node_modules/@songkick/promise-retry/node_modules
/Users/doe/project/node_modules/eol/node_modules

$ symlinked links
/usr/local/lib/node_modules/@songkick/promise-retry
/usr/local/lib/node_modules/eol

API

require

const symlinked = require("symlinked")

Methods

  • symlinked.names(dir: ".") get array of linked package names
  • symlinked.paths(dir: ".") get array of linked package paths
  • symlinked.roots(dir: ".") get array of linked package roots
  • symlinked.links(dir: ".") get array of linked package links
  • symlinked.is(path) test if path exists and is linked
  • symlinked.read(path) read link

Examples

Ran in package directory with said dependency linked on both ends

symlinked.names()
// [ 'said' ]
symlinked.paths()
// [ '/Users/jdoe/symlinked/node_modules/said' ]
symlinked.roots()
// [ '/Users/jdoe/symlinked/node_modules/said/node_modules' ]
symlinked.links()
// [ '/Users/said' ]

Webpack

resolve.modules configuration to resolve dependencies of linked dependencies

module.exports = {
  resolve: {
    modules: ["node_modules"].concat(symlinked.roots())
  }
}
You can’t perform that action at this time.