pnpm Workspace (pnpm-workspace.yaml)
Workspace file for pnpm
pnpm-workspace.yaml
Validate
Check your file against this schema
Opens the validator with this schema already loaded. Paste your
pnpm-workspace.yaml and it validates in your browser — nothing is uploaded.
Reference
Fields
Generated directly from the schema, following local
$refs, to two levels of nesting.
| Field | Type | Description |
|---|---|---|
packages | array<string> | Workspace package paths. Glob patterns are supported |
catalog | object | Dependencies are specified with a simple hash of package name to version range. The version range is a string which has one or more space-separated descriptors. Dependencies can also be identified with a tarball or git URL. |
catalogs | object | null | Define arbitrarily named catalogs |
catalogMode | oneOf | Controlling if and how dependencies are added to the default catalog |
cleanupUnusedCatalogs | boolean | When set to `true`, pnpm will remove unused catalog entries during installation. |
catalogPrune | boolean | When set to true, pnpm will remove unused catalog entries during installation. `cleanupUnusedCatalogs` is the deprecated spelling of this setting and continues to work; when both are set, `catalogPrune` wins. |
onlyBuiltDependencies | array<string> | A list of package names that are allowed to be executed during installation. |
overrides | object | Used to override any dependency in the dependency graph. |
packageExtensions | object | Used to extend the existing package definitions with additional information. |
packageConfigs | oneOf | Per-workspace-project pnpm settings that replace project-specific .npmrc files. |
peerDependencyRules | object | — |
peerDependencyRules.ignoreMissing | array<string> | pnpm will not print warnings about missing peer dependencies from this list. |
peerDependencyRules.allowedVersions | object | Unmet peer dependency warnings will not be printed for peer dependencies of the specified range. |
peerDependencyRules.allowAny | array<string> | Any peer dependency matching the pattern will be resolved from any version, regardless of the range specified in "peerDependencies". |
neverBuiltDependencies | array<string> | A list of dependencies to run builds for. |
dangerouslyAllowAllBuilds | boolean | If set to true, all build scripts (e.g. preinstall, install, postinstall) from dependencies will run automatically, without requiring approval. |
onlyBuiltDependenciesFile | string | Specifies a JSON file that lists the only packages permitted to run installation scripts during the pnpm install process. |
ignoredBuiltDependencies | array<string> | A list of package names that should not be built during installation. |
allowedDeprecatedVersions | object | A list of deprecated versions that the warnings are suppressed. |
patchedDependencies | object | A list of dependencies that are patched. |
allowUnusedPatches | boolean | When true, installation won't fail if some of the patches from the "patchedDependencies" field were not applied. (Previously named "allowNonAppliedPatches") |
allowNonAppliedPatches | boolean | When true, installation won't fail if some of the patches from the "patchedDependencies" field were not applied. |
ignorePatchFailures | boolean | 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 |
update | object | — |
update.ignoreDeps | array<string> | A list of dependency name patterns that pnpm update and pnpm outdated should skip. |
update.changeset | boolean | When true, pnpm update writes a change intent after updating workspace manifests. default: false |
update.githubActions | boolean | When true, pnpm update and pnpm outdated also check the GitHub Actions referenced by the repository's workflow files. default: false |
update.githubActionsServer | string | The base URL of the GitHub server that hosts the repositories of the GitHub Actions referenced by the workflow files. |
updateConfig | object | — |
updateConfig.ignoreDependencies | array<string> | A list of packages that should be ignored when running "pnpm outdated" or "pnpm update --latest". |
configDependencies | object | 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 |
audit | object | — |
audit.level | string | Only print advisories with severity greater than or equal to this level. default: "low"one of: "low", "moderate", "high", "critical" |
audit.ignore | array<string> | A list of GHSA codes that will be ignored by pnpm audit. |
audit.ignorePrune | boolean | When `true`, `pnpm audit --fix` removes the `audit.ignore` entries whose GHSA no longer appears in the audit report, so a list of tolerated advisories doesn't accumulate entries for dependencies that are long gone. Added in: v11.25.0 and default: false |
auditConfig | object | — |
auditConfig.ignoreCves | array<string> | A list of CVE IDs that will be ignored by "pnpm audit". |
auditConfig.ignoreGhsas | array<string> | A list of GHSA Codes that will be ignored by "pnpm audit". |
requiredScripts | array<string> | A list of scripts that must exist in each project. |
supportedArchitectures | object | 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. |
supportedArchitectures.os | array<string> | — |
supportedArchitectures.cpu | array<string> | — |
supportedArchitectures.libc | array<string> | — |
ignoredOptionalDependencies | array<string> | A list of optional dependencies that the install should be skipped. |
executionEnv | object | — |
executionEnv.nodeVersion | string | Specifies which exact Node.js version should be used for the project's runtime. |
hoist | boolean | When true, all dependencies are hoisted to node_modules/.pnpm/node_modules. |
hoistWorkspacePackages | boolean | 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). |
hoistPattern | array<string> | Tells pnpm which packages should be hoisted to node_modules/.pnpm/node_modules |
publicHoistPattern | array<string> | 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. |
shamefullyHoist | boolean | By default, pnpm creates a semistrict node_modules, meaning dependencies have access to undeclared dependencies but modules outside of node_modules do not. |
modulesDir | string | The directory in which dependencies will be installed (instead of node_modules). |
nodeLinker | oneOf | Defines what linker should be used for installing Node packages. |
nodeExperimentalPackageMap | boolean | When true, pnpm injects the generated node_modules/.package-map.json into pnpm-managed Node.js script environments by adding Node's --experimental-package-map option to NODE_OPTIONS. see |
nodePackageMapType | string | Controls how node_modules/.package-map.json is generated. standard - only declared dependencies are available through the package map. loose - also maps packages that are reachable through the installed node_modules layout, which can allow one of: "standard", "loose" |
symlink | boolean | When symlink is set to false, pnpm creates a virtual store directory without any symlinks. It is a useful setting together with nodeLinker=pnp. |
enableModulesDir | boolean | When false, pnpm will not write any files to the modules directory (node_modules). |
virtualStoreDir | string | The directory with links to the store. |
virtualStoreDirMaxLength | number | Sets the maximum allowed length of directory names inside the virtual store directory (node_modules/.pnpm). |
virtualStoreType | oneOf | Determines where the virtual store is located. When set to project, a separate virtual store is created in each project's node_modules/.pnpm. When set to global, a single store is shared by every project on the machine, with each project's |
packageImportMethod | oneOf | 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). |
modulesCacheMaxAge | number | The time in minutes after which orphan packages from the modules directory should be removed. |
dlxCacheMaxAge | number | The time in minutes after which dlx cache expires. |
storeDir | string | The location where all the packages are saved on the disk. |
verifyStoreIntegrity | boolean | 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. |
useRunningStoreServer | boolean | Deprecated. Only allows installation with a store server. If no store server is running, installation will fail. |
frozenStore | boolean | Makes pnpm install work against a read-only package store (such as a Nix store or OCI image layer). When enabled, pnpm opens the store's SQLite database in immutable mode and never writes to the store. Works best together with --offline |
strictStorePkgContentCheck | boolean | Some registries allow the exact same content to be published under different package names and/or versions. |
enableGlobalVirtualStore | boolean | When enabled, node_modules contains only symlinks to a central virtual store, rather than to node_modules/.pnpm. |
lockfile | boolean | When set to false, pnpm won't read or generate a pnpm-lock.yaml file. |
preferFrozenLockfile | boolean | When set to true and the available pnpm-lock.yaml satisfies the package.json dependencies directive, a headless installation is performed. |
lockfileIncludeTarballUrl | boolean | Add the full URL to the package's tarball to every entry in pnpm-lock.yaml. |
gitBranchLockfile | boolean | When set to true, the generated lockfile name after installation will be named based on the current branch name to completely avoid merge conflicts. |
mergeGitBranchLockfilesBranchPattern | array | null | This configuration matches the current branch name to determine whether to merge all git branch lockfile files. |
peersSuffixMaxLength | number | 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. |
registry | string | The base URL of the npm package registry (trailing slash included). |
ca | string | The Certificate Authority signing certificate that is trusted for SSL connections to the registry. |
cafile | string | A path to a file containing one or multiple Certificate Authority signing certificates. |
cert | string | A client certificate to pass when accessing the registry. |
key | string | A client key to pass when accessing the registry. |
gitShallowHosts | array<string> | 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. |
httpsProxy | string | 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. |
httpProxy | string | 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. |
proxy | string | npm's legacy proxy setting, used as the fallback for both httpsProxy and httpProxy. If the HTTP_PROXY or http_proxy environment variables are set, proxy settings will be honored by the underlying request library. |
localAddress | string | The IP address of the local interface to use when making connections to the npm registry. |
maxsockets | number | The maximum number of connections to use per origin (protocol/host/port combination). |
noProxy | string | A comma-separated string of domain extensions that a proxy should not be used for. |
strictSsl | boolean | Whether or not to do SSL key validation when making requests to the registry via HTTPS. |
networkConcurrency | number | Controls the maximum number of HTTP(S) requests to process simultaneously. |
fetchRetries | number | How many times to retry if pnpm fails to fetch from the registry. |
fetchRetryFactor | number | The exponential factor for retry backoff. |
fetchRetryMintimeout | number | The minimum (base) timeout for retrying requests. |
fetchRetryMaxtimeout | number | The maximum fallback timeout to ensure the retry factor does not make requests too long. |
fetchTimeout | number | The maximum amount of time to wait for HTTP requests to complete. |
fetchWarnTimeoutMs | number | A warning message is displayed if a metadata request to the registry takes longer than the specified threshold (in milliseconds). Added in pnpm v10.18.0. |
fetchMinSpeedKiBps | number | A warning message is displayed if the download speed of a tarball from the registry falls below the specified threshold (in KiB/s). Added in pnpm v10.18.0. |
autoInstallPeers | boolean | When true, any missing non-optional peer dependencies are automatically installed. |
dedupePeerDependents | boolean | When this setting is set to true, packages with peer dependencies will be deduplicated after peers resolution. |
strictPeerDependencies | boolean | If this is enabled, commands will fail if there is a missing or invalid peer dependency in the tree. |
resolvePeersFromWorkspaceRoot | boolean | When enabled, dependencies of the root workspace project are used to resolve peer dependencies of any projects in the workspace. |
color | oneOf | Controls colors in the output. |
loglevel | oneOf | Any logs at or higher than the given level will be shown. |
reporter | string | Allows you to customize the output style of the logs. https://pnpm.io/cli/install#--reportername one of: "silent", "default", "append-only", "ndjson" |
useBetaCli | boolean | Experimental option that enables beta features of the CLI. |
recursiveInstall | boolean | 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. |
engineStrict | boolean | If this is enabled, pnpm will not install any package that claims to not be compatible with the current Node version. |
npmPath | string | The location of the npm binary that pnpm uses for some actions, like publishing. |
packageManagerStrict | boolean | 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 |
packageManagerStrictVersion | boolean | When enabled, pnpm will fail if its version doesn't exactly match the version specified in the packageManager field of package.json. |
managePackageManagerVersions | boolean | When enabled, pnpm will automatically download and run the version of pnpm specified in the packageManager field of package.json. |
ignoreScripts | boolean | Do not execute any scripts defined in the project package.json and its dependencies. |
ignoreDepScripts | boolean | Do not execute any scripts of the installed packages. Scripts of the projects are executed. |
childConcurrency | number | The maximum number of child processes to allocate simultaneously to build node_modules. |
sideEffectsCache | oneOf | Use and cache the results of (pre/post)install hooks. When a pre/post install script modify the contents of a package (e.g. build output), pnpm saves the modified package in the global store. On future installs on the same machine, pnpm |
sideEffectsCacheReadonly | boolean | Only use the side effects cache if present, do not create it for new packages. The older spelling of sideEffectsCache: { read: true, write: false }. |
unsafePerm | boolean | 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. |
nodeOptions | string | Options to pass through to Node.js via the NODE_OPTIONS environment variable. |
verifyDepsBeforeRun | oneOf | This setting allows the checking of the state of dependencies before running scripts. |
strictDepBuilds | boolean | When strictDepBuilds is enabled, the installation will exit with a non-zero exit code if any dependencies have unreviewed build scripts (aka postinstall scripts). |
useNodeVersion | string | Specifies which exact Node.js version should be used for the project's runtime. |
nodeVersion | string | The Node.js version to use when checking a package's engines setting. |
linkWorkspacePackages | oneOf | If this is enabled, locally available packages are linked to node_modules instead of being downloaded from the registry. |
injectWorkspacePackages | boolean | Enables hard-linking of all local workspace dependencies instead of symlinking them. |
syncInjectedDepsAfterScripts | array<string> | Injected workspace dependencies are collections of hardlinks, which don't add or remove the files when their sources change. |
preferWorkspacePackages | boolean | 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. |
sharedWorkspaceLockfile | boolean | If this is enabled, pnpm creates a single pnpm-lock.yaml file in the root of the workspace. |
saveWorkspaceProtocol | oneOf | This setting controls how dependencies that are linked from the workspace are added to package.json. |
includeWorkspaceRoot | boolean | When executing commands recursively in a workspace, execute them on the root workspace project as well. |
ignoreWorkspaceCycles | boolean | When set to true, no workspace cycle warnings will be printed. |
ignoreWorkspaceRootCheck | boolean | Adding a new dependency to the root workspace package fails, unless the --ignore-workspace-root-check or -w flag is used. |
disallowWorkspaceCycles | boolean | When set to true, installation will fail if the workspace has cycles. |
workspaceConcurrency | number | 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 default: 4 |
tasks | object | Configure dependency relationships and per-task concurrency limits for recursive runs (`pnpm -r run <script>`). A task is a script in one workspace project; it becomes ready after every task it depends on completes successfully. A task |
failIfNoMatch | boolean | If true, pnpm will fail if no packages match the filter default: false |
forceLegacyDeploy | boolean | 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. |
savePrefix | oneOf | Configure how versions of packages installed to a package.json file get prefixed. |
tag | string | 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. |
globalDir | string | Specify a custom directory to store global packages. |
globalBinDir | string | Allows to set the target directory for the bin files of globally installed packages. |
globalShims | oneOf | Controls which globally installed packages get project-aware shims, which are global commands that run the version specified by the current project instead of the globally installed one. A boolean disables (false) or resets to the defaults |
stateDir | string | The location where all the packages are saved on the disk. |
cacheDir | string | The location of the cache (package metadata and dlx). |
useStderr | boolean | When true, all the output is written to stderr. |
updateNotifier | boolean | When true, pnpm will check for updates to the installed packages and notify the user. |
ci | boolean | Explicitly tells pnpm whether the current environment is a Continuous Integration system, overriding pnpm's automatic CI detection. Added in pnpm v10.12.1. |
preferSymlinkedExecutables | boolean | Create symlinks to executables in node_modules/.bin instead of command shims. This setting is ignored on Windows, where only command shims work. |
ignoreCompatibilityDb | boolean | During installation the dependencies of some packages are automatically patched. If you want to disable this, set this config to false. |
resolutionMode | oneOf | Determines how pnpm resolves dependencies, See https://pnpm.io/settings#resolutionmode |
registrySupportsTimeField | boolean | Set this to true if the registry that you are using returns the "time" field in the abbreviated metadata. |
extendNodePath | boolean | When false, the NODE_PATH environment variable is not set in the command shims. |
deployAllFiles | boolean | When deploying a package or installing a local package, all files of the package are copied. |
dedupeDirectDeps | boolean | 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. |
dedupeInjectedDeps | boolean | When this setting is enabled, dependencies that are injected will be symlinked from the workspace whenever possible. |
optimisticRepeatInstall | boolean | 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. |
gitChecks | boolean | Check if current branch is your publish branch, clean, and up-to-date with remote. |
embedReadme | boolean | 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 |
publishBranch | string | The primary branch of the repository which is used for publishing the latest changes. |
versioning | object | Versioning settings for pnpm's native workspace release management, used by `pnpm change` and recursive `pnpm version`. |
versioning.fixed | array<array> | Groups of workspace projects that always release together at one shared version. The shared version is the highest current version in the group, bumped by the largest bump any member needs. |
versioning.ignore | array<string> | Workspace projects permanently excluded from versioning and dependent propagation. |
versioning.maxBump | string | Caps the bump that a release from the current checkout may apply, after dependent propagation and fixed-group resolution. one of: "patch", "minor", "major" |
versioning.lanes | object | Maps a workspace project to a release lane. Unlisted projects are on the reserved `main` lane and release stable versions. |
versioning.epics | array<object> | Ties member projects to a lead project and constrains their major versions to the lead's major-version band. |
versioning.changelog | object | Controls where release changelog content is stored. |
versioning.changelog.storage | string | Changelog storage mode. `registry` composes changelog entries at publish time, while `repository` commits CHANGELOG.md files in packages. one of: "registry", "repository" |
provenance | boolean | When publishing from a supported cloud CI/CD system, the package will be publicly linked to where it was built and published from. |
pnpmfile | string | The location of the local pnpmfile. |
globalPnpmfile | string | The location of a global pnpmfile. A global pnpmfile is used by all projects during installation. |
ignorePnpmfile | boolean | .pnpmfile.cjs will be ignored. Useful together with --ignore-scripts when you want to make sure that no script gets executed during install. |
patchesDir | string | The generated patch file will be saved to this directory. |
enablePrePostScripts | boolean | When true, pnpm will run any pre/post scripts automatically. |
scriptShell | string | The shell to use for scripts run with the pnpm run command. |
shellEmulator | boolean | When true, pnpm will use a JavaScript implementation of a bash-like shell to execute scripts. |
saveExact | boolean | Saved dependencies will be configured with an exact version rather than using pnpm's default semver range operator. |
minimumReleaseAge | number | 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. |
minimumReleaseAgeExclude | array<string> | 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 |
minimumReleaseAgeStrict | boolean | Controls how pnpm behaves when no version of a dependency satisfies the minimumReleaseAge constraint within the requested range. https://pnpm.io/settings#minimumreleaseagestrict |
minimumReleaseAgeExcludePrune | boolean | When set to true, pnpm add, pnpm update, and pnpm remove prune the entries of minimumReleaseAgeExclude in pnpm-workspace.yaml that the freshly written lockfile no longer resolves: a version that is gone is dropped (an entry is removed once |
preferOffline | boolean | Bypass staleness checks for cached data. Missing data will still be requested from the server. |
trustPolicy | oneOf | 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 |
trustPolicyExclude | array<string> | 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. |
allowBuilds | object | 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 |
blockExoticSubdeps | boolean | 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. |
trustPolicyIgnoreAfter | number | 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 |
auditLevel | oneOf | 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. |
dedupePeers | boolean | 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 |
npmrcAuthFile | string | 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. |
minimumReleaseAgeIgnoreMissingTime | boolean | 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 |
registries | object | 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. |
namedRegistries | object | Defines named registry aliases that can be used as a prefix when installing packages, e.g. `pnpm add work:@corp/lib@^2.0.0` resolves `@corp/lib@^2.0.0` against the configured URL. Built-in aliases `gh:` (https://npm.pkg.github.com/) and |
virtualStoreOnly | boolean | 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 |
pmOnFail | oneOf | Overrides the `onFail` behavior of both the `packageManager` field and `devEngines.packageManager` when the running pnpm version does not match the declared one. |
runtimeOnFail | oneOf | 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 |
nodeDownloadMirrors | object | 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. |
trustLockfile | boolean | 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 |
hoistingLimits | oneOf | 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 |
Audit
What we found in this schema
- Declared draft: draft-07
- Validates cleanly against its own meta-schema.
- Has 2 place(s) where keywords sit beside
$ref. Under draft-07 those keywords are silently ignored by every conforming validator — first at#/definitions/catalog. - 217 properties, 94% carrying a description, max nesting depth 10.
Standards
Specification sections for the keywords in this schema
| Keyword | Document | Section |
|---|---|---|
$comment | JSON Schema Core, draft 2020-12 | §8.3 — Comments With "$comment" |
$id | JSON Schema Core, draft 2020-12 | §8.2.1 — The "$id" Keyword |
$ref | JSON Schema Core, draft 2020-12 | §8.2.3.1 — Direct References with "$ref" |
$schema | JSON Schema Core, draft 2020-12 | §8.1.1 — "$schema" |
additionalProperties | JSON Schema Core, draft 2020-12 | §10.3.2.3 — "additionalProperties" |
default | JSON Schema Validation, draft 2020-12 | §9.2 — "default" |
description | JSON Schema Validation, draft 2020-12 | §9.1 — "title" and "description" |
enum | JSON Schema Validation, draft 2020-12 | §6.1.2 — "enum" |
items | JSON Schema Core, draft 2020-12 | §10.3.1.2 — "items" |
maxLength | JSON Schema Validation, draft 2020-12 | §6.3.1 — "maxLength" |
minLength | JSON Schema Validation, draft 2020-12 | §6.3.2 — "minLength" |
minProperties | JSON Schema Validation, draft 2020-12 | §6.5.2 — "minProperties" |
oneOf | JSON Schema Core, draft 2020-12 | §10.2.1.3 — "oneOf" |
pattern | JSON Schema Validation, draft 2020-12 | §6.3.3 — "pattern" |
properties | JSON Schema Core, draft 2020-12 | §10.3.2.1 — "properties" |
propertyNames | JSON Schema Core, draft 2020-12 | §10.3.2.4 — "propertyNames" |
type | JSON Schema Validation, draft 2020-12 | §6.1.1 — "type" |
uniqueItems | JSON Schema Validation, draft 2020-12 | §6.4.3 — "uniqueItems" |
format: "uri" | RFC 3986 (STD 66) | §3 — Syntax Components |
Documents
- JSON Schema Core, draft 2020-12 — JSON Schema: A Media Type for Describing JSON Documents, A. Wright, H. Andrews, B. Hutton, G. Dennis, Eds., 2022. draft-bhutton-json-schema-01. An expired Internet-Draft with no formal standing in the IETF standards process; it is nonetheless the specification of record for JSON Schema 2020-12, published by json-schema.org.
- JSON Schema Validation, draft 2020-12 — JSON Schema Validation: A Vocabulary for Structural Validation of JSON, A. Wright, H. Andrews, B. Hutton, Eds., 2022.
- RFC 8259 (STD 90) — The JavaScript Object Notation (JSON) Data Interchange Format, T. Bray, Ed., 2017. The format a schema describes.
- RFC 6901 — JavaScript Object Notation (JSON) Pointer. Defines the pointer syntax used by $ref fragments and the ~0 / ~1 escapes.
Source
Attribution
This schema comes from SchemaStore, distributed under the Apache License 2.0. Copyright 2015–present Mads Kristensen and contributors. View the original file. The field table and audit on this page are generated by JSONTools.tools; the schema itself is unmodified.