diff --git a/source/npm/util.js b/source/npm/util.js index 02736fcb..4ea325e6 100644 --- a/source/npm/util.js +++ b/source/npm/util.js @@ -43,7 +43,16 @@ export const username = async ({externalRegistry}) => { } }; -export const isExternalRegistry = package_ => typeof package_.publishConfig?.registry === 'string'; +const NPM_DEFAULT_REGISTRIES = new Set([ + // https://docs.npmjs.com/cli/v10/using-npm/registry + 'https://registry.npmjs.org', + // https://docs.npmjs.com/cli/v10/commands/npm-profile#registry + 'https://registry.npmjs.org/', +]); +export const isExternalRegistry = package_ => { + const registry = package_.publishConfig?.registry; + return typeof registry === 'string' && !NPM_DEFAULT_REGISTRIES.has(registry); +}; export const collaborators = async package_ => { const packageName = package_.name; diff --git a/test/npm/util/is-external-registry.js b/test/npm/util/is-external-registry.js index c449cc66..6b7bcadb 100644 --- a/test/npm/util/is-external-registry.js +++ b/test/npm/util/is-external-registry.js @@ -7,4 +7,6 @@ test('main', t => { t.false(npm.isExternalRegistry({name: 'foo'})); t.false(npm.isExternalRegistry({publishConfig: {registry: true}})); t.false(npm.isExternalRegistry({publishConfig: 'not an object'})); + t.false(npm.isExternalRegistry({publishConfig: {registry: 'https://registry.npmjs.org'}})); + t.false(npm.isExternalRegistry({publishConfig: {registry: 'https://registry.npmjs.org/'}})); });