npmrc HelperA VSCode extension that provides IntelliSense for package manager configuration files — hover documentation, auto-completion, and diagnostics — supporting:
Features🔍 Hover DocumentationHover over any config key to see a rich popup with:
✅ Auto-completion
⚠️ Diagnostics
🤖 Auto-detection: npm vs pnpmFor In pnpm v11+ projects, 📸 Preview —
|
| Key | Type | Default | Notes |
|---|---|---|---|
registry |
URL | https://registry.npmjs.org/ |
|
loglevel |
String | notice |
|
audit-level |
String | null |
|
install-strategy |
String | hoisted |
Added in v10 |
sbom-format |
String | null |
Added in v10 |
omit |
String | — | Added in v9 |
node-version |
semver | — | ⚠️ Removed in v9 |
ci-name |
String | — | ⚠️ Removed in v10 |
production |
Boolean | — | ⚠️ Deprecated → use --omit=dev |
shrinkwrap |
Boolean | — | ⚠️ Deprecated → use --package-lock |
| … | … | … |
pnpm (v10 / v11)
pnpm reads two files:
.npmrc— auth + registry only (registry,_auth,_authToken,always-auth,@scope:registry=…,//host/:_authToken=…).pnpm-workspace.yaml— everything else (camelCase keys).
Workspace-only fields
| Key | Type | Notes |
|---|---|---|
packages |
String[] | Workspace package globs |
catalog / catalogs |
Object | Versioned catalogs (pnpm v9+) |
overrides |
Object | Force resolutions of any dep |
patchedDependencies |
Object | Managed by pnpm patch |
packageExtensions |
Object | Extend dep manifests |
peerDependencyRules |
Object | Suppress / allow peer warnings |
allowBuilds |
Record<String, Boolean> |
pnpm v11: replaces onlyBuiltDependencies, neverBuiltDependencies, ignoredBuiltDependencies, onlyBuiltDependenciesFile |
packageConfigs |
Object | pnpm v11: per-subproject overrides (replaces nested .npmrc files) |
requiredScripts |
String[] | Scripts every workspace package must define |
auditConfig |
Object | pnpm audit ignore-list |
Selected camelCase settings (formerly kebab-case in .npmrc)
| Key | Type | Default | Notes |
|---|---|---|---|
nodeLinker |
String | isolated |
isolated / hoisted / pnp |
hoistPattern / publicHoistPattern |
String[] | — | |
shamefullyHoist |
Boolean | false |
|
autoInstallPeers |
Boolean | true |
|
preferFrozenLockfile |
Boolean | true |
|
blockExoticSubdeps |
Boolean | false (v10) / true (v11) |
|
useNodeVersion |
semver | "" |
|
saveExact / savePrefix |
— | — | |
httpsProxy / httpProxy / proxy / noproxy |
URL / String | — | Migrated from .npmrc |
strictSsl / ca / cafile / cert / key |
— | — | Migrated from .npmrc |
| … | … | … |
Example
# pnpm-workspace.yaml
packages:
- "apps/*"
- "packages/*"
nodeLinker: isolated
autoInstallPeers: true
saveExact: true
allowBuilds:
esbuild: true
"@swc/core": true
canvas: false
packageConfigs:
"@my-org/web":
nodeLinker: hoisted
publicHoistPattern:
- "*types*"
# .npmrc — auth + registry only
registry=https://registry.npmjs.org/
//registry.npmjs.org/:_authToken=${NPM_TOKEN}
@my-org:registry=https://npm.pkg.github.com/
//npm.pkg.github.com/:_authToken=${GH_TOKEN}
Yarn Berry (v2 / v3 / v4)
All keys from the Yarn Berry yarnrc.yml docs, including:
| Key | Type | Default | npm equivalent |
|---|---|---|---|
npmRegistryServer |
String | https://registry.yarnpkg.com |
registry |
npmAuthToken |
String | — | _authToken |
nodeLinker |
String | pnp |
— |
enableStrictSsl |
Boolean | true |
strict-ssl |
httpsProxy |
String | — | https-proxy |
httpsCaFilePath |
path | — | cafile |
enableScripts |
Boolean | true |
ignore-scripts |
enableGlobalCache |
Boolean | true |
— |
enableImmutableInstalls |
Boolean | false |
— |
defaultSemverRangePrefix |
String | ^ |
save-prefix |
| … | … | … |
Getting Started
Development
git clone <repo>
cd npmrc-helper
npm install
# Open in VSCode and press F5 to launch the Extension Development Host
Build & Package
npm run compile # compile TypeScript
npm run lint # run ESLint
npm run package # produce npmrc-helper-x.x.x.vsix
Install from VSIX
Extensions panel → ··· → Install from VSIX…
Requirements
- VSCode
^1.85.0 - Node.js
^20
Extension Settings
This extension has no configurable settings at this time.
License
MIT
