0.0.29 • Published 3 years ago

yarn-exclude v0.0.29

Weekly downloads
467
License
MIT
Repository
github
Last release
3 years ago

yarn-exclude

** Note: This package isn't actively maintained- I wouldn't recommend using it for anything other than experimentation. **

Tool for excluding specific workspaces when installing project packages in a yarn 1 monorepo.

Installation

  npm i -g yarn-exclude

or to just start using without the global install:

  npx yarn-exclude --exclude package-name

Overview

This library provides a way to exclude packages in a yarn monorepo when running yarn install, only installing dependencies for the desired workspaces. The main intended use case is for easily deploying a single workspace to a CI environment.

This is accomplished by temporarily modifying package.json to only contain the non-excluded workspaces before running yarn install (essentially simulating what would happen if the excluded packages were never present in the first place).

Usage

If we have the following workspaces config:

  "workspaces": {
    "packages": [
      "packages/one",
      "packages/two",
      "packages/three"
    ],
    "nohoist": ["react"]
  },

And we run:

//bypass interactive prompt for CI
NPM_CONFIG_YES=true npx yarn-exclude --exclude one,two

The result is equivalent to having a workspaces config of:

  "workspaces": {
    "packages": [
      "packages/three"
    ],
    "nohoist": ["react"]
  },

and running yarn install.

Glob and array notation for workspaces will also work.

  "workspaces": [
      "packages/*"
  },

CLI Options

-e --exclude <excluded packages> Comma separated list of excluded package
dirnames. (Required)

--cwd <directory> workspace root directory. (Default:
current working directory)

--modify Leave yarn.lock and package.json modifications in place after the operation completes. May be useful in some CI environments.

-V, --version output the version number

-h, --help display help for command options

Caveats

  • Passing additional CLI options to the underlying yarn install is not currently supported.
  • yarn-exclude will not check if the excluded workspace is actually depended upon or not by any of the included ones; you'll have to make sure of that yourself before running this.
0.0.28

3 years ago

0.0.29

3 years ago

0.0.20

4 years ago

0.0.21

4 years ago

0.0.22

4 years ago

0.0.23

4 years ago

0.0.24

4 years ago

0.0.25

4 years ago

0.0.15

4 years ago

0.0.16

4 years ago

0.0.17

4 years ago

0.0.18

4 years ago

0.0.12

4 years ago

0.0.13

4 years ago

0.0.14

4 years ago

0.0.26

4 years ago

0.0.27

4 years ago

0.0.10

4 years ago

0.0.11

4 years ago

0.0.9

4 years ago

0.0.8

4 years ago

0.0.7

4 years ago

0.0.6

4 years ago

0.0.5

4 years ago

0.0.3

4 years ago

0.0.4

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago