diff --git a/DEPENDENCIES.md b/DEPENDENCIES.md index a4bfa4c4471b8..53277665f2dc6 100644 --- a/DEPENDENCIES.md +++ b/DEPENDENCIES.md @@ -53,12 +53,12 @@ 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"]; 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; @@ -375,12 +375,12 @@ 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"]; 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 2faf802e458a2..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,8 +19132,8 @@ "version": "11.0.0", "license": "ISC", "dependencies": { + "@npmcli/package-json": "^6.2.0", "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/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/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( diff --git a/workspaces/libnpmpublish/package.json b/workspaces/libnpmpublish/package.json index 87526bdd88ca0..25715bb0ad5a6 100644 --- a/workspaces/libnpmpublish/package.json +++ b/workspaces/libnpmpublish/package.json @@ -38,8 +38,8 @@ "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", - "normalize-package-data": "^7.0.0", "npm-package-arg": "^12.0.0", "npm-registry-fetch": "^18.0.1", "proc-log": "^5.0.0", pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy