[{"data":1,"prerenderedAt":743},["ShallowReactive",2],{"docs-page:\u002Fdocs\u002Fcli\u002Fpublish":3,"docs-pages":396},{"id":4,"title":5,"body":6,"description":368,"extension":389,"meta":390,"navigation":391,"path":392,"seo":393,"stem":394,"__hash__":395},"docs\u002Fdocs\u002Fcli\u002Fpublish.md","scpm publish",{"type":7,"value":8,"toc":367},"minimark",[9,16,30,34,39,46,57,71,77,80,86,89,106,112,115,142,148,151,161,167,170,173,179,182,189,195,198,205,211,218,224,227,248,254,257,282,288,291,304,310,313,325,331,334,355,361,364],[10,11,13],"h1",{"id":12},"scpm-publish",[14,15,5],"code",{},[17,18,19],"ul",{},[20,21,22,26,27],"li",{},[23,24,25],"strong",{},"Usage",": ",[14,28,29],{},"scpm publish [FLAGS]",[31,32,33],"p",{},"Publish the current package to the registry",[35,36,38],"h2",{"id":37},"flags","Flags",[40,41,43],"h3",{"id":42},"access-level",[14,44,45],{},"--access \u003CLEVEL>",[31,47,48,49,52,53,56],{},"Publish as ",[14,50,51],{},"public"," or ",[14,54,55],{},"restricted",".",[31,58,59,60,63,64,66,67,70],{},"Sent as the ",[14,61,62],{},"access"," field in the publish body; scoped packages default to ",[14,65,55],{}," on the registry side, so pass ",[14,68,69],{},"--access=public"," to make a new scoped package world-readable.",[40,72,74],{"id":73},"dry-run",[14,75,76],{},"--dry-run",[31,78,79],{},"Don't upload; print what would be published",[40,81,83],{"id":82},"force",[14,84,85],{},"--force",[31,87,88],{},"Republish even when the version is already on the registry.",[31,90,91,92,94,95,98,99,102,103,105],{},"By default ",[14,93,5],{}," issues a GET before the PUT and refuses to proceed when the version exists, surfacing a clear error instead of relying on the registry to return 409. In ",[14,96,97],{},"--recursive"," \u002F ",[14,100,101],{},"--filter"," mode, ",[14,104,85],{}," overrides the silent \"already-published\" skip so every selected workspace package is re-PUT. The registry must still accept the republish — npm's public registry rejects re-publishes outright; Verdaccio and most private mirrors allow them.",[40,107,109],{"id":108},"ignore-scripts",[14,110,111],{},"--ignore-scripts",[31,113,114],{},"Skip publish lifecycle scripts.",[31,116,117,118,121,122,121,125,121,128,121,131,121,134,137,138,141],{},"Suppresses ",[14,119,120],{},"prepublishOnly",", ",[14,123,124],{},"prepublish",[14,126,127],{},"prepack",[14,129,130],{},"prepare",[14,132,133],{},"postpack",[14,135,136],{},"publish",", and ",[14,139,140],{},"postpublish"," scripts for this publish.",[40,143,145],{"id":144},"json",[14,146,147],{},"--json",[31,149,150],{},"Emit the publish result as JSON.",[31,152,153,154,98,157,160],{},"Output matches ",[14,155,156],{},"npm publish --json",[14,158,159],{},"pnpm publish --json","; recursive multi-package publishes emit an array.",[40,162,164],{"id":163},"no-git-checks",[14,165,166],{},"--no-git-checks",[31,168,169],{},"Skip the \"working tree must be clean\" check.",[31,171,172],{},"When unset, scpm refuses to publish from a dirty git checkout (uncommitted tracked changes) or from a detached \u002F non-release branch.",[40,174,176],{"id":175},"otp-code",[14,177,178],{},"--otp \u003CCODE>",[31,180,181],{},"One-time password for registries that require 2FA.",[31,183,184,185,188],{},"Sent verbatim as the ",[14,186,187],{},"npm-otp"," header.",[40,190,192],{"id":191},"provenance",[14,193,194],{},"--provenance",[31,196,197],{},"Generate a SLSA provenance attestation and attach it to the publish body.",[31,199,200,201,204],{},"Requires an OIDC-capable CI environment (GitHub Actions with ",[14,202,203],{},"id-token: write",", GitLab CI, Buildkite, or CircleCI) — scpm signs via the Sigstore public-good instance (Fulcio + Rekor) and attaches the resulting bundle so registries that honor npm's provenance protocol light up the \"provenance\" badge on the published version.",[40,206,208],{"id":207},"tag-tag",[14,209,210],{},"--tag \u003CTAG>",[31,212,213,214,217],{},"Default dist-tag to publish under (default: ",[14,215,216],{},"latest",")",[40,219,221],{"id":220},"fetch-retries-n",[14,222,223],{},"--fetch-retries \u003CN>",[31,225,226],{},"Number of retry attempts for failed registry fetches.",[31,228,229,230,98,233,236,237,98,240,243,244,247],{},"Overrides ",[14,231,232],{},"fetchRetries",[14,234,235],{},"fetch-retries"," from ",[14,238,239],{},".npmrc",[14,241,242],{},"scpm-workspace.yaml"," when set. Pair with ",[14,245,246],{},"--fetch-timeout"," to fail fast in scripted test runs.",[40,249,251],{"id":250},"fetch-retry-factor-n",[14,252,253],{},"--fetch-retry-factor \u003CN>",[31,255,256],{},"Exponential backoff factor between retry attempts.",[31,258,229,259,98,262,236,265,98,267,269,270,273,274,277,278,281],{},[14,260,261],{},"fetchRetryFactor",[14,263,264],{},"fetch-retry-factor",[14,266,239],{},[14,268,242],{}," when set. Integer-only — the underlying ",[14,271,272],{},"FetchPolicy.retry_factor"," is ",[14,275,276],{},"u32",". Fractional values like ",[14,279,280],{},"1.5"," are rejected by clap.",[40,283,285],{"id":284},"fetch-retry-maxtimeout-ms",[14,286,287],{},"--fetch-retry-maxtimeout \u003CMS>",[31,289,290],{},"Upper bound (ms) on the computed retry backoff.",[31,292,229,293,98,296,236,299,98,301,303],{},[14,294,295],{},"fetchRetryMaxtimeout",[14,297,298],{},"fetch-retry-maxtimeout",[14,300,239],{},[14,302,242],{}," when set.",[40,305,307],{"id":306},"fetch-retry-mintimeout-ms",[14,308,309],{},"--fetch-retry-mintimeout \u003CMS>",[31,311,312],{},"Lower bound (ms) on the computed retry backoff.",[31,314,229,315,98,318,236,321,98,323,303],{},[14,316,317],{},"fetchRetryMintimeout",[14,319,320],{},"fetch-retry-mintimeout",[14,322,239],{},[14,324,242],{},[40,326,328],{"id":327},"fetch-timeout-ms",[14,329,330],{},"--fetch-timeout \u003CMS>",[31,332,333],{},"Per-request HTTP timeout in milliseconds.",[31,335,229,336,98,339,236,342,98,344,346,347,350,351,354],{},[14,337,338],{},"fetchTimeout",[14,340,341],{},"fetch-timeout",[14,343,239],{},[14,345,242],{}," when set. Applied via ",[14,348,349],{},"reqwest","'s ",[14,352,353],{},".timeout()"," so it covers headers + body together.",[40,356,358],{"id":357},"registry-url",[14,359,360],{},"--registry \u003CURL>",[31,362,363],{},"Override the default registry URL for this invocation.",[31,365,366],{},"Use this npm registry URL for package metadata, tarballs, audit requests, dist-tags, and registry writes.",{"title":368,"searchDepth":369,"depth":369,"links":370},"",2,[371],{"id":37,"depth":369,"text":38,"children":372},[373,375,376,377,378,379,380,381,382,383,384,385,386,387,388],{"id":42,"depth":374,"text":45},3,{"id":73,"depth":374,"text":76},{"id":82,"depth":374,"text":85},{"id":108,"depth":374,"text":111},{"id":144,"depth":374,"text":147},{"id":163,"depth":374,"text":166},{"id":175,"depth":374,"text":178},{"id":191,"depth":374,"text":194},{"id":207,"depth":374,"text":210},{"id":220,"depth":374,"text":223},{"id":250,"depth":374,"text":253},{"id":284,"depth":374,"text":287},{"id":306,"depth":374,"text":309},{"id":327,"depth":374,"text":330},{"id":357,"depth":374,"text":360},"md",{},true,"\u002Fdocs\u002Fcli\u002Fpublish",{"title":5,"description":368},"docs\u002Fcli\u002Fpublish","FykPMxaZUPShVZRefIOrvpj9dLXtzBba-82EWwoQ7Uk",[397,400,403,406,409,412,415,418,421,424,427,430,433,436,439,442,445,448,451,454,457,460,463,466,469,472,475,478,481,484,487,490,493,496,499,502,505,508,511,514,517,520,523,526,529,532,535,538,541,544,547,550,553,556,559,562,565,568,571,574,577,580,581,584,587,590,593,596,599,602,605,608,611,614,617,620,623,626,629,632,635,638,641,644,647,650,653,656,659,662,665,668,671,674,677,680,683,686,689,692,695,698,701,704,707,710,713,716,719,722,725,728,731,734,737,740],{"path":398,"title":399},"\u002Fdocs\u002Fbenchmarks","Benchmarks",{"path":401,"title":402},"\u002Fdocs\u002Fbun-users","For bun users",{"path":404,"title":405},"\u002Fdocs\u002Fcli\u002Fadd","scpm add",{"path":407,"title":408},"\u002Fdocs\u002Fcli\u002Fapprove-builds","scpm approve-builds",{"path":410,"title":411},"\u002Fdocs\u002Fcli\u002Faudit","scpm audit",{"path":413,"title":414},"\u002Fdocs\u002Fcli\u002Fbin","scpm bin",{"path":416,"title":417},"\u002Fdocs\u002Fcli\u002Fcache","scpm cache",{"path":419,"title":420},"\u002Fdocs\u002Fcli\u002Fcache\u002Fdelete","scpm cache delete",{"path":422,"title":423},"\u002Fdocs\u002Fcli\u002Fcache\u002Flist","scpm cache list",{"path":425,"title":426},"\u002Fdocs\u002Fcli\u002Fcache\u002Flist-registries","scpm cache list-registries",{"path":428,"title":429},"\u002Fdocs\u002Fcli\u002Fcache\u002Fprune","scpm cache prune",{"path":431,"title":432},"\u002Fdocs\u002Fcli\u002Fcache\u002Fview","scpm cache view",{"path":434,"title":435},"\u002Fdocs\u002Fcli\u002Fcat-file","scpm cat-file",{"path":437,"title":438},"\u002Fdocs\u002Fcli\u002Fcat-index","scpm cat-index",{"path":440,"title":441},"\u002Fdocs\u002Fcli\u002Fcheck","scpm check",{"path":443,"title":444},"\u002Fdocs\u002Fcli\u002Fci","scpm ci",{"path":446,"title":447},"\u002Fdocs\u002Fcli\u002Fclean","scpm clean",{"path":449,"title":450},"\u002Fdocs\u002Fcli\u002Fcompletion","scpm completion",{"path":452,"title":453},"\u002Fdocs\u002Fcli\u002Fconfig","scpm config",{"path":455,"title":456},"\u002Fdocs\u002Fcli\u002Fconfig\u002Fdelete","scpm config delete",{"path":458,"title":459},"\u002Fdocs\u002Fcli\u002Fconfig\u002Fexplain","scpm config explain",{"path":461,"title":462},"\u002Fdocs\u002Fcli\u002Fconfig\u002Ffind","scpm config find",{"path":464,"title":465},"\u002Fdocs\u002Fcli\u002Fconfig\u002Fget","scpm config get",{"path":467,"title":468},"\u002Fdocs\u002Fcli\u002Fconfig\u002Flist","scpm config list",{"path":470,"title":471},"\u002Fdocs\u002Fcli\u002Fconfig\u002Fset","scpm config set",{"path":473,"title":474},"\u002Fdocs\u002Fcli\u002Fconfig\u002Ftui","scpm config tui",{"path":476,"title":477},"\u002Fdocs\u002Fcli\u002Fcreate","scpm create",{"path":479,"title":480},"\u002Fdocs\u002Fcli\u002Fdedupe","scpm dedupe",{"path":482,"title":483},"\u002Fdocs\u002Fcli\u002Fdeploy","scpm deploy",{"path":485,"title":486},"\u002Fdocs\u002Fcli\u002Fdeprecate","scpm deprecate",{"path":488,"title":489},"\u002Fdocs\u002Fcli\u002Fdeprecations","scpm deprecations",{"path":491,"title":492},"\u002Fdocs\u002Fcli\u002Fdiag","scpm diag",{"path":494,"title":495},"\u002Fdocs\u002Fcli\u002Fdiag\u002Fanalyze","scpm diag analyze",{"path":497,"title":498},"\u002Fdocs\u002Fcli\u002Fdiag\u002Fcompare","scpm diag compare",{"path":500,"title":501},"\u002Fdocs\u002Fcli\u002Fdist-tag","scpm dist-tag",{"path":503,"title":504},"\u002Fdocs\u002Fcli\u002Fdist-tag\u002Fadd","scpm dist-tag add",{"path":506,"title":507},"\u002Fdocs\u002Fcli\u002Fdist-tag\u002Fls","scpm dist-tag ls",{"path":509,"title":510},"\u002Fdocs\u002Fcli\u002Fdist-tag\u002Frm","scpm dist-tag rm",{"path":512,"title":513},"\u002Fdocs\u002Fcli\u002Fdlx","scpm dlx",{"path":515,"title":516},"\u002Fdocs\u002Fcli\u002Fdoctor","scpm doctor",{"path":518,"title":519},"\u002Fdocs\u002Fcli\u002Fexec","scpm exec",{"path":521,"title":522},"\u002Fdocs\u002Fcli\u002Ffetch","scpm fetch",{"path":524,"title":525},"\u002Fdocs\u002Fcli\u002Ffind-hash","scpm find-hash",{"path":527,"title":528},"\u002Fdocs\u002Fcli\u002Fignored-builds","scpm ignored-builds",{"path":530,"title":531},"\u002Fdocs\u002Fcli\u002Fimport","scpm import",{"path":533,"title":534},"\u002Fdocs\u002Fcli","scpm",{"path":536,"title":537},"\u002Fdocs\u002Fcli\u002Finit","scpm init",{"path":539,"title":540},"\u002Fdocs\u002Fcli\u002Finstall","scpm install",{"path":542,"title":543},"\u002Fdocs\u002Fcli\u002Flicenses","scpm licenses",{"path":545,"title":546},"\u002Fdocs\u002Fcli\u002Flink","scpm link",{"path":548,"title":549},"\u002Fdocs\u002Fcli\u002Flist","scpm list",{"path":551,"title":552},"\u002Fdocs\u002Fcli\u002Flogin","scpm login",{"path":554,"title":555},"\u002Fdocs\u002Fcli\u002Flogout","scpm logout",{"path":557,"title":558},"\u002Fdocs\u002Fcli\u002Foutdated","scpm outdated",{"path":560,"title":561},"\u002Fdocs\u002Fcli\u002Fpack","scpm pack",{"path":563,"title":564},"\u002Fdocs\u002Fcli\u002Fpatch","scpm patch",{"path":566,"title":567},"\u002Fdocs\u002Fcli\u002Fpatch-commit","scpm patch-commit",{"path":569,"title":570},"\u002Fdocs\u002Fcli\u002Fpatch-remove","scpm patch-remove",{"path":572,"title":573},"\u002Fdocs\u002Fcli\u002Fpeers","scpm peers",{"path":575,"title":576},"\u002Fdocs\u002Fcli\u002Fpeers\u002Fcheck","scpm peers check",{"path":578,"title":579},"\u002Fdocs\u002Fcli\u002Fprune","scpm prune",{"path":392,"title":5},{"path":582,"title":583},"\u002Fdocs\u002Fcli\u002Fpurge","scpm purge",{"path":585,"title":586},"\u002Fdocs\u002Fcli\u002Fquery","scpm query",{"path":588,"title":589},"\u002Fdocs\u002Fcli\u002Frebuild","scpm rebuild",{"path":591,"title":592},"\u002Fdocs\u002Fcli\u002Frecursive","scpm recursive",{"path":594,"title":595},"\u002Fdocs\u002Fcli\u002Fremove","scpm remove",{"path":597,"title":598},"\u002Fdocs\u002Fcli\u002Frestart","scpm restart",{"path":600,"title":601},"\u002Fdocs\u002Fcli\u002Froot","scpm root",{"path":603,"title":604},"\u002Fdocs\u002Fcli\u002Frun","scpm run",{"path":606,"title":607},"\u002Fdocs\u002Fcli\u002Fsbom","scpm sbom",{"path":609,"title":610},"\u002Fdocs\u002Fcli\u002Fsponsors","scpm sponsors",{"path":612,"title":613},"\u002Fdocs\u002Fcli\u002Fstage","scpm stage",{"path":615,"title":616},"\u002Fdocs\u002Fcli\u002Fstart","scpm start",{"path":618,"title":619},"\u002Fdocs\u002Fcli\u002Fstop","scpm stop",{"path":621,"title":622},"\u002Fdocs\u002Fcli\u002Fstore","scpm store",{"path":624,"title":625},"\u002Fdocs\u002Fcli\u002Fstore\u002Fadd","scpm store add",{"path":627,"title":628},"\u002Fdocs\u002Fcli\u002Fstore\u002Fpath","scpm store path",{"path":630,"title":631},"\u002Fdocs\u002Fcli\u002Fstore\u002Fprune","scpm store prune",{"path":633,"title":634},"\u002Fdocs\u002Fcli\u002Fstore\u002Fstatus","scpm store status",{"path":636,"title":637},"\u002Fdocs\u002Fcli\u002Ftest","scpm test",{"path":639,"title":640},"\u002Fdocs\u002Fcli\u002Fundeprecate","scpm undeprecate",{"path":642,"title":643},"\u002Fdocs\u002Fcli\u002Funlink","scpm unlink",{"path":645,"title":646},"\u002Fdocs\u002Fcli\u002Funpublish","scpm unpublish",{"path":648,"title":649},"\u002Fdocs\u002Fcli\u002Fupdate","scpm update",{"path":651,"title":652},"\u002Fdocs\u002Fcli\u002Fversion","scpm version",{"path":654,"title":655},"\u002Fdocs\u002Fcli\u002Fview","scpm view",{"path":657,"title":658},"\u002Fdocs\u002Fcli\u002Fwhy","scpm why",{"path":660,"title":661},"\u002Fdocs\u002Ferror-codes","Error and warning codes",{"path":663,"title":664},"\u002Fdocs\u002Fgetting-started","Getting Started",{"path":666,"title":667},"\u002Fdocs\u002Fguide","Guide",{"path":669,"title":670},"\u002Fdocs","SCPM Documentation",{"path":672,"title":673},"\u002Fdocs\u002Finstallation","Installation",{"path":675,"title":676},"\u002Fdocs\u002Fnpm-users","For npm users",{"path":678,"title":679},"\u002Fdocs\u002Fpackage-manager\u002Fconfiguration","Configuration",{"path":681,"title":682},"\u002Fdocs\u002Fpackage-manager\u002Fdependencies","Manage dependencies",{"path":684,"title":685},"\u002Fdocs\u002Fpackage-manager\u002Fglobal-virtual-store","Global virtual store",{"path":687,"title":688},"\u002Fdocs\u002Fpackage-manager\u002Finstall","Install dependencies",{"path":690,"title":691},"\u002Fdocs\u002Fpackage-manager\u002Fjailed-builds","Jailed dependency builds",{"path":693,"title":694},"\u002Fdocs\u002Fpackage-manager\u002Flifecycle-scripts","Lifecycle scripts",{"path":696,"title":697},"\u002Fdocs\u002Fpackage-manager\u002Flockfiles","Lockfiles",{"path":699,"title":700},"\u002Fdocs\u002Fpackage-manager\u002Fnode-modules","node_modules layout",{"path":702,"title":703},"\u002Fdocs\u002Fpackage-manager\u002Fpublishing","Publishing",{"path":705,"title":706},"\u002Fdocs\u002Fpackage-manager\u002Fregistry-auth","Registry and auth",{"path":708,"title":709},"\u002Fdocs\u002Fpackage-manager\u002Fscripts","Run scripts and binaries",{"path":711,"title":712},"\u002Fdocs\u002Fpackage-manager\u002Fsecurity-scanner","Security scanner",{"path":714,"title":715},"\u002Fdocs\u002Fpackage-manager\u002Fworkspaces","Workspaces",{"path":717,"title":718},"\u002Fdocs\u002Fpnpm-users","For pnpm users",{"path":720,"title":721},"\u002Fdocs\u002Fsecurity","Security",{"path":723,"title":724},"\u002Fdocs\u002Fsettings\u002Fcli","CLI Settings",{"path":726,"title":727},"\u002Fdocs\u002Fsettings\u002Fenv","Environment Settings",{"path":729,"title":730},"\u002Fdocs\u002Fsettings","Settings",{"path":732,"title":733},"\u002Fdocs\u002Fsettings\u002Fnpmrc",".npmrc Settings",{"path":735,"title":736},"\u002Fdocs\u002Fsettings\u002Fworkspace-yaml","Workspace YAML Settings",{"path":738,"title":739},"\u002Fdocs\u002Ftroubleshooting","Troubleshooting",{"path":741,"title":742},"\u002Fdocs\u002Fyarn-users","For yarn users",1780584396941]