Home

Awesome

Yalc

Better workflow than npm | yarn link for package authors.

Why

When developing and authoring multiple packages (private or public), you often find yourself in need of using the latest/WIP versions in other projects that you are working on in your local environment without publishing those packages to the remote registry. NPM and Yarn address this issue with a similar approach of symlinked packages (npm/yarn link). Though this may work in many cases, it often brings nasty constraints and problems with dependency resolution, symlink interoperability between file systems, etc.

What

Installation

npm (scoped) Build Status

Using NPM:

npm i yalc -g

Using Yarn:

yarn global add yalc

Some documented features might not have been published yet, see the change log.

Usage

Publish

Add

Link

Update

Remove

Installations

Advanced usage

Pushing updates automatically to all installations

Keep it out of git

Keep it in git

Publish/push sub-projects

Retreat and Restore

Use with Yarn/Pnpm workspaces

Use if you will try to add repo in workspaces enabled package, --pure option will be used by default, so package.json and modules folder will not be touched.

Then you add yalc'ed package folder to workspaces in package.json (you may just add .yalc/* and .yalc/@*/* patterns). While update (or push) operation, packages content will be updated automatically and yarn will care about everything else.

If you want to override default pure behavior use --no-pure flag.

Clean up installations file

Override default package store folder

Control output

Set default options via .yalcrc

Related links

Licence

WTF.