1"use strict";(self.webpackChunk=self.webpackChunk||[]).push([["38049"],{23829(e,n,i){i.r(n),i.d(n,{metadata:()=>s,default:()=>x,frontMatter:()=>c,contentTitle:()=>d,toc:()=>h,assets:()=>o});var s=JSON.parse('{"id":"settings","title":"Settings (pnpm-workspace.yaml)","description":"pnpm gets its configuration from the command line, environment variables, and pnpm-workspace.yaml.","source":"@site/versioned_docs/version-11.x/settings.md","sourceDirName":".","slug":"/settings","permalink":"/11.x/settings","draft":false,"unlisted":false,"editUrl":"https://github.com/pnpm/pnpm.io/edit/main/versioned_docs/version-11.x/settings.md","tags":[],"version":"11.x","lastUpdatedBy":"Zoltan Kochan","lastUpdatedAt":1789948766000,"frontMatter":{"id":"settings","title":"Settings (pnpm-workspace.yaml)"},"sidebar":"docs","previous":{"title":"package.json","permalink":"/11.x/package_json"},"next":{"title":"Dependency resolution","permalink":"/11.x/settings/dependency-resolution"}}'),r=i(91987),l=i(67008),t=i(44274);let c={id:"settings",title:"Settings (pnpm-workspace.yaml)"},d,o={},h=[{value:"packages",id:"packages",level:2},{value:"packageConfigs",id:"packageconfigs",level:2},{value:"Settings",id:"settings",level:2},{value:"Dependency Resolution",id:"dependency-resolution",level:3},{value:"Node-Modules Settings",id:"node-modules-settings",level:3},{value:"Dependency Hoisting Settings",id:"dependency-hoisting-settings",level:3},{value:"Store Settings",id:"store-settings",level:3},{value:"Lockfile Settings",id:"lockfile-settings",level:3},{value:"Network Settings",id:"network-settings",level:3},{value:"Request Settings",id:"request-settings",level:3},{value:"Peer Dependency Settings",id:"peer-dependency-settings",level:3},{value:"CLI Settings",id:"cli-settings",level:3},{value:"Node.js Settings",id:"nodejs-settings",level:3},{value:"Build Settings",id:"build-settings",level:3},{value:"Versioning Settings",id:"versioning-settings",level:3},{value:"Other Settings",id:"other-settings",level:3},{value:"Workspace Settings",id:"workspace-settings",level:3},{value:"Settings documented elsewhere",id:"settings-documented-elsewhere",level:3}];function a(e){let n={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,l.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.A,{}),"\n",(0,r.jsxs)(n.p,{children:["pnpm gets its configuration from the command line, environment variables, and ",(0,r.jsx)(n.code,{children:"pnpm-workspace.yaml"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["Only auth and registry settings are read from ",(0,r.jsx)(n.code,{children:".npmrc"})," files. All other settings (like ",(0,r.jsx)(n.code,{children:"hoistPattern"}),", ",(0,r.jsx)(n.code,{children:"nodeLinker"}),", ",(0,r.jsx)(n.code,{children:"shamefullyHoist"}),", etc.) must be configured in ",(0,r.jsx)(n.code,{children:"pnpm-workspace.yaml"})," or the global ",(0,r.jsx)(n.code,{children:"~/.config/pnpm/config.yaml"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["The ",(0,r.jsx)(n.code,{children:"pnpm config"})," command can be used to read and edit the contents of the project and global configuration files."]}),"\n",(0,r.jsx)(n.p,{children:"The relevant configuration files are:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Per-project configuration file: ",(0,r.jsx)(n.code,{children:"/path/to/my/project/pnpm-workspace.yaml"})]}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/cli/config",children:"Global configuration file"})}),"\n"]}),"\n",(0,r.jsx)(n.admonition,{type:"note",children:(0,r.jsxs)(n.p,{children:["Authorization-related settings are handled via ",(0,r.jsx)(n.a,{href:"/11.x/npmrc",children:(0,r.jsx)(n.code,{children:".npmrc"})}),"."]})}),"\n",(0,r.jsxs)(n.p,{children:["Values in the configuration files may contain env variables using the ",(0,r.jsx)(n.code,{children:"${NAME}"})," syntax. The env variables may also be specified with default values. Using ",(0,r.jsx)(n.code,{children:"${NAME-fallback}"})," will return ",(0,r.jsx)(n.code,{children:"fallback"})," if ",(0,r.jsx)(n.code,{children:"NAME"})," isn't set. ",(0,r.jsx)(n.code,{children:"${NAME:-fallback}"})," will return ",(0,r.jsx)(n.code,{children:"fallback"})," if ",(0,r.jsx)(n.code,{children:"NAME"})," isn't set, or is an empty string."]}),"\n",(0,r.jsx)(n.admonition,{type:"warning",children:(0,r.jsxs)(n.p,{children:["Since v11.5.3, env variables are ",(0,r.jsx)(n.strong,{children:"not"})," expanded in settings of ",(0,r.jsx)(n.code,{children:"pnpm-workspace.yaml"})," that define registry URLs: ",(0,r.jsx)(n.code,{children:"registry"})," and the URL values of ",(0,r.jsx)(n.a,{href:"/11.x/settings/dependency-resolution#registries",children:(0,r.jsx)(n.code,{children:"registries"})})," and ",(0,r.jsx)(n.a,{href:"/11.x/settings/dependency-resolution#namedregistries",children:(0,r.jsx)(n.code,{children:"namedRegistries"})}),". Values containing a ",(0,r.jsx)(n.code,{children:"${...}"})," placeholder in these settings are ignored. In the ",(0,r.jsx)(n.a,{href:"/11.x/registries",children:"registry declaration shape"})," of ",(0,r.jsx)(n.code,{children:"registries"})," (since v11.23.0), the URL is the key rather than the value, and the same rule applies to the keys. Because ",(0,r.jsx)(n.code,{children:"pnpm-workspace.yaml"})," is committed to the repository, expanding env variables in registry URLs could be exploited by a malicious repository to leak secrets from the environment to an attacker-controlled registry. Configure dynamic registry URLs in a trusted location instead: the global configuration file or CLI options."]})}),"\n",(0,r.jsx)(n.admonition,{type:"note",children:(0,r.jsxs)(n.p,{children:["Since v11.22.0, a project's ",(0,r.jsx)(n.code,{children:"pnpm-workspace.yaml"})," cannot choose where pnpm keeps its credentials, its own installation, or other machine-level state: ",(0,r.jsx)(n.code,{children:"bin"}),", ",(0,r.jsx)(n.code,{children:"configDir"}),", ",(0,r.jsx)(n.code,{children:"dir"}),", ",(0,r.jsx)(n.code,{children:"globalBinDir"}),", ",(0,r.jsx)(n.code,{children:"globalDir"}),", ",(0,r.jsx)(n.code,{children:"npmrcAuthFile"}),", ",(0,r.jsx)(n.code,{children:"pnpmHomeDir"}),", ",(0,r.jsx)(n.code,{children:"stateDir"}),", ",(0,r.jsx)(n.code,{children:"userconfig"}),", and ",(0,r.jsx)(n.code,{children:"workspaceDir"})," are ignored there, with a warning. Set them in the ",(0,r.jsx)(n.a,{href:"/11.x/cli/config",children:"global configuration file"})," or on the command line instead. ",(0,r.jsx)(n.code,{children:"cacheDir"})," and ",(0,r.jsx)(n.code,{children:"storeDir"})," are unaffected."]})}),"\n",(0,r.jsx)(n.h2,{id:"packages",children:"packages"}),"\n",(0,r.jsxs)(n.p,{children:["Besides settings, ",(0,r.jsx)(n.code,{children:"pnpm-workspace.yaml"})," defines the root of the ",(0,r.jsx)(n.a,{href:"/11.x/workspaces",children:"workspace"})," and\nenables you to include / exclude directories from the workspace. If the\n",(0,r.jsx)(n.code,{children:"packages"})," field is omitted, only the root package is included in the workspace."]}),"\n",(0,r.jsx)(n.p,{children:"For example:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-yaml",metastring:'title="pnpm-workspace.yaml"',children:"packages:\n # specify a package in a direct subdir of the root\n - 'my-app'\n # all packages in direct subdirs of packages/\n - 'packages/*'\n # all packages in subdirs of components/\n - 'components/**'\n # exclude packages that are inside test directories\n - '!**/test/**'\n"})}),"\n",(0,r.jsx)(n.p,{children:"The root package is always included, even when custom location wildcards are\nused."}),"\n",(0,r.jsxs)(n.p,{children:["Catalogs are also defined in the ",(0,r.jsx)(n.code,{children:"pnpm-workspace.yaml"})," file. See ",(0,r.jsx)(n.a,{href:"/11.x/catalogs",children:(0,r.jsx)(n.em,{children:"Catalogs"})})," for details."]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-yaml",metastring:'title="pnpm-workspace.yaml"',children:"packages:\n - 'packages/*'\n\ncatalog:\n chalk: ^4.1.2\n\ncatalogs:\n react16:\n react: ^16.7.0\n react-dom: ^16.7.0\n react17:\n react: ^17.10.0\n react-dom: ^17.10.0\n"})}),"\n",(0,r.jsx)(n.h2,{id:"packageconfigs",children:"packageConfigs"}),"\n",(0,r.jsx)(n.p,{children:"Added in: v11.0.0"}),"\n",(0,r.jsxs)(n.p,{children:["Allows setting project-specific configuration for individual workspace packages. This replaces workspace project-specific ",(0,r.jsx)(n.code,{children:".npmrc"})," files."]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"packageConfigs"})," can be specified as a map of package names to config objects:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-yaml",metastring:'title="pnpm-workspace.yaml"',children:'packages:\n - "packages/project-1"\n - "packages/project-2"\npackageConfigs:\n "project-1":\n saveExact: true\n "project-2":\n savePrefix: "~"\n'})}),"\n",(0,r.jsx)(n.p,{children:"Or as an array of pattern-matched rules:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-yaml",metastring:'title="pnpm-workspace.yaml"',children:'packages:\n - "packages/project-1"\n - "packages/project-2"\npackageConfigs:\n - match: ["project-1", "project-2"]\n modulesDir: "node_modules"\n saveExact: true\n'})}),"\n",(0,r.jsx)(n.h2,{id:"settings",children:"Settings"}),"\n",(0,r.jsx)(n.p,{children:"Every setting is listed below, grouped by topic. Follow a setting to read its documentation, or open the full reference of a group."}),"\n",(0,r.jsx)(n.h3,{id:"dependency-resolution",children:"Dependency Resolution"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/dependency-resolution",children:"Full reference \u2192"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"/11.x/settings/dependency-resolution#overrides",children:"overrides"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/dependency-resolution#convergence-overrides",children:"Convergence overrides"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/dependency-resolution#overriding-peer-dependencies",children:"Overriding peer dependencies"})}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/dependency-resolution#packageextensions",children:"packageExtensions"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/dependency-resolution#alloweddeprecatedversions",children:"allowedDeprecatedVersions"})}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"/11.x/settings/dependency-resolution#update",children:"update"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/dependency-resolution#updateignoredeps",children:"update.ignoreDeps"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/dependency-resolution#updatechangeset",children:"update.changeset"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/dependency-resolution#updategithubactions",children:"update.githubActions"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/dependency-resolution#updategithubactionsserver",children:"update.githubActionsServer"})}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/dependency-resolution#supportedarchitectures",children:"supportedArchitectures"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/dependency-resolution#ignoredoptionaldependencies",children:"ignoredOptionalDependencies"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/dependency-resolution#minimumreleaseage",children:"minimumReleaseAge"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/dependency-resolution#minimumreleaseageexclude",children:"minimumReleaseAgeExclude"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/dependency-resolution#minimumreleaseageexcludeprune",children:"minimumReleaseAgeExcludePrune"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/dependency-resolution#minimumreleaseageignoremissingtime",children:"minimumReleaseAgeIgnoreMissingTime"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/dependency-resolution#minimumreleaseagestrict",children:"minimumReleaseAgeStrict"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/dependency-resolution#trustpolicy",children:"trustPolicy"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/dependency-resolution#trustpolicyexclude",children:"trustPolicyExclude"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/dependency-resolution#trustpolicyignoreafter",children:"trustPolicyIgnoreAfter"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/dependency-resolution#trustpolicyexcludeprune",children:"trustPolicyExcludePrune"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/dependency-resolution#trustlockfile",children:"trustLockfile"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/dependency-resolution#blockexoticsubdeps",children:"blockExoticSubdeps"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/dependency-resolution#registries",children:"registries"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/dependency-resolution#namedregistries",children:"namedRegistries"})}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"node-modules-settings",children:"Node-Modules Settings"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/node-modules#node-modules-settings",children:"Full reference \u2192"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/node-modules#modulesdir",children:"modulesDir"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/node-modules#nodelinker",children:"nodeLinker"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/node-modules#nodeexperimentalpackagemap",children:"nodeExperimentalPackageMap"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/node-modules#nodepackagemaptype",children:"nodePackageMapType"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/node-modules#symlink",children:"symlink"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/node-modules#enablemodulesdir",children:"enableModulesDir"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/node-modules#virtualstoredir",children:"virtualStoreDir"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/node-modules#virtualstoredirmaxlength",children:"virtualStoreDirMaxLength"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/node-modules#virtualstoreonly",children:"virtualStoreOnly"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/node-modules#packageimportmethod",children:"packageImportMethod"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/node-modules#modulescachemaxage",children:"modulesCacheMaxAge"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/node-modules#dlxcachemaxage",children:"dlxCacheMaxAge"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/node-modules#virtualstoretype",children:"virtualStoreType"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/node-modules#enableglobalvirtualstore",children:"enableGlobalVirtualStore"})}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"dependency-hoisting-settings",children:"Dependency Hoisting Settings"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/node-modules#dependency-hoisting-settings",children:"Full reference \u2192"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/node-modules#hoist",children:"hoist"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/node-modules#hoistpattern",children:"hoistPattern"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/node-modules#publichoistpattern",children:"publicHoistPattern"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/node-modules#hoistworkspacepackages",ch
1ildren:"hoistWorkspacePackages"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/node-modules#shamefullyhoist",children:"shamefullyHoist"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/node-modules#hoistinglimits",children:"hoistingLimits"})}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"store-settings",children:"Store Settings"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/store#store-settings",children:"Full reference \u2192"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/store#storedir",children:"storeDir"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/store#verifystoreintegrity",children:"verifyStoreIntegrity"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/store#userunningstoreserver",children:"useRunningStoreServer"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/store#strictstorepkgcontentcheck",children:"strictStorePkgContentCheck"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/store#frozenstore",children:"frozenStore"})}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"lockfile-settings",children:"Lockfile Settings"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/store#lockfile-settings",children:"Full reference \u2192"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/store#lockfile",children:"lockfile"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/store#preferfrozenlockfile",children:"preferFrozenLockfile"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/store#lockfileincludetarballurl",children:"lockfileIncludeTarballUrl"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/store#gitbranchlockfile",children:"gitBranchLockfile"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/store#mergegitbranchlockfilesbranchpattern",children:"mergeGitBranchLockfilesBranchPattern"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/store#peerssuffixmaxlength",children:"peersSuffixMaxLength"})}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"network-settings",children:"Network Settings"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/network#network-settings",children:"Full reference \u2192"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/network#httpsproxy",children:"httpsProxy"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/network#httpproxy",children:"httpProxy"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/network#noproxy",children:"noProxy"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/network#localaddress",children:"localAddress"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/network#maxsockets",children:"maxsockets"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/network#strictssl",children:"strictSsl"})}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"request-settings",children:"Request Settings"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/network#request-settings",children:"Full reference \u2192"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/network#gitshallowhosts",children:"gitShallowHosts"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/network#networkconcurrency",children:"networkConcurrency"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/network#fetchretries",children:"fetchRetries"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/network#fetchretryfactor",children:"fetchRetryFactor"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/network#fetchretrymintimeout",children:"fetchRetryMintimeout"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/network#fetchretrymaxtimeout",children:"fetchRetryMaxtimeout"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/network#fetchtimeout",children:"fetchTimeout"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/network#fetchwarntimeoutms",children:"fetchWarnTimeoutMs"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/network#fetchminspeedkibps",children:"fetchMinSpeedKiBps"})}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"peer-dependency-settings",children:"Peer Dependency Settings"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/peer-dependencies",children:"Full reference \u2192"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"/11.x/settings/peer-dependencies#autoinstallpeers",children:"autoInstallPeers"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/peer-dependencies#version-conflicts",children:"Version Conflicts"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/peer-dependencies#conflict-resolution",children:"Conflict Resolution"})}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/peer-dependencies#dedupepeerdependents",children:"dedupePeerDependents"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/peer-dependencies#dedupepeers",children:"dedupePeer
1s"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/peer-dependencies#strictpeerdependencies",children:"strictPeerDependencies"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/peer-dependencies#resolvepeersfromworkspaceroot",children:"resolvePeersFromWorkspaceRoot"})}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"/11.x/settings/peer-dependencies#peerdependencyrules",children:"peerDependencyRules"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/peer-dependencies#peerdependencyrulesignoremissing",children:"peerDependencyRules.ignoreMissing"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/peer-dependencies#peerdependencyrulesallowedversions",children:"peerDependencyRules.allowedVersions"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/peer-dependencies#peerdependencyrulesallowany",children:"peerDependencyRules.allowAny"})}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"cli-settings",children:"CLI Settings"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/cli#cli-settings",children:"Full reference \u2192"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/cli#no-color",children:"[no-]color"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/cli#loglevel",children:"loglevel"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/cli#usebetacli",children:"useBetaCli"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/cli#recursiveinstall",children:"recursiveInstall"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/cli#enginestrict",children:"engineStrict"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/cli#npmpath",children:"npmPath"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/cli#pmonfail",children:"pmOnFail"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/cli#ignoreworkspacerootcheck",children:"ignoreWorkspaceRootCheck"})}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"nodejs-settings",children:"Node.js Settings"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/cli#nodejs-settings",children:"Full reference \u2192"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/cli#nodeversion",children:"nodeVersion"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/cli#runtimeonfail",children:"runtimeOnFail"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/cli#nodedownloadmirrors",children:"nodeDownloadMirrors"})}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"build-settings",children:"Build Settings"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/build",children:"Full reference \u2192"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/build#ignorescripts",children:"ignoreScripts"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/build#childconcurrency",children:"childConcurrency"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/build#sideeffectscache",children:"sideEffectsCache"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/build#sideeffectscachereadonly",children:"sideEffectsCacheReadonly"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/build#sideeffectscacheremote",children:"sideEffectsCache.remote"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/build#unsafeperm",children:"unsafePerm"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/build#nodeoptions",children:"nodeOptions"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/build#verifydepsbeforerun",children:"verifyDepsBeforeRun"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/build#strictdepbuilds",children:"strictDepBuilds"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/build#allowbuilds",children:"allowBuilds"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/build#dangerouslyallowallbuilds",children:"dangerouslyAllowAllBuilds"})}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"versioning-settings",children:"Versioning Settings"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/versioning",children:"Full reference \u2192"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/versioning#versioningfixed",children:"versioning.fixed"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/versioning#versioningignore",children:"versioning.ignore"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/versioning#versioningmaxbump",children:"versioning.maxBump"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/versioning#versioninglanes",children:"versioning.lanes"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/versioning#versioningepics",children:"versioning.epics"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/versioning#versioningchangelogstorage",children:"versioning.changelog.storage"})}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"other-settings",children:"Other Settings"}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/other",children:"Full reference \u2192"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/other#saveprefix",children:"savePrefix"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/other#tag",children:"tag"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/other#globaldir",children:"globalDir"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/other#globalbindir",children:"globalBinDir"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/other#npmrcauthfile",children:"npmrcAuthFile"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/other#statedir",children:"stateDir"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/other#cachedir",children:"cacheDir"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/other#usestderr",children:"useStderr"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/other#updatenotifier",children:"updateNotifier"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/other#prefersymlinkedexecutables",children:"preferSymlinkedExecutables"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/other#ignorecompatibilitydb",children:"ignoreCompatibilityDb"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/other#resolutionmode",children:"resolutionMode"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/other#registrysupportstimefield",children:"registrySupportsTimeField"})}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"/11.x/settings/other#extendnodepath",children:"extendNodePath"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/other#why-this-is-needed",children:"Why this is needed"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/other#when-to-disable",children:"When to disable"})}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/other#deployallfiles",children:"deployAllFiles"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/other#dedupedirectdeps",children:"dedupeDirectDeps"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/other#optimisticrepeatinstall",children:"optimisticRepeatInstall"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/other#requiredscripts",children:"requiredScripts"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/other#enableprepostscripts",children:"enablePrePostScripts"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/other#scriptshell",children:"scriptShell"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/other#shellemulator",children:"shellEmulator"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/other#catalogmode",children:"catalogMode"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/other#ci",children:"ci"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/settings/other#catalogprune",children:"catalogPrune"})}),"\n"]}
1),"\n",(0,r.jsx)(n.h3,{id:"workspace-settings",children:"Workspace Settings"}),"\n",(0,r.jsxs)(n.p,{children:["These settings are configured in ",(0,r.jsx)(n.code,{children:"pnpm-workspace.yaml"})," as well, but are documented together with the workspace feature they belong to."]}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.a,{href:"/11.x/workspaces#configuration",children:"Full reference \u2192"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/workspaces#linkworkspacepackages",children:"linkWorkspacePackages"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/workspaces#injectworkspacepackages",children:"injectWorkspacePackages"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/workspaces#dedupeinjecteddeps",children:"dedupeInjectedDeps"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/workspaces#syncinjecteddepsafterscripts",children:"syncInjectedDepsAfterScripts"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/workspaces#preferworkspacepackages",children:"preferWorkspacePackages"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/workspaces#sharedworkspacelockfile",children:"sharedWorkspaceLockfile"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/workspaces#saveworkspaceprotocol",children:"saveWorkspaceProtocol"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/workspaces#includeworkspaceroot",children:"includeWorkspaceRoot"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/workspaces#ignoreworkspacecycles",children:"ignoreWorkspaceCycles"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/workspaces#disallowworkspacecycles",children:"disallowWorkspaceCycles"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/workspaces#failifnomatch",children:"failIfNoMatch"})}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"settings-documented-elsewhere",children:"Settings documented elsewhere"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/cli/patch#patcheddependencies",children:"patchedDependencies"})}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"/11.x/pnpmfile#pnpmfile",children:"pnpmfile"}),", ",(0,r.jsx)(n.a,{href:"/11.x/pnpmfile#globalpnpmfile",children:"globalPnpmfile"})," and ",(0,r.jsx)(n.a,{href:"/11.x/pnpmfile#ignorepnpmfile",children:"ignorePnpmfile"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"/11.x/cli/audit#auditlevel",children:"audit.level"}),", ",(0,r.jsx)(n.a,{href:"/11.x/cli/audit#auditignore",children:"audit.ignore"})," and ",(0,r.jsx)(n.a,{href:"/11.x/cli/audit#auditignoreprune",children:"audit.ignorePrune"})]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.a,{href:"/11.x/cli/init#initversion",children:"initVersion"}),", ",(0,r.jsx)(n.a,{href:"/11.x/cli/init#initlicense",children:"initLicense"})," and ",(0,r.jsx)(n.a,{href:"/11.x/cli/init#initauthorname-initauthoremail-initauthorurl",children:"initAuthorName / initAuthorEmail / initAuthorUrl"})]}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"/11.x/filtering#legacydirfiltering",children:"legacyDirFiltering"})}),"\n",(0,r.jsxs)(n.li,{children:["Authorization settings, which are read from ",(0,r.jsx)(n.a,{href:"/11.x/npmrc",children:(0,r.jsx)(n.code,{children:".npmrc"})})]}),"\n"]})]})}function x(e={}){let{wrapper:n}={...(0,l.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},44274(e,n,i){i.d(n,{A:()=>r});var s=i(71763);function r(){return(0,s.useEffect)(()=>{function e(){let e=window.location.hash.slice(1);if(!e||null!=document.getElementById(e))return;let n="u">typeof CSS&&CSS.escape?CSS.escape(e):e;for(let e of document.querySelectorAll(`a[href$="#${n}"]`))if(e.pathname!==window.location.pathname)return void window.location.replace(e.href)}return e(),window.addEventListener("hashchange",e),()=>window.removeEventListener("hashchange",e)},[]),null}},67008(e,n,i){i.d(n,{R:()=>t,x:()=>c});var s=i(71763);let r={},l=s.createContext(r);function t(e){let n=s.useContext(l);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),s.createElement(l.Provider,{value:n},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.