yarn / 3.1.1 / getting-started / recipes.html /

7. Recipes

TypeScript + PnP quick start:

  • Initialize the repo using Yarn 2:
yarn init -2
yarn add --dev typescript
yarn dlx @yarnpkg/sdks vscode
yarn plugin import typescript

Running a Yarn CLI command in the specified directory:

  • Starting a new library inside a monorepo directly, without manually creating directories for it.
yarn packages/my-new-lib init
  • Running an arbitrary command inside a specific workspace:
yarn packages/app tsc --noEmit

Hybrid PnP + node_modules mono-repo:

You may sometimes need to use node_modules on just part of your workspace (for example, if you use Angular or React-Native).

  • Create a separate directory for the node_modules project.
mkdir nm-packages/myproj
  • Create an empty lockfile in the new project. Yarn uses lockfiles to locate the root of projects.
touch nm-packages/myproj/yarn.lock
  • Add a .yarnrc.yml file inside the new directory that enables node_modules just for it (nm-packages/myproj/.yarnrc.yml):
nodeLinker: node-modules
  • Add a PnP ignore pattern for this path in your main .yarnrc.yml at the root of your monorepo:
pnpIgnorePatterns:
  - ./nm-packages/**
  • Run yarn to apply pnpIgnorePatterns in the repo root.
  • Run cd nm-packages/myproj && yarn to install the now isolated project.

© 2016–present Yarn Contributors
Licensed under the BSD License.
https://yarnpkg.com/getting-started/recipes