projen 0.101.5 → 0.101.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/.jsii +5135 -463
  2. package/lib/ai-instructions.js +2 -2
  3. package/lib/awscdk/auto-discover.js +6 -6
  4. package/lib/awscdk/awscdk-app-java.js +1 -1
  5. package/lib/awscdk/awscdk-app-py.js +1 -1
  6. package/lib/awscdk/awscdk-app-ts.js +1 -1
  7. package/lib/awscdk/awscdk-construct.js +1 -1
  8. package/lib/awscdk/awscdk-deps-java.js +1 -1
  9. package/lib/awscdk/awscdk-deps-js.js +1 -1
  10. package/lib/awscdk/awscdk-deps-py.js +1 -1
  11. package/lib/awscdk/awscdk-deps.js +1 -1
  12. package/lib/awscdk/cdk-config.js +3 -3
  13. package/lib/awscdk/cdk-tasks.js +1 -1
  14. package/lib/awscdk/integration-test.js +1 -1
  15. package/lib/awscdk/lambda-extension.js +1 -1
  16. package/lib/awscdk/lambda-function.js +2 -2
  17. package/lib/build/build-workflow.js +1 -1
  18. package/lib/cdk/auto-discover-base.js +2 -2
  19. package/lib/cdk/construct-lib.js +1 -1
  20. package/lib/cdk/integration-test-base.js +1 -1
  21. package/lib/cdk/jsii-build.js +1 -1
  22. package/lib/cdk/jsii-docgen.js +1 -1
  23. package/lib/cdk/jsii-project.js +1 -1
  24. package/lib/cdk8s/auto-discover.js +2 -2
  25. package/lib/cdk8s/cdk8s-app-py.js +1 -1
  26. package/lib/cdk8s/cdk8s-app-ts.js +1 -1
  27. package/lib/cdk8s/cdk8s-construct.js +1 -1
  28. package/lib/cdk8s/cdk8s-deps-py.js +1 -1
  29. package/lib/cdk8s/cdk8s-deps.js +1 -1
  30. package/lib/cdk8s/integration-test.js +1 -1
  31. package/lib/cdktf/cdktf-construct.js +1 -1
  32. package/lib/circleci/circleci.js +1 -1
  33. package/lib/cli/util.js +2 -2
  34. package/lib/component.js +2 -2
  35. package/lib/dependencies.js +1 -1
  36. package/lib/dev-env.js +1 -1
  37. package/lib/docker-compose/docker-compose-service.js +1 -1
  38. package/lib/docker-compose/docker-compose.js +1 -1
  39. package/lib/file.js +1 -1
  40. package/lib/gitattributes.js +1 -1
  41. package/lib/github/actions-provider.js +1 -1
  42. package/lib/github/auto-approve.js +1 -1
  43. package/lib/github/auto-merge.js +1 -1
  44. package/lib/github/auto-queue.js +1 -1
  45. package/lib/github/dependabot.js +1 -1
  46. package/lib/github/dependency-review.js +1 -1
  47. package/lib/github/github-credentials.js +1 -1
  48. package/lib/github/github-project.js +1 -1
  49. package/lib/github/github.js +1 -1
  50. package/lib/github/merge-queue.js +1 -1
  51. package/lib/github/mergify.js +1 -1
  52. package/lib/github/pr-template.js +1 -1
  53. package/lib/github/pull-request-backport.js +1 -1
  54. package/lib/github/pull-request-lint.js +1 -1
  55. package/lib/github/stale.js +1 -1
  56. package/lib/github/task-workflow-job.js +1 -1
  57. package/lib/github/task-workflow.js +1 -1
  58. package/lib/github/workflow-actions.js +1 -1
  59. package/lib/github/workflow-jobs.js +1 -1
  60. package/lib/github/workflow-steps.js +1 -1
  61. package/lib/github/workflows-model.d.ts +59 -0
  62. package/lib/github/workflows-model.js +1 -1
  63. package/lib/github/workflows.js +7 -2
  64. package/lib/gitlab/configuration.js +1 -1
  65. package/lib/gitlab/gitlab-configuration.js +1 -1
  66. package/lib/gitlab/nested-configuration.js +1 -1
  67. package/lib/gitpod.js +1 -1
  68. package/lib/ignore-file.js +1 -1
  69. package/lib/ini.js +1 -1
  70. package/lib/java/java-project.js +1 -1
  71. package/lib/java/junit.js +1 -1
  72. package/lib/java/maven-compile.js +1 -1
  73. package/lib/java/maven-packaging.js +1 -1
  74. package/lib/java/maven-sample.js +1 -1
  75. package/lib/java/pom.js +2 -2
  76. package/lib/java/projenrc.js +1 -1
  77. package/lib/javascript/biome/biome.js +1 -1
  78. package/lib/javascript/bundler.js +1 -1
  79. package/lib/javascript/eslint.js +1 -1
  80. package/lib/javascript/index.d.ts +2 -0
  81. package/lib/javascript/index.js +3 -1
  82. package/lib/javascript/jest.js +4 -4
  83. package/lib/javascript/license-checker.js +1 -1
  84. package/lib/javascript/node-package.d.ts +113 -0
  85. package/lib/javascript/node-package.js +159 -3
  86. package/lib/javascript/node-project.js +1 -1
  87. package/lib/javascript/npm-config.js +1 -1
  88. package/lib/javascript/pnpm-workspace-config.d.ts +1256 -0
  89. package/lib/javascript/pnpm-workspace-config.js +492 -0
  90. package/lib/javascript/pnpm-workspace.d.ts +23 -0
  91. package/lib/javascript/pnpm-workspace.js +34 -0
  92. package/lib/javascript/prettier.js +1 -1
  93. package/lib/javascript/projenrc.js +1 -1
  94. package/lib/javascript/typescript-config.js +2 -2
  95. package/lib/javascript/upgrade-dependencies.js +2 -2
  96. package/lib/javascript/yarnrc.js +1 -1
  97. package/lib/json-patch.js +1 -1
  98. package/lib/json.js +1 -1
  99. package/lib/license.js +1 -1
  100. package/lib/logger.js +1 -1
  101. package/lib/makefile.js +1 -1
  102. package/lib/object-file.js +1 -1
  103. package/lib/project-build.js +1 -1
  104. package/lib/project-tree.js +1 -1
  105. package/lib/project.js +1 -1
  106. package/lib/projects.js +1 -1
  107. package/lib/projenrc-json.js +1 -1
  108. package/lib/projenrc.js +1 -1
  109. package/lib/python/pip.js +1 -1
  110. package/lib/python/poetry.js +2 -2
  111. package/lib/python/projenrc.js +1 -1
  112. package/lib/python/pyproject-toml-file.js +1 -1
  113. package/lib/python/pytest-sample.js +1 -1
  114. package/lib/python/pytest.js +1 -1
  115. package/lib/python/python-project.js +1 -1
  116. package/lib/python/python-sample.js +1 -1
  117. package/lib/python/requirements-file.js +1 -1
  118. package/lib/python/setuppy.js +1 -1
  119. package/lib/python/setuptools.js +1 -1
  120. package/lib/python/uv.js +1 -1
  121. package/lib/python/venv.js +1 -1
  122. package/lib/readme.js +1 -1
  123. package/lib/release/publisher.js +1 -1
  124. package/lib/release/release-trigger.js +1 -1
  125. package/lib/release/release.js +1 -1
  126. package/lib/renovatebot.js +1 -1
  127. package/lib/run-task.cjs +9 -1
  128. package/lib/sample-file.js +2 -2
  129. package/lib/script-runner.js +1 -1
  130. package/lib/source-code.js +1 -1
  131. package/lib/task-shell.js +1 -1
  132. package/lib/task.js +1 -1
  133. package/lib/tasks.js +1 -1
  134. package/lib/testing.js +1 -1
  135. package/lib/textfile.js +1 -1
  136. package/lib/toml.js +1 -1
  137. package/lib/typescript/projenrc-ts.js +1 -1
  138. package/lib/typescript/projenrc.js +1 -1
  139. package/lib/typescript/typescript-runner.js +1 -1
  140. package/lib/typescript/typescript-typedoc.js +1 -1
  141. package/lib/typescript/typescript.js +5 -5
  142. package/lib/version.js +2 -2
  143. package/lib/vscode/devcontainer.js +1 -1
  144. package/lib/vscode/extensions.js +1 -1
  145. package/lib/vscode/launch-config.js +1 -1
  146. package/lib/vscode/settings.js +1 -1
  147. package/lib/vscode/vscode.js +1 -1
  148. package/lib/web/next.js +3 -3
  149. package/lib/web/postcss.js +1 -1
  150. package/lib/web/react.js +3 -3
  151. package/lib/web/tailwind.js +1 -1
  152. package/lib/xmlfile.js +1 -1
  153. package/lib/yaml.js +1 -1
  154. package/package.json +9 -1
@@ -0,0 +1,1256 @@
1
+ /**
2
+ * JSON schema for pnpm-workspace.yaml files
3
+ *
4
+ * @schema PnpmWorkspaceYamlSchema
5
+ */
6
+ export interface PnpmWorkspaceYamlSchema {
7
+ /**
8
+ * Workspace package paths. Glob patterns are supported
9
+ *
10
+ * @schema PnpmWorkspaceYamlSchema#packages
11
+ */
12
+ readonly packages?: string[];
13
+ /**
14
+ * Define dependency version ranges as reusable constants,
15
+ * for later reference in package.json files.
16
+ * This (singular) field creates a catalog named default.
17
+ *
18
+ *
19
+ * @schema PnpmWorkspaceYamlSchema#catalog
20
+ */
21
+ readonly catalog?: {
22
+ [key: string]: string;
23
+ };
24
+ /**
25
+ * Define arbitrarily named catalogs
26
+ *
27
+ * @schema PnpmWorkspaceYamlSchema#catalogs
28
+ */
29
+ readonly catalogs?: {
30
+ [key: string]: {
31
+ [key: string]: string;
32
+ };
33
+ };
34
+ /**
35
+ * Controlling if and how dependencies are added to the default catalog
36
+ *
37
+ * @schema PnpmWorkspaceYamlSchema#catalogMode
38
+ */
39
+ readonly catalogMode?: PnpmWorkspaceYamlSchemaCatalogMode;
40
+ /**
41
+ * When set to `true`, pnpm will remove unused catalog entries during installation.
42
+ *
43
+ * @schema PnpmWorkspaceYamlSchema#cleanupUnusedCatalogs
44
+ */
45
+ readonly cleanupUnusedCatalogs?: boolean;
46
+ /**
47
+ * A list of package names that are allowed to be executed during installation.
48
+ *
49
+ * @schema PnpmWorkspaceYamlSchema#onlyBuiltDependencies
50
+ */
51
+ readonly onlyBuiltDependencies?: string[];
52
+ /**
53
+ * Used to override any dependency in the dependency graph.
54
+ *
55
+ * @schema PnpmWorkspaceYamlSchema#overrides
56
+ */
57
+ readonly overrides?: any;
58
+ /**
59
+ * Used to extend the existing package definitions with additional information.
60
+ *
61
+ * @schema PnpmWorkspaceYamlSchema#packageExtensions
62
+ */
63
+ readonly packageExtensions?: any;
64
+ /**
65
+ * @schema PnpmWorkspaceYamlSchema#peerDependencyRules
66
+ */
67
+ readonly peerDependencyRules?: PnpmWorkspaceYamlSchemaPeerDependencyRules;
68
+ /**
69
+ * A list of dependencies to run builds for.
70
+ *
71
+ * @schema PnpmWorkspaceYamlSchema#neverBuiltDependencies
72
+ */
73
+ readonly neverBuiltDependencies?: string[];
74
+ /**
75
+ * If set to true, all build scripts (e.g. preinstall, install, postinstall) from dependencies will run automatically, without requiring approval.
76
+ *
77
+ * @schema PnpmWorkspaceYamlSchema#dangerouslyAllowAllBuilds
78
+ */
79
+ readonly dangerouslyAllowAllBuilds?: boolean;
80
+ /**
81
+ * Specifies a JSON file that lists the only packages permitted to run installation scripts during the pnpm install process.
82
+ *
83
+ * @schema PnpmWorkspaceYamlSchema#onlyBuiltDependenciesFile
84
+ */
85
+ readonly onlyBuiltDependenciesFile?: string;
86
+ /**
87
+ * A list of package names that should not be built during installation.
88
+ *
89
+ * @schema PnpmWorkspaceYamlSchema#ignoredBuiltDependencies
90
+ */
91
+ readonly ignoredBuiltDependencies?: string[];
92
+ /**
93
+ * A list of deprecated versions that the warnings are suppressed.
94
+ *
95
+ * @schema PnpmWorkspaceYamlSchema#allowedDeprecatedVersions
96
+ */
97
+ readonly allowedDeprecatedVersions?: {
98
+ [key: string]: string;
99
+ };
100
+ /**
101
+ * A list of dependencies that are patched.
102
+ *
103
+ * @schema PnpmWorkspaceYamlSchema#patchedDependencies
104
+ */
105
+ readonly patchedDependencies?: {
106
+ [key: string]: string;
107
+ };
108
+ /**
109
+ * When true, installation won't fail if some of the patches from the "patchedDependencies" field were not applied. (Previously named "allowNonAppliedPatches")
110
+ *
111
+ * @schema PnpmWorkspaceYamlSchema#allowUnusedPatches
112
+ */
113
+ readonly allowUnusedPatches?: boolean;
114
+ /**
115
+ * When true, installation won't fail if some of the patches from the "patchedDependencies" field were not applied.
116
+ *
117
+ * @schema PnpmWorkspaceYamlSchema#allowNonAppliedPatches
118
+ */
119
+ readonly allowNonAppliedPatches?: boolean;
120
+ /**
121
+ * Default is undefined. Errors out when a patch with an exact version or version range fails. Ignores failures from name-only patches. When true, prints a warning instead of failing when any patch cannot be applied. When false, errors out for any patch failure.
122
+ *
123
+ * @default undefined. Errors out when a patch with an exact version or version range fails. Ignores failures from name-only patches. When true, prints a warning instead of failing when any patch cannot be applied. When false, errors out for any patch failure.
124
+ * @schema PnpmWorkspaceYamlSchema#ignorePatchFailures
125
+ */
126
+ readonly ignorePatchFailures?: boolean;
127
+ /**
128
+ * @schema PnpmWorkspaceYamlSchema#updateConfig
129
+ */
130
+ readonly updateConfig?: PnpmWorkspaceYamlSchemaUpdateConfig;
131
+ /**
132
+ * Config dependencies allow you to share and centralize configuration files, settings, and hooks across multiple projects. They are installed before all regular dependencies ('dependencies', 'devDependencies', 'optionalDependencies'), making them ideal for setting up custom hooks, patches, and catalog entries.
133
+ *
134
+ * @schema PnpmWorkspaceYamlSchema#configDependencies
135
+ */
136
+ readonly configDependencies?: any;
137
+ /**
138
+ * @schema PnpmWorkspaceYamlSchema#auditConfig
139
+ */
140
+ readonly auditConfig?: PnpmWorkspaceYamlSchemaAuditConfig;
141
+ /**
142
+ * A list of scripts that must exist in each project.
143
+ *
144
+ * @schema PnpmWorkspaceYamlSchema#requiredScripts
145
+ */
146
+ readonly requiredScripts?: string[];
147
+ /**
148
+ * Specifies architectures for which you'd like to install optional dependencies, even if they don't match the architecture of the system running the install.
149
+ *
150
+ * @schema PnpmWorkspaceYamlSchema#supportedArchitectures
151
+ */
152
+ readonly supportedArchitectures?: PnpmWorkspaceYamlSchemaSupportedArchitectures;
153
+ /**
154
+ * A list of optional dependencies that the install should be skipped.
155
+ *
156
+ * @schema PnpmWorkspaceYamlSchema#ignoredOptionalDependencies
157
+ */
158
+ readonly ignoredOptionalDependencies?: string[];
159
+ /**
160
+ * @schema PnpmWorkspaceYamlSchema#executionEnv
161
+ */
162
+ readonly executionEnv?: PnpmWorkspaceYamlSchemaExecutionEnv;
163
+ /**
164
+ * When true, all dependencies are hoisted to node_modules/.pnpm/node_modules.
165
+ *
166
+ * @schema PnpmWorkspaceYamlSchema#hoist
167
+ */
168
+ readonly hoist?: boolean;
169
+ /**
170
+ * When true, packages from the workspaces are symlinked to either <workspace_root>/node_modules/.pnpm/node_modules or to <workspace_root>/node_modules depending on other hoisting settings (hoistPattern and publicHoistPattern).
171
+ *
172
+ * @schema PnpmWorkspaceYamlSchema#hoistWorkspacePackages
173
+ */
174
+ readonly hoistWorkspacePackages?: boolean;
175
+ /**
176
+ * Tells pnpm which packages should be hoisted to node_modules/.pnpm/node_modules
177
+ *
178
+ * @schema PnpmWorkspaceYamlSchema#hoistPattern
179
+ */
180
+ readonly hoistPattern?: string[];
181
+ /**
182
+ * Unlike hoistPattern, which hoists dependencies to a hidden modules directory inside the virtual store, publicHoistPattern hoists dependencies matching the pattern to the root modules directory.
183
+ *
184
+ * @schema PnpmWorkspaceYamlSchema#publicHoistPattern
185
+ */
186
+ readonly publicHoistPattern?: string[];
187
+ /**
188
+ * By default, pnpm creates a semistrict node_modules, meaning dependencies have access to undeclared dependencies but modules outside of node_modules do not.
189
+ *
190
+ * @schema PnpmWorkspaceYamlSchema#shamefullyHoist
191
+ */
192
+ readonly shamefullyHoist?: boolean;
193
+ /**
194
+ * The directory in which dependencies will be installed (instead of node_modules).
195
+ *
196
+ * @schema PnpmWorkspaceYamlSchema#modulesDir
197
+ */
198
+ readonly modulesDir?: string;
199
+ /**
200
+ * Defines what linker should be used for installing Node packages.
201
+ *
202
+ * @schema PnpmWorkspaceYamlSchema#nodeLinker
203
+ */
204
+ readonly nodeLinker?: PnpmWorkspaceYamlSchemaNodeLinker;
205
+ /**
206
+ * When symlink is set to false, pnpm creates a virtual store directory without any symlinks. It is a useful setting together with nodeLinker=pnp.
207
+ *
208
+ * @schema PnpmWorkspaceYamlSchema#symlink
209
+ */
210
+ readonly symlink?: boolean;
211
+ /**
212
+ * When false, pnpm will not write any files to the modules directory (node_modules).
213
+ *
214
+ * @schema PnpmWorkspaceYamlSchema#enableModulesDir
215
+ */
216
+ readonly enableModulesDir?: boolean;
217
+ /**
218
+ * The directory with links to the store.
219
+ *
220
+ * @schema PnpmWorkspaceYamlSchema#virtualStoreDir
221
+ */
222
+ readonly virtualStoreDir?: string;
223
+ /**
224
+ * Sets the maximum allowed length of directory names inside the virtual store directory (node_modules/.pnpm).
225
+ *
226
+ * @schema PnpmWorkspaceYamlSchema#virtualStoreDirMaxLength
227
+ */
228
+ readonly virtualStoreDirMaxLength?: number;
229
+ /**
230
+ * Controls the way packages are imported from the store (if you want to disable symlinks inside node_modules, then you need to change the nodeLinker setting, not this one).
231
+ *
232
+ * @schema PnpmWorkspaceYamlSchema#packageImportMethod
233
+ */
234
+ readonly packageImportMethod?: PnpmWorkspaceYamlSchemaPackageImportMethod;
235
+ /**
236
+ * The time in minutes after which orphan packages from the modules directory should be removed.
237
+ *
238
+ * @schema PnpmWorkspaceYamlSchema#modulesCacheMaxAge
239
+ */
240
+ readonly modulesCacheMaxAge?: number;
241
+ /**
242
+ * The time in minutes after which dlx cache expires.
243
+ *
244
+ * @schema PnpmWorkspaceYamlSchema#dlxCacheMaxAge
245
+ */
246
+ readonly dlxCacheMaxAge?: number;
247
+ /**
248
+ * The location where all the packages are saved on the disk.
249
+ *
250
+ * @schema PnpmWorkspaceYamlSchema#storeDir
251
+ */
252
+ readonly storeDir?: string;
253
+ /**
254
+ * By default, if a file in the store has been modified, the content of this file is checked before linking it to a project's node_modules.
255
+ *
256
+ * @schema PnpmWorkspaceYamlSchema#verifyStoreIntegrity
257
+ */
258
+ readonly verifyStoreIntegrity?: boolean;
259
+ /**
260
+ * Some registries allow the exact same content to be published under different package names and/or versions.
261
+ *
262
+ * @schema PnpmWorkspaceYamlSchema#strictStorePkgContentCheck
263
+ */
264
+ readonly strictStorePkgContentCheck?: boolean;
265
+ /**
266
+ * When enabled, node_modules contains only symlinks to a central virtual store, rather than to node_modules/.pnpm.
267
+ *
268
+ * @schema PnpmWorkspaceYamlSchema#enableGlobalVirtualStore
269
+ */
270
+ readonly enableGlobalVirtualStore?: boolean;
271
+ /**
272
+ * When set to false, pnpm won't read or generate a pnpm-lock.yaml file.
273
+ *
274
+ * @schema PnpmWorkspaceYamlSchema#lockfile
275
+ */
276
+ readonly lockfile?: boolean;
277
+ /**
278
+ * When set to true and the available pnpm-lock.yaml satisfies the package.json dependencies directive, a headless installation is performed.
279
+ *
280
+ * @schema PnpmWorkspaceYamlSchema#preferFrozenLockfile
281
+ */
282
+ readonly preferFrozenLockfile?: boolean;
283
+ /**
284
+ * Add the full URL to the package's tarball to every entry in pnpm-lock.yaml.
285
+ *
286
+ * @schema PnpmWorkspaceYamlSchema#lockfileIncludeTarballUrl
287
+ */
288
+ readonly lockfileIncludeTarballUrl?: boolean;
289
+ /**
290
+ * When set to true, the generated lockfile name after installation will be named based on the current branch name to completely avoid merge conflicts.
291
+ *
292
+ * @schema PnpmWorkspaceYamlSchema#gitBranchLockfile
293
+ */
294
+ readonly gitBranchLockfile?: boolean;
295
+ /**
296
+ * This configuration matches the current branch name to determine whether to merge all git branch lockfile files.
297
+ *
298
+ * @schema PnpmWorkspaceYamlSchema#mergeGitBranchLockfilesBranchPattern
299
+ */
300
+ readonly mergeGitBranchLockfilesBranchPattern?: any[];
301
+ /**
302
+ * Max length of the peer IDs suffix added to dependency keys in the lockfile. If the suffix is longer, it is replaced with a hash.
303
+ *
304
+ * @schema PnpmWorkspaceYamlSchema#peersSuffixMaxLength
305
+ */
306
+ readonly peersSuffixMaxLength?: number;
307
+ /**
308
+ * The base URL of the npm package registry (trailing slash included).
309
+ *
310
+ * @schema PnpmWorkspaceYamlSchema#registry
311
+ */
312
+ readonly registry?: string;
313
+ /**
314
+ * The Certificate Authority signing certificate that is trusted for SSL connections to the registry.
315
+ *
316
+ * @schema PnpmWorkspaceYamlSchema#ca
317
+ */
318
+ readonly ca?: string;
319
+ /**
320
+ * A path to a file containing one or multiple Certificate Authority signing certificates.
321
+ *
322
+ * @schema PnpmWorkspaceYamlSchema#cafile
323
+ */
324
+ readonly cafile?: string;
325
+ /**
326
+ * A client certificate to pass when accessing the registry.
327
+ *
328
+ * @schema PnpmWorkspaceYamlSchema#cert
329
+ */
330
+ readonly cert?: string;
331
+ /**
332
+ * A client key to pass when accessing the registry.
333
+ *
334
+ * @schema PnpmWorkspaceYamlSchema#key
335
+ */
336
+ readonly key?: string;
337
+ /**
338
+ * When fetching dependencies that are Git repositories, if the host is listed in this setting, pnpm will use shallow cloning to fetch only the needed commit, not all the history.
339
+ *
340
+ * @schema PnpmWorkspaceYamlSchema#gitShallowHosts
341
+ */
342
+ readonly gitShallowHosts?: string[];
343
+ /**
344
+ * A proxy to use for outgoing HTTPS requests. If the HTTPS_PROXY, https_proxy, HTTP_PROXY or http_proxy environment variables are set, their values will be used instead.
345
+ *
346
+ * @schema PnpmWorkspaceYamlSchema#httpsProxy
347
+ */
348
+ readonly httpsProxy?: string;
349
+ /**
350
+ * A proxy to use for outgoing http requests. If the HTTP_PROXY or http_proxy environment variables are set, proxy settings will be honored by the underlying request library.
351
+ *
352
+ * @schema PnpmWorkspaceYamlSchema#proxy
353
+ */
354
+ readonly proxy?: string;
355
+ /**
356
+ * The IP address of the local interface to use when making connections to the npm registry.
357
+ *
358
+ * @schema PnpmWorkspaceYamlSchema#localAddress
359
+ */
360
+ readonly localAddress?: string;
361
+ /**
362
+ * The maximum number of connections to use per origin (protocol/host/port combination).
363
+ *
364
+ * @schema PnpmWorkspaceYamlSchema#maxsockets
365
+ */
366
+ readonly maxsockets?: number;
367
+ /**
368
+ * A comma-separated string of domain extensions that a proxy should not be used for.
369
+ *
370
+ * @schema PnpmWorkspaceYamlSchema#noproxy
371
+ */
372
+ readonly noproxy?: string;
373
+ /**
374
+ * Whether or not to do SSL key validation when making requests to the registry via HTTPS.
375
+ *
376
+ * @schema PnpmWorkspaceYamlSchema#strictSsl
377
+ */
378
+ readonly strictSsl?: boolean;
379
+ /**
380
+ * Controls the maximum number of HTTP(S) requests to process simultaneously.
381
+ *
382
+ * @schema PnpmWorkspaceYamlSchema#networkConcurrency
383
+ */
384
+ readonly networkConcurrency?: number;
385
+ /**
386
+ * How many times to retry if pnpm fails to fetch from the registry.
387
+ *
388
+ * @schema PnpmWorkspaceYamlSchema#fetchRetries
389
+ */
390
+ readonly fetchRetries?: number;
391
+ /**
392
+ * The exponential factor for retry backoff.
393
+ *
394
+ * @schema PnpmWorkspaceYamlSchema#fetchRetryFactor
395
+ */
396
+ readonly fetchRetryFactor?: number;
397
+ /**
398
+ * The minimum (base) timeout for retrying requests.
399
+ *
400
+ * @schema PnpmWorkspaceYamlSchema#fetchRetryMintimeout
401
+ */
402
+ readonly fetchRetryMintimeout?: number;
403
+ /**
404
+ * The maximum fallback timeout to ensure the retry factor does not make requests too long.
405
+ *
406
+ * @schema PnpmWorkspaceYamlSchema#fetchRetryMaxtimeout
407
+ */
408
+ readonly fetchRetryMaxtimeout?: number;
409
+ /**
410
+ * The maximum amount of time to wait for HTTP requests to complete.
411
+ *
412
+ * @schema PnpmWorkspaceYamlSchema#fetchTimeout
413
+ */
414
+ readonly fetchTimeout?: number;
415
+ /**
416
+ * When true, any missing non-optional peer dependencies are automatically installed.
417
+ *
418
+ * @schema PnpmWorkspaceYamlSchema#autoInstallPeers
419
+ */
420
+ readonly autoInstallPeers?: boolean;
421
+ /**
422
+ * When this setting is set to true, packages with peer dependencies will be deduplicated after peers resolution.
423
+ *
424
+ * @schema PnpmWorkspaceYamlSchema#dedupePeerDependents
425
+ */
426
+ readonly dedupePeerDependents?: boolean;
427
+ /**
428
+ * If this is enabled, commands will fail if there is a missing or invalid peer dependency in the tree.
429
+ *
430
+ * @schema PnpmWorkspaceYamlSchema#strictPeerDependencies
431
+ */
432
+ readonly strictPeerDependencies?: boolean;
433
+ /**
434
+ * When enabled, dependencies of the root workspace project are used to resolve peer dependencies of any projects in the workspace.
435
+ *
436
+ * @schema PnpmWorkspaceYamlSchema#resolvePeersFromWorkspaceRoot
437
+ */
438
+ readonly resolvePeersFromWorkspaceRoot?: boolean;
439
+ /**
440
+ * Controls colors in the output.
441
+ *
442
+ * @schema PnpmWorkspaceYamlSchema#color
443
+ */
444
+ readonly color?: PnpmWorkspaceYamlSchemaColor;
445
+ /**
446
+ * Any logs at or higher than the given level will be shown.
447
+ *
448
+ * @schema PnpmWorkspaceYamlSchema#loglevel
449
+ */
450
+ readonly loglevel?: PnpmWorkspaceYamlSchemaLoglevel;
451
+ /**
452
+ * Allows you to customize the output style of the logs.
453
+ * https://pnpm.io/cli/install#--reportername
454
+ *
455
+ * @schema PnpmWorkspaceYamlSchema#reporter
456
+ */
457
+ readonly reporter?: PnpmWorkspaceYamlSchemaReporter;
458
+ /**
459
+ * Experimental option that enables beta features of the CLI.
460
+ *
461
+ * @schema PnpmWorkspaceYamlSchema#useBetaCli
462
+ */
463
+ readonly useBetaCli?: boolean;
464
+ /**
465
+ * If this is enabled, the primary behaviour of pnpm install becomes that of pnpm install -r, meaning the install is performed on all workspace or subdirectory packages.
466
+ *
467
+ * @schema PnpmWorkspaceYamlSchema#recursiveInstall
468
+ */
469
+ readonly recursiveInstall?: boolean;
470
+ /**
471
+ * If this is enabled, pnpm will not install any package that claims to not be compatible with the current Node version.
472
+ *
473
+ * @schema PnpmWorkspaceYamlSchema#engineStrict
474
+ */
475
+ readonly engineStrict?: boolean;
476
+ /**
477
+ * The location of the npm binary that pnpm uses for some actions, like publishing.
478
+ *
479
+ * @schema PnpmWorkspaceYamlSchema#npmPath
480
+ */
481
+ readonly npmPath?: string;
482
+ /**
483
+ * If this setting is disabled, pnpm will not fail if a different package manager is specified in the packageManager field of package.json. When enabled, only the package name is checked (since pnpm v9.2.0), so you can still run any version of pnpm regardless of the version specified in the packageManager field.
484
+ *
485
+ * @schema PnpmWorkspaceYamlSchema#packageManagerStrict
486
+ */
487
+ readonly packageManagerStrict?: boolean;
488
+ /**
489
+ * When enabled, pnpm will fail if its version doesn't exactly match the version specified in the packageManager field of package.json.
490
+ *
491
+ * @schema PnpmWorkspaceYamlSchema#packageManagerStrictVersion
492
+ */
493
+ readonly packageManagerStrictVersion?: boolean;
494
+ /**
495
+ * When enabled, pnpm will automatically download and run the version of pnpm specified in the packageManager field of package.json.
496
+ *
497
+ * @schema PnpmWorkspaceYamlSchema#managePackageManagerVersions
498
+ */
499
+ readonly managePackageManagerVersions?: boolean;
500
+ /**
501
+ * Do not execute any scripts defined in the project package.json and its dependencies.
502
+ *
503
+ * @schema PnpmWorkspaceYamlSchema#ignoreScripts
504
+ */
505
+ readonly ignoreScripts?: boolean;
506
+ /**
507
+ * Do not execute any scripts of the installed packages. Scripts of the projects are executed.
508
+ *
509
+ * @schema PnpmWorkspaceYamlSchema#ignoreDepScripts
510
+ */
511
+ readonly ignoreDepScripts?: boolean;
512
+ /**
513
+ * The maximum number of child processes to allocate simultaneously to build node_modules.
514
+ *
515
+ * @schema PnpmWorkspaceYamlSchema#childConcurrency
516
+ */
517
+ readonly childConcurrency?: number;
518
+ /**
519
+ * Use and cache the results of (pre/post)install hooks.
520
+ *
521
+ * @schema PnpmWorkspaceYamlSchema#sideEffectsCache
522
+ */
523
+ readonly sideEffectsCache?: boolean;
524
+ /**
525
+ * Only use the side effects cache if present, do not create it for new packages.
526
+ *
527
+ * @schema PnpmWorkspaceYamlSchema#sideEffectsCacheReadonly
528
+ */
529
+ readonly sideEffectsCacheReadonly?: boolean;
530
+ /**
531
+ * Set to true to enable UID/GID switching when running package scripts. If set explicitly to false, then installing as a non-root user will fail.
532
+ *
533
+ * @schema PnpmWorkspaceYamlSchema#unsafePerm
534
+ */
535
+ readonly unsafePerm?: boolean;
536
+ /**
537
+ * Options to pass through to Node.js via the NODE_OPTIONS environment variable.
538
+ *
539
+ * @schema PnpmWorkspaceYamlSchema#nodeOptions
540
+ */
541
+ readonly nodeOptions?: string;
542
+ /**
543
+ * This setting allows the checking of the state of dependencies before running scripts.
544
+ *
545
+ * @schema PnpmWorkspaceYamlSchema#verifyDepsBeforeRun
546
+ */
547
+ readonly verifyDepsBeforeRun?: any;
548
+ /**
549
+ * When strictDepBuilds is enabled, the installation will exit with a non-zero exit code if any dependencies have unreviewed build scripts (aka postinstall scripts).
550
+ *
551
+ * @schema PnpmWorkspaceYamlSchema#strictDepBuilds
552
+ */
553
+ readonly strictDepBuilds?: boolean;
554
+ /**
555
+ * Specifies which exact Node.js version should be used for the project's runtime.
556
+ *
557
+ * @schema PnpmWorkspaceYamlSchema#useNodeVersion
558
+ */
559
+ readonly useNodeVersion?: string;
560
+ /**
561
+ * The Node.js version to use when checking a package's engines setting.
562
+ *
563
+ * @schema PnpmWorkspaceYamlSchema#nodeVersion
564
+ */
565
+ readonly nodeVersion?: string;
566
+ /**
567
+ * If this is enabled, locally available packages are linked to node_modules instead of being downloaded from the registry.
568
+ *
569
+ * @schema PnpmWorkspaceYamlSchema#linkWorkspacePackages
570
+ */
571
+ readonly linkWorkspacePackages?: PnpmWorkspaceYamlSchemaLinkWorkspacePackages;
572
+ /**
573
+ * Enables hard-linking of all local workspace dependencies instead of symlinking them.
574
+ *
575
+ * @schema PnpmWorkspaceYamlSchema#injectWorkspacePackages
576
+ */
577
+ readonly injectWorkspacePackages?: boolean;
578
+ /**
579
+ * Injected workspace dependencies are collections of hardlinks, which don't add or remove the files when their sources change.
580
+ *
581
+ * @schema PnpmWorkspaceYamlSchema#syncInjectedDepsAfterScripts
582
+ */
583
+ readonly syncInjectedDepsAfterScripts?: string[];
584
+ /**
585
+ * If this is enabled, local packages from the workspace are preferred over packages from the registry, even if there is a newer version of the package in the registry.
586
+ *
587
+ * @schema PnpmWorkspaceYamlSchema#preferWorkspacePackages
588
+ */
589
+ readonly preferWorkspacePackages?: boolean;
590
+ /**
591
+ * If this is enabled, pnpm creates a single pnpm-lock.yaml file in the root of the workspace.
592
+ *
593
+ * @schema PnpmWorkspaceYamlSchema#sharedWorkspaceLockfile
594
+ */
595
+ readonly sharedWorkspaceLockfile?: boolean;
596
+ /**
597
+ * This setting controls how dependencies that are linked from the workspace are added to package.json.
598
+ *
599
+ * @schema PnpmWorkspaceYamlSchema#saveWorkspaceProtocol
600
+ */
601
+ readonly saveWorkspaceProtocol?: PnpmWorkspaceYamlSchemaSaveWorkspaceProtocol;
602
+ /**
603
+ * When executing commands recursively in a workspace, execute them on the root workspace project as well.
604
+ *
605
+ * @schema PnpmWorkspaceYamlSchema#includeWorkspaceRoot
606
+ */
607
+ readonly includeWorkspaceRoot?: boolean;
608
+ /**
609
+ * When set to true, no workspace cycle warnings will be printed.
610
+ *
611
+ * @schema PnpmWorkspaceYamlSchema#ignoreWorkspaceCycles
612
+ */
613
+ readonly ignoreWorkspaceCycles?: boolean;
614
+ /**
615
+ * Adding a new dependency to the root workspace package fails, unless the --ignore-workspace-root-check or -w flag is used.
616
+ *
617
+ * @schema PnpmWorkspaceYamlSchema#ignoreWorkspaceRootCheck
618
+ */
619
+ readonly ignoreWorkspaceRootCheck?: boolean;
620
+ /**
621
+ * When set to true, installation will fail if the workspace has cycles.
622
+ *
623
+ * @schema PnpmWorkspaceYamlSchema#disallowWorkspaceCycles
624
+ */
625
+ readonly disallowWorkspaceCycles?: boolean;
626
+ /**
627
+ * Set the maximum number of tasks to run simultaneously. For unlimited concurrency use Infinity. You can set the value to <= 0 and it will use amount of CPU cores of the host minus the absolute value of the provided number as: max(1, (number of cores) - abs(workspaceConcurrency)).
628
+ *
629
+ * @schema PnpmWorkspaceYamlSchema#workspaceConcurrency
630
+ */
631
+ readonly workspaceConcurrency?: number;
632
+ /**
633
+ * If true, pnpm will fail if no packages match the filter
634
+ *
635
+ * @schema PnpmWorkspaceYamlSchema#failIfNoMatch
636
+ */
637
+ readonly failIfNoMatch?: boolean;
638
+ /**
639
+ * By default, pnpm deploy will try creating a dedicated lockfile from a shared lockfile for deployment. If this setting is set to true, the legacy deploy behavior will be used.
640
+ *
641
+ * @schema PnpmWorkspaceYamlSchema#forceLegacyDeploy
642
+ */
643
+ readonly forceLegacyDeploy?: boolean;
644
+ /**
645
+ * Configure how versions of packages installed to a package.json file get prefixed.
646
+ *
647
+ * @schema PnpmWorkspaceYamlSchema#savePrefix
648
+ */
649
+ readonly savePrefix?: PnpmWorkspaceYamlSchemaSavePrefix;
650
+ /**
651
+ * If you pnpm add a package and you don't provide a specific version, then it will install the package at the version registered under the tag from this setting.
652
+ *
653
+ * @schema PnpmWorkspaceYamlSchema#tag
654
+ */
655
+ readonly tag?: string;
656
+ /**
657
+ * Specify a custom directory to store global packages.
658
+ *
659
+ * @schema PnpmWorkspaceYamlSchema#globalDir
660
+ */
661
+ readonly globalDir?: string;
662
+ /**
663
+ * Allows to set the target directory for the bin files of globally installed packages.
664
+ *
665
+ * @schema PnpmWorkspaceYamlSchema#globalBinDir
666
+ */
667
+ readonly globalBinDir?: string;
668
+ /**
669
+ * The location where all the packages are saved on the disk.
670
+ *
671
+ * @schema PnpmWorkspaceYamlSchema#stateDir
672
+ */
673
+ readonly stateDir?: string;
674
+ /**
675
+ * The location of the cache (package metadata and dlx).
676
+ *
677
+ * @schema PnpmWorkspaceYamlSchema#cacheDir
678
+ */
679
+ readonly cacheDir?: string;
680
+ /**
681
+ * When true, all the output is written to stderr.
682
+ *
683
+ * @schema PnpmWorkspaceYamlSchema#useStderr
684
+ */
685
+ readonly useStderr?: boolean;
686
+ /**
687
+ * When true, pnpm will check for updates to the installed packages and notify the user.
688
+ *
689
+ * @schema PnpmWorkspaceYamlSchema#updateNotifier
690
+ */
691
+ readonly updateNotifier?: boolean;
692
+ /**
693
+ * Create symlinks to executables in node_modules/.bin instead of command shims. This setting is ignored on Windows, where only command shims work.
694
+ *
695
+ * @schema PnpmWorkspaceYamlSchema#preferSymlinkedExecutables
696
+ */
697
+ readonly preferSymlinkedExecutables?: boolean;
698
+ /**
699
+ * During installation the dependencies of some packages are automatically patched. If you want to disable this, set this config to false.
700
+ *
701
+ * @schema PnpmWorkspaceYamlSchema#ignoreCompatibilityDb
702
+ */
703
+ readonly ignoreCompatibilityDb?: boolean;
704
+ /**
705
+ * Determines how pnpm resolves dependencies, See https://pnpm.io/settings#resolutionmode
706
+ *
707
+ * @schema PnpmWorkspaceYamlSchema#resolutionMode
708
+ */
709
+ readonly resolutionMode?: PnpmWorkspaceYamlSchemaResolutionMode;
710
+ /**
711
+ * Set this to true if the registry that you are using returns the "time" field in the abbreviated metadata.
712
+ *
713
+ * @schema PnpmWorkspaceYamlSchema#registrySupportsTimeField
714
+ */
715
+ readonly registrySupportsTimeField?: boolean;
716
+ /**
717
+ * When false, the NODE_PATH environment variable is not set in the command shims.
718
+ *
719
+ * @schema PnpmWorkspaceYamlSchema#extendNodePath
720
+ */
721
+ readonly extendNodePath?: boolean;
722
+ /**
723
+ * When deploying a package or installing a local package, all files of the package are copied.
724
+ *
725
+ * @schema PnpmWorkspaceYamlSchema#deployAllFiles
726
+ */
727
+ readonly deployAllFiles?: boolean;
728
+ /**
729
+ * When set to true, dependencies that are already symlinked to the root node_modules directory of the workspace will not be symlinked to subproject node_modules directories.
730
+ *
731
+ * @schema PnpmWorkspaceYamlSchema#dedupeDirectDeps
732
+ */
733
+ readonly dedupeDirectDeps?: boolean;
734
+ /**
735
+ * When this setting is enabled, dependencies that are injected will be symlinked from the workspace whenever possible.
736
+ *
737
+ * @schema PnpmWorkspaceYamlSchema#dedupeInjectedDeps
738
+ */
739
+ readonly dedupeInjectedDeps?: boolean;
740
+ /**
741
+ * When enabled, a fast check will be performed before proceeding to installation. This way a repeat install or an install on a project with everything up-to-date becomes a lot faster.
742
+ *
743
+ * @schema PnpmWorkspaceYamlSchema#optimisticRepeatInstall
744
+ */
745
+ readonly optimisticRepeatInstall?: boolean;
746
+ /**
747
+ * Check if current branch is your publish branch, clean, and up-to-date with remote.
748
+ *
749
+ * @schema PnpmWorkspaceYamlSchema#gitChecks
750
+ */
751
+ readonly gitChecks?: boolean;
752
+ /**
753
+ * UNDOCUMENTED. When `true`, `pnpm publish` writes the README file's content into the published package.json (the `readme` field), so registries such as npmjs.com render the package's README. Added in pnpm 6.28.0; pnpm does not embed the README unless this is enabled. It also won't override a `readme` field already set in the package.json
754
+ *
755
+ * @schema PnpmWorkspaceYamlSchema#embedReadme
756
+ */
757
+ readonly embedReadme?: boolean;
758
+ /**
759
+ * The primary branch of the repository which is used for publishing the latest changes.
760
+ *
761
+ * @schema PnpmWorkspaceYamlSchema#publishBranch
762
+ */
763
+ readonly publishBranch?: string;
764
+ /**
765
+ * When publishing from a supported cloud CI/CD system, the package will be publicly linked to where it was built and published from.
766
+ *
767
+ * @schema PnpmWorkspaceYamlSchema#provenance
768
+ */
769
+ readonly provenance?: boolean;
770
+ /**
771
+ * The location of the local pnpmfile.
772
+ *
773
+ * @schema PnpmWorkspaceYamlSchema#pnpmfile
774
+ */
775
+ readonly pnpmfile?: string;
776
+ /**
777
+ * The location of a global pnpmfile. A global pnpmfile is used by all projects during installation.
778
+ *
779
+ * @schema PnpmWorkspaceYamlSchema#globalPnpmfile
780
+ */
781
+ readonly globalPnpmfile?: string;
782
+ /**
783
+ * .pnpmfile.cjs will be ignored. Useful together with --ignore-scripts when you want to make sure that no script gets executed during install.
784
+ *
785
+ * @schema PnpmWorkspaceYamlSchema#ignorePnpmfile
786
+ */
787
+ readonly ignorePnpmfile?: boolean;
788
+ /**
789
+ * The generated patch file will be saved to this directory.
790
+ *
791
+ * @schema PnpmWorkspaceYamlSchema#patchesDir
792
+ */
793
+ readonly patchesDir?: string;
794
+ /**
795
+ * When true, pnpm will run any pre/post scripts automatically.
796
+ *
797
+ * @schema PnpmWorkspaceYamlSchema#enablePrePostScripts
798
+ */
799
+ readonly enablePrePostScripts?: boolean;
800
+ /**
801
+ * The shell to use for scripts run with the pnpm run command.
802
+ *
803
+ * @schema PnpmWorkspaceYamlSchema#scriptShell
804
+ */
805
+ readonly scriptShell?: string;
806
+ /**
807
+ * When true, pnpm will use a JavaScript implementation of a bash-like shell to execute scripts.
808
+ *
809
+ * @schema PnpmWorkspaceYamlSchema#shellEmulator
810
+ */
811
+ readonly shellEmulator?: boolean;
812
+ /**
813
+ * Saved dependencies will be configured with an exact version rather than using pnpm's default semver range operator.
814
+ *
815
+ * @schema PnpmWorkspaceYamlSchema#saveExact
816
+ */
817
+ readonly saveExact?: boolean;
818
+ /**
819
+ * minimumReleaseAge defines the minimum number of minutes that must pass after a version is published before pnpm will install it. This applies to all dependencies, including transitive ones.
820
+ *
821
+ * @schema PnpmWorkspaceYamlSchema#minimumReleaseAge
822
+ */
823
+ readonly minimumReleaseAge?: number;
824
+ /**
825
+ * If you set `minimumReleaseAge` but need certain dependencies to always install the newest version immediately, you can list them under `minimumReleaseAgeExclude`. The exclusion works by `package name` and applies to all versions of that package.
826
+ *
827
+ * @schema PnpmWorkspaceYamlSchema#minimumReleaseAgeExclude
828
+ */
829
+ readonly minimumReleaseAgeExclude?: string[];
830
+ /**
831
+ * Controls how pnpm behaves when no version of a dependency satisfies the minimumReleaseAge constraint within the requested range.
832
+ * https://pnpm.io/settings#minimumreleaseagestrict
833
+ *
834
+ * @schema PnpmWorkspaceYamlSchema#minimumReleaseAgeStrict
835
+ */
836
+ readonly minimumReleaseAgeStrict?: boolean;
837
+ /**
838
+ * Bypass staleness checks for cached data. Missing data will still be requested from the server.
839
+ *
840
+ * @schema PnpmWorkspaceYamlSchema#preferOffline
841
+ */
842
+ readonly preferOffline?: boolean;
843
+ /**
844
+ * When set to no-downgrade, pnpm will fail if a package's trust level has decreased compared to previous releases. For example, if a package was previously published by a trusted publisher but now only has provenance or no trust evidence, installation will fail. This helps prevent installing potentially compromised versions.
845
+ *
846
+ * @schema PnpmWorkspaceYamlSchema#trustPolicy
847
+ */
848
+ readonly trustPolicy?: PnpmWorkspaceYamlSchemaTrustPolicy;
849
+ /**
850
+ * You can now list one or more specific packages or versions that pnpm should allow to install, even if those packages don't satisfy the trust policy requirement.
851
+ *
852
+ * @schema PnpmWorkspaceYamlSchema#trustPolicyExclude
853
+ */
854
+ readonly trustPolicyExclude?: string[];
855
+ /**
856
+ * A map of package matchers to explicitly allow (`true`) or disallow (`false`) script execution. This field replaces `onlyBuiltDependencies` and `ignoredBuiltDependencies` (which are also deprecated by this new setting), providing a single source of truth.
857
+ *
858
+ * @schema PnpmWorkspaceYamlSchema#allowBuilds
859
+ */
860
+ readonly allowBuilds?: any;
861
+ /**
862
+ * When set to true, it prevents the resolution of exotic protocols (like git+ssh: or direct https: tarballs) in transitive dependencies. Only direct dependencies are allowed to use exotic sources.
863
+ *
864
+ * @schema PnpmWorkspaceYamlSchema#blockExoticSubdeps
865
+ */
866
+ readonly blockExoticSubdeps?: boolean;
867
+ /**
868
+ * Allows ignoring the trust policy check for packages published more than the specified number of minutes ago. This is useful when enabling strict trust policies, as it allows older versions of packages (which may lack a process for publishing with signatures or provenance) to be installed without manual exclusion, assuming they are safe due to their age.
869
+ *
870
+ * @schema PnpmWorkspaceYamlSchema#trustPolicyIgnoreAfter
871
+ */
872
+ readonly trustPolicyIgnoreAfter?: number;
873
+ /**
874
+ * Controls the level of issues reported by `pnpm audit`. When set to 'low', all vulnerabilities are reported. When set to 'moderate', 'high', or 'critical', only vulnerabilities with that severity or higher are reported.
875
+ *
876
+ * @schema PnpmWorkspaceYamlSchema#auditLevel
877
+ */
878
+ readonly auditLevel?: PnpmWorkspaceYamlSchemaAuditLevel;
879
+ /**
880
+ * When enabled, peer dependency suffixes use version-only identifiers (`name@version`) instead of full dep paths, eliminating nested suffixes like `(foo@1.0.0(bar@2.0.0))`. This dramatically reduces the number of package instances in projects with many recursive peer dependencies.
881
+ *
882
+ * @schema PnpmWorkspaceYamlSchema#dedupePeers
883
+ */
884
+ readonly dedupePeers?: boolean;
885
+ /**
886
+ * The path to a file containing registry authentication tokens. By default, pnpm reads auth tokens from ~/.npmrc as a fallback for registry authentication. Use this setting to point to a different file instead.
887
+ *
888
+ * @schema PnpmWorkspaceYamlSchema#npmrcAuthFile
889
+ */
890
+ readonly npmrcAuthFile?: string;
891
+ /**
892
+ * When `true`, pnpm skips the `minimumReleaseAge` check for a package whose registry metadata does not include the time field (some private registries and mirrors omit it). Set to `false` to fail resolution in that case instead of installing the package.
893
+ *
894
+ * @schema PnpmWorkspaceYamlSchema#minimumReleaseAgeIgnoreMissingTime
895
+ */
896
+ readonly minimumReleaseAgeIgnoreMissingTime?: boolean;
897
+ /**
898
+ * Configure registries for scoped packages in `pnpm-workspace.yaml`. The `default` key sets the main registry (equivalent to the `registry` `.npmrc` setting). Scoped keys configure registries for specific package scopes.
899
+ *
900
+ * @schema PnpmWorkspaceYamlSchema#registries
901
+ */
902
+ readonly registries?: {
903
+ [key: string]: string;
904
+ };
905
+ /**
906
+ * When set to true, pnpm populates the virtual store without creating importer symlinks, hoisting, bin links, or running lifecycle scripts. This is useful for pre-populating a store (e.g., in Nix builds) without creating unnecessary project-level artifacts. pnpm fetch uses this mode internally.
907
+ *
908
+ * @schema PnpmWorkspaceYamlSchema#virtualStoreOnly
909
+ */
910
+ readonly virtualStoreOnly?: boolean;
911
+ /**
912
+ * Overrides the `onFail` behavior of both the `packageManager` field and `devEngines.packageManager` when the running pnpm version does not match the declared one.
913
+ *
914
+ * @schema PnpmWorkspaceYamlSchema#pmOnFail
915
+ */
916
+ readonly pmOnFail?: PnpmWorkspaceYamlSchemaPmOnFail;
917
+ /**
918
+ * Overrides the `onFail` field of `devEngines.runtime` (and `engines.runtime`) in the root project's `package.json`. This is useful when you want a different local behavior than what is written in the manifest — for instance, forcing pnpm to download the declared runtime even when the manifest sets `onFail: "warn"`.
919
+ *
920
+ * @schema PnpmWorkspaceYamlSchema#runtimeOnFail
921
+ */
922
+ readonly runtimeOnFail?: PnpmWorkspaceYamlSchemaRuntimeOnFail;
923
+ /**
924
+ * Configure custom Node.js download mirrors in `pnpm-workspace.yaml`. The keys are release channels (`release`, `rc`, `nightly`, `v8-canary`, etc.) and the values are base URLs.
925
+ *
926
+ * @schema PnpmWorkspaceYamlSchema#nodeDownloadMirrors
927
+ */
928
+ readonly nodeDownloadMirrors?: {
929
+ [key: string]: string;
930
+ };
931
+ /**
932
+ * A new trustLockfile setting controls whether pnpm install re-applies the `minimumReleaseAge` / `trustPolicy: 'no-downgrade'` checks to every entry in the loaded lockfile. When true, the install treats the lockfile as already-trusted and skips the verification pass — useful for closed-source projects where every commit comes from a trusted author. The default is false, so verification stays on by default.
933
+ *
934
+ * @schema PnpmWorkspaceYamlSchema#trustLockfile
935
+ */
936
+ readonly trustLockfile?: boolean;
937
+ /**
938
+ * Added a new hoistingLimits setting for `nodeLinker: hoisted` installs, mirroring yarn's `nmHoistingLimits`. It accepts `none` (the default — hoist as far as possible), workspaces (hoist only as far as each workspace package), or dependencies (hoist only up to each workspace package's direct dependencies).
939
+ *
940
+ * @schema PnpmWorkspaceYamlSchema#hoistingLimits
941
+ */
942
+ readonly hoistingLimits?: PnpmWorkspaceYamlSchemaHoistingLimits;
943
+ }
944
+ /**
945
+ * Converts an object of type 'PnpmWorkspaceYamlSchema' to JSON representation.
946
+ * @internal
947
+ */
948
+ export declare function toJson_PnpmWorkspaceYamlSchema(obj: PnpmWorkspaceYamlSchema | undefined): Record<string, any> | undefined;
949
+ /**
950
+ * Controlling if and how dependencies are added to the default catalog
951
+ *
952
+ * @schema PnpmWorkspaceYamlSchemaCatalogMode
953
+ */
954
+ export declare enum PnpmWorkspaceYamlSchemaCatalogMode {
955
+ /** strict */
956
+ STRICT = "strict",
957
+ /** prefer */
958
+ PREFER = "prefer",
959
+ /** manual */
960
+ MANUAL = "manual"
961
+ }
962
+ /**
963
+ * @schema PnpmWorkspaceYamlSchemaPeerDependencyRules
964
+ */
965
+ export interface PnpmWorkspaceYamlSchemaPeerDependencyRules {
966
+ /**
967
+ * pnpm will not print warnings about missing peer dependencies from this list.
968
+ *
969
+ * @schema PnpmWorkspaceYamlSchemaPeerDependencyRules#ignoreMissing
970
+ */
971
+ readonly ignoreMissing?: string[];
972
+ /**
973
+ * Unmet peer dependency warnings will not be printed for peer dependencies of the specified range.
974
+ *
975
+ * @schema PnpmWorkspaceYamlSchemaPeerDependencyRules#allowedVersions
976
+ */
977
+ readonly allowedVersions?: any;
978
+ /**
979
+ * Any peer dependency matching the pattern will be resolved from any version, regardless of the range specified in "peerDependencies".
980
+ *
981
+ * @schema PnpmWorkspaceYamlSchemaPeerDependencyRules#allowAny
982
+ */
983
+ readonly allowAny?: string[];
984
+ }
985
+ /**
986
+ * Converts an object of type 'PnpmWorkspaceYamlSchemaPeerDependencyRules' to JSON representation.
987
+ * @internal
988
+ */
989
+ export declare function toJson_PnpmWorkspaceYamlSchemaPeerDependencyRules(obj: PnpmWorkspaceYamlSchemaPeerDependencyRules | undefined): Record<string, any> | undefined;
990
+ /**
991
+ * @schema PnpmWorkspaceYamlSchemaUpdateConfig
992
+ */
993
+ export interface PnpmWorkspaceYamlSchemaUpdateConfig {
994
+ /**
995
+ * A list of packages that should be ignored when running "pnpm outdated" or "pnpm update --latest".
996
+ *
997
+ * @schema PnpmWorkspaceYamlSchemaUpdateConfig#ignoreDependencies
998
+ */
999
+ readonly ignoreDependencies?: string[];
1000
+ }
1001
+ /**
1002
+ * Converts an object of type 'PnpmWorkspaceYamlSchemaUpdateConfig' to JSON representation.
1003
+ * @internal
1004
+ */
1005
+ export declare function toJson_PnpmWorkspaceYamlSchemaUpdateConfig(obj: PnpmWorkspaceYamlSchemaUpdateConfig | undefined): Record<string, any> | undefined;
1006
+ /**
1007
+ * @schema PnpmWorkspaceYamlSchemaAuditConfig
1008
+ */
1009
+ export interface PnpmWorkspaceYamlSchemaAuditConfig {
1010
+ /**
1011
+ * A list of CVE IDs that will be ignored by "pnpm audit".
1012
+ *
1013
+ * @schema PnpmWorkspaceYamlSchemaAuditConfig#ignoreCves
1014
+ */
1015
+ readonly ignoreCves?: string[];
1016
+ /**
1017
+ * A list of GHSA Codes that will be ignored by "pnpm audit".
1018
+ *
1019
+ * @schema PnpmWorkspaceYamlSchemaAuditConfig#ignoreGhsas
1020
+ */
1021
+ readonly ignoreGhsas?: string[];
1022
+ }
1023
+ /**
1024
+ * Converts an object of type 'PnpmWorkspaceYamlSchemaAuditConfig' to JSON representation.
1025
+ * @internal
1026
+ */
1027
+ export declare function toJson_PnpmWorkspaceYamlSchemaAuditConfig(obj: PnpmWorkspaceYamlSchemaAuditConfig | undefined): Record<string, any> | undefined;
1028
+ /**
1029
+ * Specifies architectures for which you'd like to install optional dependencies, even if they don't match the architecture of the system running the install.
1030
+ *
1031
+ * @schema PnpmWorkspaceYamlSchemaSupportedArchitectures
1032
+ */
1033
+ export interface PnpmWorkspaceYamlSchemaSupportedArchitectures {
1034
+ /**
1035
+ * @schema PnpmWorkspaceYamlSchemaSupportedArchitectures#os
1036
+ */
1037
+ readonly os?: string[];
1038
+ /**
1039
+ * @schema PnpmWorkspaceYamlSchemaSupportedArchitectures#cpu
1040
+ */
1041
+ readonly cpu?: string[];
1042
+ /**
1043
+ * @schema PnpmWorkspaceYamlSchemaSupportedArchitectures#libc
1044
+ */
1045
+ readonly libc?: string[];
1046
+ }
1047
+ /**
1048
+ * Converts an object of type 'PnpmWorkspaceYamlSchemaSupportedArchitectures' to JSON representation.
1049
+ * @internal
1050
+ */
1051
+ export declare function toJson_PnpmWorkspaceYamlSchemaSupportedArchitectures(obj: PnpmWorkspaceYamlSchemaSupportedArchitectures | undefined): Record<string, any> | undefined;
1052
+ /**
1053
+ * @schema PnpmWorkspaceYamlSchemaExecutionEnv
1054
+ */
1055
+ export interface PnpmWorkspaceYamlSchemaExecutionEnv {
1056
+ /**
1057
+ * Specifies which exact Node.js version should be used for the project's runtime.
1058
+ *
1059
+ * @schema PnpmWorkspaceYamlSchemaExecutionEnv#nodeVersion
1060
+ */
1061
+ readonly nodeVersion?: string;
1062
+ }
1063
+ /**
1064
+ * Converts an object of type 'PnpmWorkspaceYamlSchemaExecutionEnv' to JSON representation.
1065
+ * @internal
1066
+ */
1067
+ export declare function toJson_PnpmWorkspaceYamlSchemaExecutionEnv(obj: PnpmWorkspaceYamlSchemaExecutionEnv | undefined): Record<string, any> | undefined;
1068
+ /**
1069
+ * Defines what linker should be used for installing Node packages.
1070
+ *
1071
+ * @schema PnpmWorkspaceYamlSchemaNodeLinker
1072
+ */
1073
+ export declare enum PnpmWorkspaceYamlSchemaNodeLinker {
1074
+ /** isolated */
1075
+ ISOLATED = "isolated",
1076
+ /** hoisted */
1077
+ HOISTED = "hoisted",
1078
+ /** pnp */
1079
+ PNP = "pnp"
1080
+ }
1081
+ /**
1082
+ * Controls the way packages are imported from the store (if you want to disable symlinks inside node_modules, then you need to change the nodeLinker setting, not this one).
1083
+ *
1084
+ * @schema PnpmWorkspaceYamlSchemaPackageImportMethod
1085
+ */
1086
+ export declare enum PnpmWorkspaceYamlSchemaPackageImportMethod {
1087
+ /** auto */
1088
+ AUTO = "auto",
1089
+ /** hardlink */
1090
+ HARDLINK = "hardlink",
1091
+ /** copy */
1092
+ COPY = "copy",
1093
+ /** clone */
1094
+ CLONE = "clone",
1095
+ /** clone-or-copy */
1096
+ CLONE_HYPHEN_OR_HYPHEN_COPY = "clone-or-copy"
1097
+ }
1098
+ /**
1099
+ * Controls colors in the output.
1100
+ *
1101
+ * @schema PnpmWorkspaceYamlSchemaColor
1102
+ */
1103
+ export declare enum PnpmWorkspaceYamlSchemaColor {
1104
+ /** always */
1105
+ ALWAYS = "always",
1106
+ /** auto */
1107
+ AUTO = "auto",
1108
+ /** never */
1109
+ NEVER = "never"
1110
+ }
1111
+ /**
1112
+ * Any logs at or higher than the given level will be shown.
1113
+ *
1114
+ * @schema PnpmWorkspaceYamlSchemaLoglevel
1115
+ */
1116
+ export declare enum PnpmWorkspaceYamlSchemaLoglevel {
1117
+ /** debug */
1118
+ DEBUG = "debug",
1119
+ /** info */
1120
+ INFO = "info",
1121
+ /** warn */
1122
+ WARN = "warn",
1123
+ /** error */
1124
+ ERROR = "error"
1125
+ }
1126
+ /**
1127
+ * Allows you to customize the output style of the logs.
1128
+ * https://pnpm.io/cli/install#--reportername
1129
+ *
1130
+ * @schema PnpmWorkspaceYamlSchemaReporter
1131
+ */
1132
+ export declare enum PnpmWorkspaceYamlSchemaReporter {
1133
+ /** silent */
1134
+ SILENT = "silent",
1135
+ /** default */
1136
+ DEFAULT = "default",
1137
+ /** append-only */
1138
+ APPEND_HYPHEN_ONLY = "append-only",
1139
+ /** ndjson */
1140
+ NDJSON = "ndjson"
1141
+ }
1142
+ /**
1143
+ * If this is enabled, locally available packages are linked to node_modules instead of being downloaded from the registry.
1144
+ *
1145
+ * @schema PnpmWorkspaceYamlSchemaLinkWorkspacePackages
1146
+ */
1147
+ export declare class PnpmWorkspaceYamlSchemaLinkWorkspacePackages {
1148
+ readonly value: boolean | string;
1149
+ static fromBoolean(value: boolean): PnpmWorkspaceYamlSchemaLinkWorkspacePackages;
1150
+ static fromString(value: string): PnpmWorkspaceYamlSchemaLinkWorkspacePackages;
1151
+ private constructor();
1152
+ }
1153
+ /**
1154
+ * This setting controls how dependencies that are linked from the workspace are added to package.json.
1155
+ *
1156
+ * @schema PnpmWorkspaceYamlSchemaSaveWorkspaceProtocol
1157
+ */
1158
+ export declare class PnpmWorkspaceYamlSchemaSaveWorkspaceProtocol {
1159
+ readonly value: boolean | string;
1160
+ static fromBoolean(value: boolean): PnpmWorkspaceYamlSchemaSaveWorkspaceProtocol;
1161
+ static fromString(value: string): PnpmWorkspaceYamlSchemaSaveWorkspaceProtocol;
1162
+ private constructor();
1163
+ }
1164
+ /**
1165
+ * Configure how versions of packages installed to a package.json file get prefixed.
1166
+ *
1167
+ * @schema PnpmWorkspaceYamlSchemaSavePrefix
1168
+ */
1169
+ export declare enum PnpmWorkspaceYamlSchemaSavePrefix {
1170
+ /** ^ */
1171
+ VALUE_CARAT = "^",
1172
+ /** ~ */
1173
+ VALUE_TILDE = "~"
1174
+ }
1175
+ /**
1176
+ * Determines how pnpm resolves dependencies, See https://pnpm.io/settings#resolutionmode
1177
+ *
1178
+ * @schema PnpmWorkspaceYamlSchemaResolutionMode
1179
+ */
1180
+ export declare enum PnpmWorkspaceYamlSchemaResolutionMode {
1181
+ /** highest */
1182
+ HIGHEST = "highest",
1183
+ /** time-based */
1184
+ TIME_HYPHEN_BASED = "time-based",
1185
+ /** lowest-direct */
1186
+ LOWEST_HYPHEN_DIRECT = "lowest-direct"
1187
+ }
1188
+ /**
1189
+ * When set to no-downgrade, pnpm will fail if a package's trust level has decreased compared to previous releases. For example, if a package was previously published by a trusted publisher but now only has provenance or no trust evidence, installation will fail. This helps prevent installing potentially compromised versions.
1190
+ *
1191
+ * @schema PnpmWorkspaceYamlSchemaTrustPolicy
1192
+ */
1193
+ export declare enum PnpmWorkspaceYamlSchemaTrustPolicy {
1194
+ /** off */
1195
+ OFF = "off",
1196
+ /** no-downgrade */
1197
+ NO_HYPHEN_DOWNGRADE = "no-downgrade"
1198
+ }
1199
+ /**
1200
+ * Controls the level of issues reported by `pnpm audit`. When set to 'low', all vulnerabilities are reported. When set to 'moderate', 'high', or 'critical', only vulnerabilities with that severity or higher are reported.
1201
+ *
1202
+ * @schema PnpmWorkspaceYamlSchemaAuditLevel
1203
+ */
1204
+ export declare enum PnpmWorkspaceYamlSchemaAuditLevel {
1205
+ /** low */
1206
+ LOW = "low",
1207
+ /** moderate */
1208
+ MODERATE = "moderate",
1209
+ /** high */
1210
+ HIGH = "high",
1211
+ /** critical */
1212
+ CRITICAL = "critical"
1213
+ }
1214
+ /**
1215
+ * Overrides the `onFail` behavior of both the `packageManager` field and `devEngines.packageManager` when the running pnpm version does not match the declared one.
1216
+ *
1217
+ * @schema PnpmWorkspaceYamlSchemaPmOnFail
1218
+ */
1219
+ export declare enum PnpmWorkspaceYamlSchemaPmOnFail {
1220
+ /** download */
1221
+ DOWNLOAD = "download",
1222
+ /** error */
1223
+ ERROR = "error",
1224
+ /** warn */
1225
+ WARN = "warn",
1226
+ /** ignore */
1227
+ IGNORE = "ignore"
1228
+ }
1229
+ /**
1230
+ * Overrides the `onFail` field of `devEngines.runtime` (and `engines.runtime`) in the root project's `package.json`. This is useful when you want a different local behavior than what is written in the manifest — for instance, forcing pnpm to download the declared runtime even when the manifest sets `onFail: "warn"`.
1231
+ *
1232
+ * @schema PnpmWorkspaceYamlSchemaRuntimeOnFail
1233
+ */
1234
+ export declare enum PnpmWorkspaceYamlSchemaRuntimeOnFail {
1235
+ /** download */
1236
+ DOWNLOAD = "download",
1237
+ /** error */
1238
+ ERROR = "error",
1239
+ /** warn */
1240
+ WARN = "warn",
1241
+ /** ignore */
1242
+ IGNORE = "ignore"
1243
+ }
1244
+ /**
1245
+ * Added a new hoistingLimits setting for `nodeLinker: hoisted` installs, mirroring yarn's `nmHoistingLimits`. It accepts `none` (the default — hoist as far as possible), workspaces (hoist only as far as each workspace package), or dependencies (hoist only up to each workspace package's direct dependencies).
1246
+ *
1247
+ * @schema PnpmWorkspaceYamlSchemaHoistingLimits
1248
+ */
1249
+ export declare enum PnpmWorkspaceYamlSchemaHoistingLimits {
1250
+ /** node */
1251
+ NODE = "node",
1252
+ /** workspaces */
1253
+ WORKSPACES = "workspaces",
1254
+ /** dependencies */
1255
+ DEPENDENCIES = "dependencies"
1256
+ }