5
0
Fork 0
mirror of https://github.com/cycjimmy/semantic-release-action.git synced 2025-11-09 19:56:55 +00:00
semantic-release-action/src/handleOptions.js
Filip Arenbo 32db8a49b2 feat: added ability to use the "extends" settings
This is done to be able to use shared configurations

docs: Added docs for the extends feature

fix: syntax error, due to rebase
2020-04-29 20:27:04 +02:00

75 lines
1.7 KiB
JavaScript

const core = require('@actions/core');
const stringToJson = require('@cycjimmy/awesome-js-funcs/typeConversion/stringToJson').default;
const inputs = require('./inputs.json');
/**
* Handle Branches Option
* @returns {{}|{branch: string}}
*/
exports.handleBranchesOption = () => {
const branchesOption = {};
const branches = core.getInput(inputs.branches);
const branch = core.getInput(inputs.branch);
core.debug(`branches input: ${branches}`);
core.debug(`branch input: ${branch}`);
const semanticVersion = require('semantic-release/package.json').version;
const semanticMajorVersion = Number(semanticVersion.replace(/\..+/g, ''));
core.debug(`semanticMajorVersion: ${semanticMajorVersion}`);
// older than v16
if (semanticMajorVersion < 16) {
if (!branch) {
return branchesOption;
}
branchesOption.branch = branch;
return branchesOption;
}
// above v16
const strNeedConvertToJson = branches || branch || '';
if (!strNeedConvertToJson) {
return branchesOption;
}
const jsonOrStr = stringToJson('' + strNeedConvertToJson);
core.debug(`Converted branches attribute: ${JSON.stringify(jsonOrStr)}`);
branchesOption.branches = jsonOrStr;
return branchesOption;
};
/**
* Handle DryRun Option
* @returns {{}|{dryRun: boolean}}
*/
exports.handleDryRunOption = () => {
const dryRun = core.getInput(inputs.dry_run);
switch (dryRun) {
case 'true':
return {dryRun: true};
case 'false':
return {dryRun: false};
default:
return {};
}
};
/**
* Handle Extends Option
* @returns {{}|{extends: Array}|{extends: String}}
*/
exports.handleExtends = () => {
const extend = core.getInput(inputs.extends);
if (extend) {
return { extends: extend };
} else {
return {};
}
};