Skip to content

Commit dc9f08c

Browse files
committed
fix: check publish props only in verify ones are undefined
1 parent a548415 commit dc9f08c

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

index.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const {castArray} = require('lodash');
1+
const {defaultTo, castArray} = require('lodash');
22
const AggregateError = require('aggregate-error');
33
const setLegacyToken = require('./lib/set-legacy-token');
44
const getPkg = require('./lib/get-pkg');
@@ -16,9 +16,9 @@ async function verifyConditions(pluginConfig, {options: {publish}, logger}) {
1616
const publishPlugin =
1717
castArray(publish).find(config => config.path && config.path === '@semantic-release/npm') || {};
1818

19-
pluginConfig.npmPublish = pluginConfig.npmPublish || publishPlugin.npmPublish;
20-
pluginConfig.tarballDir = pluginConfig.tarballDir || publishPlugin.tarballDir;
21-
pluginConfig.pkgRoot = pluginConfig.pkgRoot || publishPlugin.pkgRoot;
19+
pluginConfig.npmPublish = defaultTo(pluginConfig.npmPublish, publishPlugin.npmPublish);
20+
pluginConfig.tarballDir = defaultTo(pluginConfig.tarballDir, publishPlugin.tarballDir);
21+
pluginConfig.pkgRoot = defaultTo(pluginConfig.pkgRoot, publishPlugin.pkgRoot);
2222
}
2323

2424
const errors = verifyNpmConfig(pluginConfig);

test/integration.test.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,18 @@ test.serial('Skip npm auth verification if "npmPublish" is false', async t => {
5555
await t.notThrows(t.context.m.verifyConditions({npmPublish: false}, {options: {}, logger: t.context.logger}));
5656
});
5757

58+
test.serial('Skip npm token verification if "npmPublish" is false', async t => {
59+
delete process.env.NPM_TOKEN;
60+
const pkg = {name: 'published', version: '1.0.0', publishConfig: {registry: npmRegistry.url}};
61+
await outputJson('./package.json', pkg);
62+
await t.notThrows(
63+
t.context.m.verifyConditions(
64+
{npmPublish: false},
65+
{options: {publish: ['@semantic-release/npm']}, logger: t.context.logger}
66+
)
67+
);
68+
});
69+
5870
test.serial('Throws error if NPM token is invalid', async t => {
5971
process.env.NPM_TOKEN = 'wrong_token';
6072
process.env.DEFAULT_NPM_REGISTRY = npmRegistry.url;

0 commit comments

Comments
 (0)