feat: allow to disable the publish plugin hook

This commit is contained in:
Pierre Vanduynslager 2018-06-19 14:52:01 -04:00
parent 9137f8537b
commit 4454d57e02
2 changed files with 2 additions and 2 deletions

View File

@ -45,7 +45,7 @@ module.exports = {
publish: { publish: {
default: ['@semantic-release/npm', '@semantic-release/github'], default: ['@semantic-release/npm', '@semantic-release/github'],
config: { config: {
validator: conf => Boolean(conf) && (isArray(conf) ? conf : [conf]).every(conf => validatePluginConfig(conf)), validator: conf => !conf || (isArray(conf) ? conf : [conf]).every(conf => validatePluginConfig(conf)),
}, },
output: { output: {
validator: output => !output || isPlainObject(output), validator: output => !output || isPlainObject(output),

View File

@ -60,9 +60,9 @@ test('The "prepare" plugin, if defined, must be a single or an array of plugins
test('The "publish" plugin is mandatory, and must be a single or an array of plugins definition', t => { test('The "publish" plugin is mandatory, and must be a single or an array of plugins definition', t => {
t.false(plugins.publish.config.validator({})); t.false(plugins.publish.config.validator({}));
t.false(plugins.publish.config.validator({path: null})); t.false(plugins.publish.config.validator({path: null}));
t.false(plugins.publish.config.validator());
t.true(plugins.publish.config.validator({path: 'plugin-path.js'})); t.true(plugins.publish.config.validator({path: 'plugin-path.js'}));
t.true(plugins.publish.config.validator());
t.true(plugins.publish.config.validator('plugin-path.js')); t.true(plugins.publish.config.validator('plugin-path.js'));
t.true(plugins.publish.config.validator(() => {})); t.true(plugins.publish.config.validator(() => {}));
t.true(plugins.publish.config.validator([{path: 'plugin-path.js'}, 'plugin-path.js', () => {}])); t.true(plugins.publish.config.validator([{path: 'plugin-path.js'}, 'plugin-path.js', () => {}]));