lnr

0.2.0 • Public • Published

lnr build status

Recursively soft links all occurrences of a directory to another one.

lnr ../myapp-core core --filter package

When do I need this?

Let's say you have a core package that is used by lots of your dependencies, some nested deeply in your dependency tree. Now you want to work on the core package and make sure that all of them link to the code you are working on.

That's when you need this.

Installation

npm install lnr

Usage

lnr <linktoDir> <dirname> -- <lnr-options>

  Links all directories with name <dirname>, found recursively from the current dir, to the <linktoDir>.
  If dirname is not supplied it defaults to the name of the directory being linked to.

OPTIONS:

  -l, --loglevel  level at which to log: silly|verbose|info|warn|error|silent -- default: info

  -f, --filter    additional filters to apply to than just matching <dirname>
                  currently existing filters are:
                    - package: matches if the directory contains an npm package, i.e. the parent
                      directory is node_modules
  
  -h, --help      Print this help message.


EXAMPLES:
  
  Link all directories with name mydir to the directory of the same name that is a sibling of my current working dir
    
    lnr ../mydir mydir

  Same as above, but omitting the dirname since it is the same as the name of the directory being linked to
    
    lnr ../mydir mydir

  Link all directories with name mydir to the directory of the same name that is a sibling of my current working dir and
  an npm package and log verbose.
    
    lnr ../mydir mydir --filter package -l verbose

API

lnr(root, dirname, linktoDir, opts, cb) → {Object}

Starts at given root and recurses into all subdirectories. Each directory found whose name matches dirname is linked to linktoDir.

Parameters:
Name Type Description
root string

directory at which to start searching

dirname string

directory to link

linktoDir string

destination directory to link to

opts Object

options that allow customizing which directories are linked

Properties
Name Type Description
dirFilter function

if provided only directories for which this function returns true are linked

cb function

called back when all directories were linked

Source:
Returns:

event emitter that emits events about the linking progress info|verbose|warn|error

Type
Object

lnr::package(p) → {boolean}

A built in filter that returns true if the directory is considered an npm package. This is determined by ensuring that the parent directory is node_modules

Parameters:
Name Type Description
p string

full path to the directory to test

Source:
Returns:

true if it is a package, otherwise false

Type
boolean

generated with docme

License

MIT

Package Sidebar

Install

npm i lnr

Weekly Downloads

3

Version

0.2.0

License

MIT

Last publish

Collaborators

  • thlorenz