in scripts/release.js [25:91]
function init() {
let latestTag = getLatestTag();
let proposedVersion = incrementVersion(pkg.version);
log(`- Current Version: ${pkg.version}`);
log(`- Latest Tag: ${latestTag || 'None'}`);
log();
log('Please specify the new version to be released.');
let version = prompt(`Version (${proposedVersion}):`) || proposedVersion;
log();
info(`> Creating release for ${version}...`);
if (pkg.version !== version) {
updateVersion(version);
createCommit(`release(): publish ${version}`, ['package.json']);
info('> Updated version inside of package.json');
} else {
info('> Keeping existing version inside of package.json');
}
fse.removeSync(OUT_DIR);
info('> Deleted distribution folder.');
let hasBuilt = buildDistribution();
if (!hasBuilt) {
log();
error('An error occurred while building the source files.');
return;
} else {
info('> Successfully built the source files.');
}
copyFiles(['README.md']);
info('> Copied project description into distribution folder.');
if (tagRelease(version)) {
info('> Created git tag for new version.');
} else {
log();
error('An error occurred while tagging the new version.');
return;
}
success('> Successfully built a release.');
log();
let response = prompt('Do you want to publish the new version to NPM? (yes)');
let shouldPublish = response === 'yes' || response === '';
if (shouldPublish) {
let oneTimePassword = prompt('Enter your NPM one-time password: ');
info('> Publishing to NPM...');
if (publishPackage(oneTimePassword)) {
success('> Successfully published package to NPM.');
} else {
error('An error occurred while publishing to NPM');
}
}
log();
info('> Exiting the release script... Bye!');
}