@flourish/sdk
Version:
The Flourish SDK
48 lines (40 loc) • 1.54 kB
JavaScript
;
const semver = require("@flourish/semver");
const log = require("../log"),
sdk = require("../sdk");
exports.command = function assign_version_number(args) {
let template_id_promise, template_version;
if (args._.length == 2) {
// Assume the supplied argument is a version number, and try to get the id from the current directory
template_id_promise = sdk.readAndValidateConfig(".").then(({ config }) => config.id);
template_version = args._[1];
}
else if (args._.length == 3) {
template_id_promise = Promise.resolve(args._[1]);
template_version = args._[2];
}
else { log.die("Usage: flourish assign-version-number [template-id] version"); }
try {
semver.parse(template_version);
}
catch (e) {
log.die("Invalid version number: " + template_version);
}
template_id_promise.then(template_id => {
if (args.as) { template_id = args.as + "/" + template_id; }
return sdk.request(args, "template/assign-version-number", { id: template_id, version: template_version })
.then(() => {
log.success(`Assigned version number ${template_version} to template ${template_id}`);
});
})
.catch((error) => {
if (args.debug) { log.die("Failed to assign version number", error.message, error.stack); }
else { log.die("Failed to assign version number", error.message); }
});
};
exports.help = `
flourish assign-version-number [template-id] version
Assign a version number to a template that does not have one yet.
If template-id is omitted, uses the id of the template in the
current directory.
`;