[{"data":1,"prerenderedAt":842},["ShallowReactive",2],{"docs-page:\u002Fdocs\u002Fpackage-manager\u002Flifecycle-scripts":3,"docs-pages":498},{"id":4,"title":5,"body":6,"description":490,"extension":491,"meta":492,"navigation":493,"path":494,"seo":495,"stem":496,"__hash__":497},"docs\u002Fdocs\u002Fpackage-manager\u002Flifecycle-scripts.md","Lifecycle scripts",{"type":7,"value":8,"toc":482},"minimark",[9,13,34,39,42,58,62,65,87,90,107,156,185,202,268,280,305,309,312,326,344,355,358,407,410,430,439,443,449,453,456,460,478],[10,11,5],"h1",{"id":12},"lifecycle-scripts",[14,15,16,17,21,22,25,26,29,30,33],"p",{},"Packages can define lifecycle scripts such as ",[18,19,20],"code",{},"preinstall",", ",[18,23,24],{},"install",",\n",[18,27,28],{},"postinstall",", and ",[18,31,32],{},"prepare",". scpm treats root scripts and dependency scripts\ndifferently.",[35,36,38],"h2",{"id":37},"root-scripts","Root scripts",[14,40,41],{},"Root package scripts run during install unless scripts are ignored:",[43,44,49],"pre",{"className":45,"code":46,"language":47,"meta":48,"style":48},"language-sh shiki shiki-themes github-light github-dark","scpm install --ignore-scripts\n","sh","",[18,50,51],{"__ignoreMap":48},[52,53,56],"span",{"class":54,"line":55},"line",1,[52,57,46],{},[35,59,61],{"id":60},"dependency-scripts","Dependency scripts",[14,63,64],{},"Dependency lifecycle scripts follow the pnpm v11 build approval model. Packages\nmust be explicitly allowlisted before their install-time scripts run.",[43,66,68],{"className":45,"code":67,"language":47,"meta":48,"style":48},"scpm ignored-builds\nscpm approve-builds\nscpm rebuild\n",[18,69,70,75,81],{"__ignoreMap":48},[52,71,72],{"class":54,"line":55},[52,73,74],{},"scpm ignored-builds\n",[52,76,78],{"class":54,"line":77},2,[52,79,80],{},"scpm approve-builds\n",[52,82,84],{"class":54,"line":83},3,[52,85,86],{},"scpm rebuild\n",[14,88,89],{},"Supported policy fields — scpm reads all of these at install time:",[14,91,92,93,96,97,100,101,103,104,106],{},"In ",[18,94,95],{},"scpm-workspace.yaml"," or ",[18,98,99],{},"pnpm-workspace.yaml"," (pnpm v11's build-review\nmap, and what scpm writes to — scpm creates ",[18,102,95],{}," from\nscratch, but mutates an existing ",[18,105,99],{}," in place):",[43,108,112],{"className":109,"code":110,"language":111,"meta":48,"style":48},"language-yaml shiki shiki-themes github-light github-dark","allowBuilds:\n  esbuild: true\n  sharp: true\n  untrusted-package: false\n","yaml",[18,113,114,124,136,145],{"__ignoreMap":48},[52,115,116,120],{"class":54,"line":55},[52,117,119],{"class":118},"s9eBZ","allowBuilds",[52,121,123],{"class":122},"sVt8B",":\n",[52,125,126,129,132],{"class":54,"line":77},[52,127,128],{"class":118},"  esbuild",[52,130,131],{"class":122},": ",[52,133,135],{"class":134},"sj4cs","true\n",[52,137,138,141,143],{"class":54,"line":83},[52,139,140],{"class":118},"  sharp",[52,142,131],{"class":122},[52,144,135],{"class":134},[52,146,148,151,153],{"class":54,"line":147},4,[52,149,150],{"class":118},"  untrusted-package",[52,152,131],{"class":122},[52,154,155],{"class":134},"false\n",[14,157,158,159,162,163,166,167,169,170,172,173,176,177,180,181,184],{},"The old ",[18,160,161],{},"onlyBuiltDependencies"," and ",[18,164,165],{},"neverBuiltDependencies"," list keys are\nstill honored as read-only compatibility inputs, but new approvals go into\n",[18,168,119],{},". When install sees an unreviewed dependency build, it adds that\npackage to ",[18,171,119],{}," with ",[18,174,175],{},"false","; ",[18,178,179],{},"scpm approve-builds"," flips reviewed\nentries to ",[18,182,183],{},"true",".",[14,186,92,187,190,191,194,195,198,199,201],{},[18,188,189],{},"package.json"," (legacy — still honored as a read source).\nEvery key under ",[18,192,193],{},"pnpm.*"," is also accepted under ",[18,196,197],{},"scpm.*","; when both are\npresent for the same key, ",[18,200,197],{}," wins. Disjoint entries from either\nnamespace merge.",[43,203,207],{"className":204,"code":205,"language":206,"meta":48,"style":48},"language-json shiki shiki-themes github-light github-dark","{\n  \"scpm\": {\n    \"allowBuilds\": {\n      \"esbuild\": true,\n      \"untrusted-package\": false\n    }\n  }\n}\n","json",[18,208,209,214,222,229,240,250,256,262],{"__ignoreMap":48},[52,210,211],{"class":54,"line":55},[52,212,213],{"class":122},"{\n",[52,215,216,219],{"class":54,"line":77},[52,217,218],{"class":134},"  \"scpm\"",[52,220,221],{"class":122},": {\n",[52,223,224,227],{"class":54,"line":83},[52,225,226],{"class":134},"    \"allowBuilds\"",[52,228,221],{"class":122},[52,230,231,234,236,238],{"class":54,"line":147},[52,232,233],{"class":134},"      \"esbuild\"",[52,235,131],{"class":122},[52,237,183],{"class":134},[52,239,25],{"class":122},[52,241,243,246,248],{"class":54,"line":242},5,[52,244,245],{"class":134},"      \"untrusted-package\"",[52,247,131],{"class":122},[52,249,155],{"class":134},[52,251,253],{"class":54,"line":252},6,[52,254,255],{"class":122},"    }\n",[52,257,259],{"class":54,"line":258},7,[52,260,261],{"class":122},"  }\n",[52,263,265],{"class":54,"line":264},8,[52,266,267],{"class":122},"}\n",[14,269,270,271,273,274,277,278,184],{},"Deny rules win over allow rules. Workspace-yaml entries and\n",[18,272,189],{}," entries merge; you don't have to migrate a legacy\n",[18,275,276],{},"pnpm.allowBuilds"," to start using ",[18,279,179],{},[14,281,282,283,286,287,290,291,294,295,25,298,301,302,304],{},"Entry keys support a bare package name (matches every version), an\nexact version pin (",[18,284,285],{},"esbuild@0.19.0","), an exact version union\n(",[18,288,289],{},"esbuild@0.19.0 || 0.20.0","), or a ",[18,292,293],{},"*"," wildcard name (",[18,296,297],{},"@babel\u002F*",[18,299,300],{},"*-loader",", or bare ",[18,303,293],{}," for everything). Wildcards can't be combined\nwith a version pin — the point of a version pin is to assert a\nspecific build was audited, and a wildcard defeats that. Semver\nranges aren't supported for the same reason.",[35,306,308],{"id":307},"jailed-dependency-builds","Jailed dependency builds",[14,310,311],{},"Build approval controls whether a dependency script may run at all. Jailed\nbuilds add a second boundary for approved packages:",[43,313,315],{"className":109,"code":314,"language":111,"meta":48,"style":48},"jailBuilds: true\n",[18,316,317],{"__ignoreMap":48},[52,318,319,322,324],{"class":54,"line":55},[52,320,321],{"class":118},"jailBuilds",[52,323,131],{"class":122},[52,325,135],{"class":134},[14,327,328,329,331,332,21,334,336,337,339,340,343],{},"With ",[18,330,321],{}," enabled, approved dependency ",[18,333,20],{},[18,335,24],{},", and\n",[18,338,28],{}," scripts run with a scrubbed environment and a temporary ",[18,341,342],{},"HOME",".\nOn macOS and Linux, scpm also applies a native jail that denies network access\nand restricts filesystem writes to the package directory and temporary\ndirectories.",[14,345,346,348,349,351,352,354],{},[18,347,321],{}," defaults to ",[18,350,175],{}," today and is planned to default to ",[18,353,183],{}," in\nthe next major version.",[14,356,357],{},"For packages that need a narrow exception, grant only that privilege:",[43,359,361],{"className":109,"code":360,"language":111,"meta":48,"style":48},"jailBuildPermissions:\n  \"@vendor\u002F*\":\n    env:\n      - SHARP_DIST_BASE_URL\n    write:\n      - ~\u002F.cache\u002Fsharp\n",[18,362,363,370,378,385,393,400],{"__ignoreMap":48},[52,364,365,368],{"class":54,"line":55},[52,366,367],{"class":118},"jailBuildPermissions",[52,369,123],{"class":122},[52,371,372,376],{"class":54,"line":77},[52,373,375],{"class":374},"sZZnC","  \"@vendor\u002F*\"",[52,377,123],{"class":122},[52,379,380,383],{"class":54,"line":83},[52,381,382],{"class":118},"    env",[52,384,123],{"class":122},[52,386,387,390],{"class":54,"line":147},[52,388,389],{"class":122},"      - ",[52,391,392],{"class":374},"SHARP_DIST_BASE_URL\n",[52,394,395,398],{"class":54,"line":242},[52,396,397],{"class":118},"    write",[52,399,123],{"class":122},[52,401,402,404],{"class":54,"line":252},[52,403,389],{"class":122},[52,405,406],{"class":374},"~\u002F.cache\u002Fsharp\n",[14,408,409],{},"For packages that cannot run in the jail yet, disable the jail for a package\nglob while keeping the build approval requirement:",[43,411,413],{"className":109,"code":412,"language":111,"meta":48,"style":48},"jailBuildExclusions:\n  - \"@legacy-native\u002F*\"\n",[18,414,415,422],{"__ignoreMap":48},[52,416,417,420],{"class":54,"line":55},[52,418,419],{"class":118},"jailBuildExclusions",[52,421,123],{"class":122},[52,423,424,427],{"class":54,"line":77},[52,425,426],{"class":122},"  - ",[52,428,429],{"class":374},"\"@legacy-native\u002F*\"\n",[14,431,432,433,438],{},"See ",[434,435,437],"a",{"href":436},"\u002Fdocs\u002Fpackage-manager\u002Fjailed-builds","Jailed builds"," for the full profile,\nsupported permissions, and platform behavior.",[35,440,442],{"id":441},"git-dependencies","Git dependencies",[14,444,445,446,448],{},"Git dependencies with ",[18,447,32],{}," scripts get a nested install in the clone\nbefore scpm snapshots the package. The final linked package uses the packed\nresult, not the raw checkout.",[35,450,452],{"id":451},"side-effects-cache","Side effects cache",[14,454,455],{},"Allowlisted dependency builds can cache their post-build package tree and reuse\nit on future installs with the same input hash.",[35,457,459],{"id":458},"bun-comparison","Bun comparison",[14,461,462,463,466,467,469,470,473,474,477],{},"Bun also treats dependency scripts as a security boundary and uses an allowlist\nmodel through ",[18,464,465],{},"trustedDependencies",". scpm reads the top-level\n",[18,468,465],{}," array as an additional allow-source alongside\n",[18,471,472],{},"pnpm.onlyBuiltDependencies",", so bun projects work without rewriting the\nmanifest. ",[18,475,476],{},"pnpm.neverBuiltDependencies"," still wins when both sides list the\nsame package.",[479,480,481],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}",{"title":48,"searchDepth":77,"depth":77,"links":483},[484,485,486,487,488,489],{"id":37,"depth":77,"text":38},{"id":60,"depth":77,"text":61},{"id":307,"depth":77,"text":308},{"id":441,"depth":77,"text":442},{"id":451,"depth":77,"text":452},{"id":458,"depth":77,"text":459},"Packages can define lifecycle scripts such as preinstall, install,\npostinstall, and prepare. scpm treats root scripts and dependency scripts\ndifferently.","md",{},true,"\u002Fdocs\u002Fpackage-manager\u002Flifecycle-scripts",{"title":5,"description":490},"docs\u002Fpackage-manager\u002Flifecycle-scripts","Ws1FPVCXJvqebVxBY8lmfpZ1h5LwXCEv2UNmikIHY58",[499,502,505,508,510,513,516,519,522,525,528,531,534,537,540,543,546,549,552,555,558,561,564,567,570,573,576,579,582,585,588,591,594,597,600,603,606,609,612,615,618,621,624,627,630,633,636,639,642,645,648,651,654,657,660,663,666,669,672,675,678,681,684,687,690,693,696,699,702,705,708,711,714,717,720,723,726,729,732,735,738,741,744,747,750,753,756,759,762,765,768,771,774,777,780,783,786,789,792,793,794,797,800,803,806,809,812,815,818,821,824,827,830,833,836,839],{"path":500,"title":501},"\u002Fdocs\u002Fbenchmarks","Benchmarks",{"path":503,"title":504},"\u002Fdocs\u002Fbun-users","For bun users",{"path":506,"title":507},"\u002Fdocs\u002Fcli\u002Fadd","scpm add",{"path":509,"title":179},"\u002Fdocs\u002Fcli\u002Fapprove-builds",{"path":511,"title":512},"\u002Fdocs\u002Fcli\u002Faudit","scpm audit",{"path":514,"title":515},"\u002Fdocs\u002Fcli\u002Fbin","scpm bin",{"path":517,"title":518},"\u002Fdocs\u002Fcli\u002Fcache","scpm cache",{"path":520,"title":521},"\u002Fdocs\u002Fcli\u002Fcache\u002Fdelete","scpm cache delete",{"path":523,"title":524},"\u002Fdocs\u002Fcli\u002Fcache\u002Flist","scpm cache list",{"path":526,"title":527},"\u002Fdocs\u002Fcli\u002Fcache\u002Flist-registries","scpm cache list-registries",{"path":529,"title":530},"\u002Fdocs\u002Fcli\u002Fcache\u002Fprune","scpm cache prune",{"path":532,"title":533},"\u002Fdocs\u002Fcli\u002Fcache\u002Fview","scpm cache view",{"path":535,"title":536},"\u002Fdocs\u002Fcli\u002Fcat-file","scpm cat-file",{"path":538,"title":539},"\u002Fdocs\u002Fcli\u002Fcat-index","scpm cat-index",{"path":541,"title":542},"\u002Fdocs\u002Fcli\u002Fcheck","scpm check",{"path":544,"title":545},"\u002Fdocs\u002Fcli\u002Fci","scpm ci",{"path":547,"title":548},"\u002Fdocs\u002Fcli\u002Fclean","scpm clean",{"path":550,"title":551},"\u002Fdocs\u002Fcli\u002Fcompletion","scpm completion",{"path":553,"title":554},"\u002Fdocs\u002Fcli\u002Fconfig","scpm config",{"path":556,"title":557},"\u002Fdocs\u002Fcli\u002Fconfig\u002Fdelete","scpm config delete",{"path":559,"title":560},"\u002Fdocs\u002Fcli\u002Fconfig\u002Fexplain","scpm config explain",{"path":562,"title":563},"\u002Fdocs\u002Fcli\u002Fconfig\u002Ffind","scpm config find",{"path":565,"title":566},"\u002Fdocs\u002Fcli\u002Fconfig\u002Fget","scpm config get",{"path":568,"title":569},"\u002Fdocs\u002Fcli\u002Fconfig\u002Flist","scpm config list",{"path":571,"title":572},"\u002Fdocs\u002Fcli\u002Fconfig\u002Fset","scpm config set",{"path":574,"title":575},"\u002Fdocs\u002Fcli\u002Fconfig\u002Ftui","scpm config tui",{"path":577,"title":578},"\u002Fdocs\u002Fcli\u002Fcreate","scpm create",{"path":580,"title":581},"\u002Fdocs\u002Fcli\u002Fdedupe","scpm dedupe",{"path":583,"title":584},"\u002Fdocs\u002Fcli\u002Fdeploy","scpm deploy",{"path":586,"title":587},"\u002Fdocs\u002Fcli\u002Fdeprecate","scpm deprecate",{"path":589,"title":590},"\u002Fdocs\u002Fcli\u002Fdeprecations","scpm deprecations",{"path":592,"title":593},"\u002Fdocs\u002Fcli\u002Fdiag","scpm diag",{"path":595,"title":596},"\u002Fdocs\u002Fcli\u002Fdiag\u002Fanalyze","scpm diag analyze",{"path":598,"title":599},"\u002Fdocs\u002Fcli\u002Fdiag\u002Fcompare","scpm diag compare",{"path":601,"title":602},"\u002Fdocs\u002Fcli\u002Fdist-tag","scpm dist-tag",{"path":604,"title":605},"\u002Fdocs\u002Fcli\u002Fdist-tag\u002Fadd","scpm dist-tag add",{"path":607,"title":608},"\u002Fdocs\u002Fcli\u002Fdist-tag\u002Fls","scpm dist-tag ls",{"path":610,"title":611},"\u002Fdocs\u002Fcli\u002Fdist-tag\u002Frm","scpm dist-tag rm",{"path":613,"title":614},"\u002Fdocs\u002Fcli\u002Fdlx","scpm dlx",{"path":616,"title":617},"\u002Fdocs\u002Fcli\u002Fdoctor","scpm doctor",{"path":619,"title":620},"\u002Fdocs\u002Fcli\u002Fexec","scpm exec",{"path":622,"title":623},"\u002Fdocs\u002Fcli\u002Ffetch","scpm fetch",{"path":625,"title":626},"\u002Fdocs\u002Fcli\u002Ffind-hash","scpm find-hash",{"path":628,"title":629},"\u002Fdocs\u002Fcli\u002Fignored-builds","scpm ignored-builds",{"path":631,"title":632},"\u002Fdocs\u002Fcli\u002Fimport","scpm import",{"path":634,"title":635},"\u002Fdocs\u002Fcli","scpm",{"path":637,"title":638},"\u002Fdocs\u002Fcli\u002Finit","scpm init",{"path":640,"title":641},"\u002Fdocs\u002Fcli\u002Finstall","scpm install",{"path":643,"title":644},"\u002Fdocs\u002Fcli\u002Flicenses","scpm licenses",{"path":646,"title":647},"\u002Fdocs\u002Fcli\u002Flink","scpm link",{"path":649,"title":650},"\u002Fdocs\u002Fcli\u002Flist","scpm list",{"path":652,"title":653},"\u002Fdocs\u002Fcli\u002Flogin","scpm login",{"path":655,"title":656},"\u002Fdocs\u002Fcli\u002Flogout","scpm logout",{"path":658,"title":659},"\u002Fdocs\u002Fcli\u002Foutdated","scpm outdated",{"path":661,"title":662},"\u002Fdocs\u002Fcli\u002Fpack","scpm pack",{"path":664,"title":665},"\u002Fdocs\u002Fcli\u002Fpatch","scpm patch",{"path":667,"title":668},"\u002Fdocs\u002Fcli\u002Fpatch-commit","scpm patch-commit",{"path":670,"title":671},"\u002Fdocs\u002Fcli\u002Fpatch-remove","scpm patch-remove",{"path":673,"title":674},"\u002Fdocs\u002Fcli\u002Fpeers","scpm peers",{"path":676,"title":677},"\u002Fdocs\u002Fcli\u002Fpeers\u002Fcheck","scpm peers check",{"path":679,"title":680},"\u002Fdocs\u002Fcli\u002Fprune","scpm prune",{"path":682,"title":683},"\u002Fdocs\u002Fcli\u002Fpublish","scpm publish",{"path":685,"title":686},"\u002Fdocs\u002Fcli\u002Fpurge","scpm purge",{"path":688,"title":689},"\u002Fdocs\u002Fcli\u002Fquery","scpm query",{"path":691,"title":692},"\u002Fdocs\u002Fcli\u002Frebuild","scpm rebuild",{"path":694,"title":695},"\u002Fdocs\u002Fcli\u002Frecursive","scpm recursive",{"path":697,"title":698},"\u002Fdocs\u002Fcli\u002Fremove","scpm remove",{"path":700,"title":701},"\u002Fdocs\u002Fcli\u002Frestart","scpm restart",{"path":703,"title":704},"\u002Fdocs\u002Fcli\u002Froot","scpm root",{"path":706,"title":707},"\u002Fdocs\u002Fcli\u002Frun","scpm run",{"path":709,"title":710},"\u002Fdocs\u002Fcli\u002Fsbom","scpm sbom",{"path":712,"title":713},"\u002Fdocs\u002Fcli\u002Fsponsors","scpm sponsors",{"path":715,"title":716},"\u002Fdocs\u002Fcli\u002Fstage","scpm stage",{"path":718,"title":719},"\u002Fdocs\u002Fcli\u002Fstart","scpm start",{"path":721,"title":722},"\u002Fdocs\u002Fcli\u002Fstop","scpm stop",{"path":724,"title":725},"\u002Fdocs\u002Fcli\u002Fstore","scpm store",{"path":727,"title":728},"\u002Fdocs\u002Fcli\u002Fstore\u002Fadd","scpm store add",{"path":730,"title":731},"\u002Fdocs\u002Fcli\u002Fstore\u002Fpath","scpm store path",{"path":733,"title":734},"\u002Fdocs\u002Fcli\u002Fstore\u002Fprune","scpm store prune",{"path":736,"title":737},"\u002Fdocs\u002Fcli\u002Fstore\u002Fstatus","scpm store status",{"path":739,"title":740},"\u002Fdocs\u002Fcli\u002Ftest","scpm test",{"path":742,"title":743},"\u002Fdocs\u002Fcli\u002Fundeprecate","scpm undeprecate",{"path":745,"title":746},"\u002Fdocs\u002Fcli\u002Funlink","scpm unlink",{"path":748,"title":749},"\u002Fdocs\u002Fcli\u002Funpublish","scpm unpublish",{"path":751,"title":752},"\u002Fdocs\u002Fcli\u002Fupdate","scpm update",{"path":754,"title":755},"\u002Fdocs\u002Fcli\u002Fversion","scpm version",{"path":757,"title":758},"\u002Fdocs\u002Fcli\u002Fview","scpm view",{"path":760,"title":761},"\u002Fdocs\u002Fcli\u002Fwhy","scpm why",{"path":763,"title":764},"\u002Fdocs\u002Ferror-codes","Error and warning codes",{"path":766,"title":767},"\u002Fdocs\u002Fgetting-started","Getting Started",{"path":769,"title":770},"\u002Fdocs\u002Fguide","Guide",{"path":772,"title":773},"\u002Fdocs","SCPM Documentation",{"path":775,"title":776},"\u002Fdocs\u002Finstallation","Installation",{"path":778,"title":779},"\u002Fdocs\u002Fnpm-users","For npm users",{"path":781,"title":782},"\u002Fdocs\u002Fpackage-manager\u002Fconfiguration","Configuration",{"path":784,"title":785},"\u002Fdocs\u002Fpackage-manager\u002Fdependencies","Manage dependencies",{"path":787,"title":788},"\u002Fdocs\u002Fpackage-manager\u002Fglobal-virtual-store","Global virtual store",{"path":790,"title":791},"\u002Fdocs\u002Fpackage-manager\u002Finstall","Install dependencies",{"path":436,"title":308},{"path":494,"title":5},{"path":795,"title":796},"\u002Fdocs\u002Fpackage-manager\u002Flockfiles","Lockfiles",{"path":798,"title":799},"\u002Fdocs\u002Fpackage-manager\u002Fnode-modules","node_modules layout",{"path":801,"title":802},"\u002Fdocs\u002Fpackage-manager\u002Fpublishing","Publishing",{"path":804,"title":805},"\u002Fdocs\u002Fpackage-manager\u002Fregistry-auth","Registry and auth",{"path":807,"title":808},"\u002Fdocs\u002Fpackage-manager\u002Fscripts","Run scripts and binaries",{"path":810,"title":811},"\u002Fdocs\u002Fpackage-manager\u002Fsecurity-scanner","Security scanner",{"path":813,"title":814},"\u002Fdocs\u002Fpackage-manager\u002Fworkspaces","Workspaces",{"path":816,"title":817},"\u002Fdocs\u002Fpnpm-users","For pnpm users",{"path":819,"title":820},"\u002Fdocs\u002Fsecurity","Security",{"path":822,"title":823},"\u002Fdocs\u002Fsettings\u002Fcli","CLI Settings",{"path":825,"title":826},"\u002Fdocs\u002Fsettings\u002Fenv","Environment Settings",{"path":828,"title":829},"\u002Fdocs\u002Fsettings","Settings",{"path":831,"title":832},"\u002Fdocs\u002Fsettings\u002Fnpmrc",".npmrc Settings",{"path":834,"title":835},"\u002Fdocs\u002Fsettings\u002Fworkspace-yaml","Workspace YAML Settings",{"path":837,"title":838},"\u002Fdocs\u002Ftroubleshooting","Troubleshooting",{"path":840,"title":841},"\u002Fdocs\u002Fyarn-users","For yarn users",1780584396926]