@loopmode/crosslink

0.4.0 • Public • Published

crosslink

A utility for creating symlinks to node packages based on globs.

A symlink is created from each glob result on the left side to each glob result on the right side. Note that the globs on the left side only match node packages (folders with package.json)

Supports scoped package names.

Installation

Install it as a global tool or as a dependency in your project.

# global install
npm install -g @loopmode/crosslink

# just in this project
yarn add @loopmode/crosslink --dev

Or don't install at all and use npx instead (available since npm@5.2.0). Unfortunately, when using npx, you must specify the full package name including scope: npx @loopmode/crosslink.

Usage

Provide crosslink definitions in the format sourceGlob -> targetGlob in a separate file or your existing package.json. Then run crosslink in the folder.

# local installation
yarn crosslink

# global installation
crosslink

# no installation
npx @loopmode/crosslink

Definitions fille

using .crosslink text file

One definition per line:

common/packages/* -> client/node_modules
common/packages/* -> server/node_modules

using .crosslink json file

Have a crosslink array of definitions:

{
    "crosslink": [
        "common/packages/* -> client/node_modules",
        "common/packages/* -> server/node_modules"
    ]
}

using package.json

You might just as well use your existing package.json and define a "crosslink" array inside of it.

Options

Run with --help for details.

Usage: crosslink [target]

Options:
  -V, --version                output the version number
  -f, --filename [filename]    specify name of definition files (default: "{.crosslink,package.json}")
  -p, --propname [propname]    specify name of property in JSON definitions (default: "crosslink")
  -r, --recursive [recursive]  scan for definition files recursively (default: false)
  -o, --overwrite [overwrite]  overwrite existing target (default: false)
  -d, --dry [dry]              perform a dry run and report, do not create symlinks (default: false)
  --noscope [noscope]          do not create intermediary scope folder (default: false)
  -h, --help                   output usage information

Commands:
  link [options] <definition>

  Arguments:

     target                      The directory in which to operate (default: .)

Dependents (0)

Package Sidebar

Install

npm i @loopmode/crosslink

Weekly Downloads

52

Version

0.4.0

License

MIT

Unpacked Size

35.2 kB

Total Files

9

Last publish

Collaborators

  • loopmode