From 89048923a779e1aba90494e6bbe3349a767dfe3f Mon Sep 17 00:00:00 2001 From: Michael Smith Date: Tue, 3 Jun 2025 10:10:56 -0700 Subject: [PATCH 1/3] deps: remove normalize-package-data --- DEPENDENCIES.md | 2 -- package-lock.json | 1 - workspaces/libnpmpublish/package.json | 1 - 3 files changed, 4 deletions(-) diff --git a/DEPENDENCIES.md b/DEPENDENCIES.md index a4bfa4c4471b8..ffb1293fe98d3 100644 --- a/DEPENDENCIES.md +++ b/DEPENDENCIES.md @@ -53,7 +53,6 @@ graph LR; libnpmpack-->npmcli-run-script["@npmcli/run-script"]; libnpmpack-->npmcli-template-oss["@npmcli/template-oss"]; libnpmpack-->pacote; - libnpmpublish-->normalize-package-data; libnpmpublish-->npm-package-arg; libnpmpublish-->npm-registry-fetch; libnpmpublish-->npmcli-eslint-config["@npmcli/eslint-config"]; @@ -375,7 +374,6 @@ graph LR; libnpmpack-->spawk; libnpmpack-->tap; libnpmpublish-->ci-info; - libnpmpublish-->normalize-package-data; libnpmpublish-->npm-package-arg; libnpmpublish-->npm-registry-fetch; libnpmpublish-->npmcli-eslint-config["@npmcli/eslint-config"]; diff --git a/package-lock.json b/package-lock.json index 2faf802e458a2..f5a466ef0faa8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19133,7 +19133,6 @@ "license": "ISC", "dependencies": { "ci-info": "^4.0.0", - "normalize-package-data": "^7.0.0", "npm-package-arg": "^12.0.0", "npm-registry-fetch": "^18.0.1", "proc-log": "^5.0.0", diff --git a/workspaces/libnpmpublish/package.json b/workspaces/libnpmpublish/package.json index 87526bdd88ca0..8cf41ea4f310f 100644 --- a/workspaces/libnpmpublish/package.json +++ b/workspaces/libnpmpublish/package.json @@ -39,7 +39,6 @@ "homepage": "https://npmjs.com/package/libnpmpublish", "dependencies": { "ci-info": "^4.0.0", - "normalize-package-data": "^7.0.0", "npm-package-arg": "^12.0.0", "npm-registry-fetch": "^18.0.1", "proc-log": "^5.0.0", From ed6ae33e908f4dcd2e9b2e9800b6c744547020ee Mon Sep 17 00:00:00 2001 From: Michael Smith Date: Tue, 3 Jun 2025 10:14:16 -0700 Subject: [PATCH 2/3] fix(libnpmpublish): Remove dependence on deprecated library --- workspaces/libnpmpublish/lib/publish.js | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/workspaces/libnpmpublish/lib/publish.js b/workspaces/libnpmpublish/lib/publish.js index 93d546efb5f0e..001dff8de87f0 100644 --- a/workspaces/libnpmpublish/lib/publish.js +++ b/workspaces/libnpmpublish/lib/publish.js @@ -1,6 +1,6 @@ -const { fixer } = require('normalize-package-data') const npmFetch = require('npm-registry-fetch') const npa = require('npm-package-arg') +const PackageJson = require('@npmcli/package-json') const { log } = require('proc-log') const semver = require('semver') const { URL } = require('node:url') @@ -31,7 +31,7 @@ Remove the 'private' field from the package.json to publish it.`), } const reg = npmFetch.pickRegistry(spec, opts) - const pubManifest = patchManifest(manifest, opts) + const pubManifest = await patchManifest(manifest, opts) // registry-frontdoor cares about the access level, // which is only configurable for scoped packages @@ -62,17 +62,18 @@ Remove the 'private' field from the package.json to publish it.`), return res } -const patchManifest = (_manifest, opts) => { +const patchManifest = async (_manifest, opts) => { const { npmVersion } = opts - // we only update top-level fields, so a shallow clone is fine - const manifest = { ..._manifest } - - manifest._nodeVersion = process.versions.node - if (npmVersion) { - manifest._npmVersion = npmVersion + const steps = ['fixName'] + const manifestInput = { ..._manifest, _nodeVersion: process.versions.node } + if (npmVersion != null) { + manifestInput._npmVersion = npmVersion } + const manifest = await new PackageJson() + .fromContent(manifestInput) + .normalize({ steps }) + .then(p => p.content) - fixer.fixNameField(manifest, { strict: true, allowLegacyCase: true }) const version = semver.clean(manifest.version) if (!version) { throw Object.assign( From 18b15e53775d1c70b24cd6077713f797aebea9e2 Mon Sep 17 00:00:00 2001 From: Michael Smith Date: Thu, 22 May 2025 09:41:47 -0700 Subject: [PATCH 3/3] deps: @npmcli/package-json@6.2.0 --- DEPENDENCIES.md | 2 ++ package-lock.json | 3 ++- package.json | 2 +- workspaces/libnpmpublish/package.json | 1 + 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/DEPENDENCIES.md b/DEPENDENCIES.md index ffb1293fe98d3..53277665f2dc6 100644 --- a/DEPENDENCIES.md +++ b/DEPENDENCIES.md @@ -58,6 +58,7 @@ graph LR; libnpmpublish-->npmcli-eslint-config["@npmcli/eslint-config"]; libnpmpublish-->npmcli-mock-globals["@npmcli/mock-globals"]; libnpmpublish-->npmcli-mock-registry["@npmcli/mock-registry"]; + libnpmpublish-->npmcli-package-json["@npmcli/package-json"]; libnpmpublish-->npmcli-template-oss["@npmcli/template-oss"]; libnpmpublish-->proc-log; libnpmpublish-->semver; @@ -379,6 +380,7 @@ graph LR; libnpmpublish-->npmcli-eslint-config["@npmcli/eslint-config"]; libnpmpublish-->npmcli-mock-globals["@npmcli/mock-globals"]; libnpmpublish-->npmcli-mock-registry["@npmcli/mock-registry"]; + libnpmpublish-->npmcli-package-json["@npmcli/package-json"]; libnpmpublish-->npmcli-template-oss["@npmcli/template-oss"]; libnpmpublish-->proc-log; libnpmpublish-->semver; diff --git a/package-lock.json b/package-lock.json index f5a466ef0faa8..815ae9a23112a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -89,7 +89,7 @@ "@npmcli/config": "^10.3.0", "@npmcli/fs": "^4.0.0", "@npmcli/map-workspaces": "^4.0.2", - "@npmcli/package-json": "^6.1.1", + "@npmcli/package-json": "^6.2.0", "@npmcli/promise-spawn": "^8.0.2", "@npmcli/redact": "^3.1.1", "@npmcli/run-script": "^9.1.0", @@ -19132,6 +19132,7 @@ "version": "11.0.0", "license": "ISC", "dependencies": { + "@npmcli/package-json": "^6.2.0", "ci-info": "^4.0.0", "npm-package-arg": "^12.0.0", "npm-registry-fetch": "^18.0.1", diff --git a/package.json b/package.json index 976098ad04750..628198d927098 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "@npmcli/config": "^10.3.0", "@npmcli/fs": "^4.0.0", "@npmcli/map-workspaces": "^4.0.2", - "@npmcli/package-json": "^6.1.1", + "@npmcli/package-json": "^6.2.0", "@npmcli/promise-spawn": "^8.0.2", "@npmcli/redact": "^3.1.1", "@npmcli/run-script": "^9.1.0", diff --git a/workspaces/libnpmpublish/package.json b/workspaces/libnpmpublish/package.json index 8cf41ea4f310f..25715bb0ad5a6 100644 --- a/workspaces/libnpmpublish/package.json +++ b/workspaces/libnpmpublish/package.json @@ -38,6 +38,7 @@ "bugs": "https://github.com/npm/cli/issues", "homepage": "https://npmjs.com/package/libnpmpublish", "dependencies": { + "@npmcli/package-json": "^6.2.0", "ci-info": "^4.0.0", "npm-package-arg": "^12.0.0", "npm-registry-fetch": "^18.0.1",