const { program } = require('commander'); const fse = require('fs-extra'); const semverParse = require('semver/functions/parse'); program.version('0.0.1'); program.option('-n, --nextVersion', 'version in common.props'); program.option('-pr, --prerelease', 'whether version is prerelease'); program.option('-cv, --customVersion ', 'set exact version'); program.parse(process.argv); if (program.nextVersion) console.log(getVersion()); if (program.prerelease) console.log(!!semverParse(getVersion()).prerelease?.length); function getVersion() { if (program.customVersion) return program.customVersion; const commonProps = fse.readFileSync('../common.props').toString(); const versionTag = ''; const versionEndTag = ''; const first = commonProps.indexOf(versionTag) + versionTag.length; const last = commonProps.indexOf(versionEndTag); return commonProps.substring(first, last); }