Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
async function main(options = {}) {
logger.start(`gitmoji-changelog v${pkg.version}`)
logger.info(`${options.mode} ${options.output}`)
try {
const latestVersion = await getGitmojiChangelogLatestVersion()
if (semverCompare(latestVersion, pkg.version) > 0) {
logger.warn(`You got an outdated version of gitmoji-changelog, please update! (yours: ${pkg.version}, latest: ${latestVersion})`)
logger.warn('Just do the following npm command to update it:')
logger.warn('\t> npm install -g gitmoji-changelog@latest')
}
} catch (e) { /* ignore error */ }
let projectInfo
try {
logger.info(`use preset ${options.preset}`)
if (!fs.existsSync(path.join(__dirname, 'presets', `${options.preset}.js`))) {
throw Error(`The preset ${options.preset} doesn't exist`)
}
// eslint-disable-next-line global-require
const loadProjectInfo = require(`./presets/${options.preset}.js`)
projectInfo = await loadProjectInfo()
} catch (e) {
logger.error(e)
// Force quit if the requested preset doesn't exist
return process.exit(0)
}
if (options.groupSimilarCommits) {
logger.warn('⚗️ You are using a beta feature - may not working as expected')
logger.warn('Feel free to open issues or PR into gitmoji-changelog')
logger.warn('\t> https://github.com/frinyvonnick/gitmoji-changelog')
function logMetaData(changelog) {
if (changelog.meta.project) {
const { name, version } = changelog.meta.project
logger.info(`${name} v${version}`)
}
if (changelog.meta.repository) {
logger.info(changelog.meta.repository.url)
}
}
function logMetaData(changelog) {
if (changelog.meta.project) {
const { name, version } = changelog.meta.project
logger.info(`${name} v${version}`)
}
if (changelog.meta.repository) {
logger.info(changelog.meta.repository.url)
}
}