pnpm-workspace.yaml
pnpm-workspace.yaml 定义了 workspace 的根目录,并使你能够包含/排除工作区中的目录。如果省略 packages 字段,则工作区中仅包含根包。
例如:
🌐 For example:
pnpm-workspace.yaml
packages:
# specify a package in a direct subdir of the root
- 'my-app'
# all packages in direct subdirs of packages/
- 'packages/*'
# all packages in subdirs of components/
- 'components/**'
# exclude packages that are inside test directories
- '!**/test/**'
即使使用自定义位置通配符,根包也始终包含在内。
🌐 The root package is always included, even when custom location wildcards are used.
目录也在 pnpm-workspace.yaml 文件中定义。详情请参见 目录。
🌐 Catalogs are also defined in the pnpm-workspace.yaml file. See Catalogs for details.
pnpm-workspace.yaml
packages:
- 'packages/*'
catalog:
chalk: ^4.1.2
catalogs:
react16:
react: ^16.7.0
react-dom: ^16.7.0
react17:
react: ^17.10.0
react-dom: ^17.10.0
packageConfigs
新增于:v11.0.0
🌐 Added in: v11.0.0
允许为单个工作区包设置项目特定的配置。这取代了工作区项目特定的 .npmrc 文件。
🌐 Allows setting project-specific configuration for individual workspace packages. This replaces workspace project-specific .npmrc files.
packageConfigs 可以指定为包名称到配置对象的映射:
pnpm-workspace.yaml
packages:
- "packages/project-1"
- "packages/project-2"
packageConfigs:
"project-1":
saveExact: true
"project-2":
savePrefix: "~"
或者作为模式匹配规则的数组:
🌐 Or as an array of pattern-matched rules:
pnpm-workspace.yaml
packages:
- "packages/project-1"
- "packages/project-2"
packageConfigs:
- match: ["project-1", "project-2"]
modulesDir: "node_modules"
saveExact: true