Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
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')
}
try {
switch (options.format) {
case 'json': {
const changelog = await getChangelog(options, projectInfo)
logMetaData(changelog)
fs.writeFileSync(options.output, JSON.stringify(changelog))
break
}
default: {
const lastVersion = await getLatestVersion(options.output)
const newOptions = set(options, 'meta.lastVersion', lastVersion)
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')
}
try {
switch (options.format) {
case 'json': {
const changelog = await getChangelog(options, projectInfo)
logMetaData(changelog)
fs.writeFileSync(options.output, JSON.stringify(changelog))
break
}
default: {
const lastVersion = await getLatestVersion(options.output)
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 (!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')
}
try {
switch (options.format) {
case 'json': {
const changelog = await getChangelog(options, projectInfo)
logMetaData(changelog)
fs.writeFileSync(options.output, JSON.stringify(changelog))
break
}
default: {
const lastVersion = await getLatestVersion(options.output)
const newOptions = set(options, 'meta.lastVersion', lastVersion)
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')
// Handle the case where changelog file exist but there isn't a previous version
if (options.mode === 'update' && !lastVersion) {
newOptions.mode = 'init'
fs.unlinkSync(options.output)
}
const changelog = await getChangelog(newOptions, projectInfo)
logMetaData(changelog)
await buildMarkdownFile(changelog, newOptions)
}
}
logger.success(`changelog updated into ${options.output}`)
} catch (e) {
logger.error(e)
}
// force quit (if the latest version request is pending, we don't wait for it)
return process.exit(0)
}
const newOptions = set(options, 'meta.lastVersion', lastVersion)
// Handle the case where changelog file exist but there isn't a previous version
if (options.mode === 'update' && !lastVersion) {
newOptions.mode = 'init'
fs.unlinkSync(options.output)
}
const changelog = await getChangelog(newOptions, projectInfo)
logMetaData(changelog)
await buildMarkdownFile(changelog, newOptions)
}
}
logger.success(`changelog updated into ${options.output}`)
} catch (e) {
logger.error(e)
}
// force quit (if the latest version request is pending, we don't wait for it)
return process.exit(0)
}
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)
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
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`)