com.npmjs.registry
npm registry URL, scope routing, publish access level, dist-tag, and provenance attestation. Maps to .npmrc and package.json publishConfig. Scope names in the scopes mapping omit the leading ”@”.
- Namespace:
com.npmjs.registry - Owner: community — convention for npm registry and publish configuration
- Status: proposed
- Docs: https://docs.npmjs.com/cli/v10/configuring-npm/npmrc
Illustrative fragment — not a complete projectfile document. Consumers MUST round-trip unknown namespaces even when no shape is published.
---# SPDX-FileCopyrightText: 2026 Damián Búho <damian.buho@proton.me>## SPDX-License-Identifier: CC-BY-4.0# SPDX-License-Identifier: MIT
# Shape: com.npmjs.registry extension namespace# Illustrative fragment — not a complete projectfile document.# See registry.yaml for ownership and status.
com: npmjs: registry: registry: "https://registry.npmjs.org" # OPTIONAL primary registry URL scope: "@myorg" # OPTIONAL package scope access: public # OPTIONAL public | restricted tag: latest # OPTIONAL dist-tag on publish provenance: true # OPTIONAL npm provenance attestation
# Per-scope registry routing. Key is the scope name without the leading "@". scopes: myorg: "https://npm.pkg.github.com" # @myorg → this registry[com.npmjs.registry]registry = "https://registry.npmjs.org"scope = "@myorg"access = "public"tag = "latest"provenance = true
[com.npmjs.registry.scopes]myorg = "https://npm.pkg.github.com"{ "com": { "npmjs": { "registry": { "registry": "https://registry.npmjs.org", "scope": "@myorg", "access": "public", "tag": "latest", "provenance": true, "scopes": { "myorg": "https://npm.pkg.github.com" } } } }}