mirror of
https://github.com/morhetz/gruvbox.git
synced 2025-11-20 09:33:49 -05:00
chore(package): re-init package with commitizen and standard-release
This commit is contained in:
62
node_modules/standard-version/lib/lifecycles/changelog.js
generated
vendored
Normal file
62
node_modules/standard-version/lib/lifecycles/changelog.js
generated
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
const accessSync = require('fs-access').sync
|
||||
const chalk = require('chalk')
|
||||
const checkpoint = require('../checkpoint')
|
||||
const conventionalChangelog = require('conventional-changelog')
|
||||
const fs = require('fs')
|
||||
const runLifecycleScript = require('../run-lifecycle-script')
|
||||
const writeFile = require('../write-file')
|
||||
|
||||
module.exports = function (args, newVersion) {
|
||||
if (args.skip.changelog) return Promise.resolve()
|
||||
return runLifecycleScript(args, 'prechangelog')
|
||||
.then(() => {
|
||||
return outputChangelog(args, newVersion)
|
||||
})
|
||||
.then(() => {
|
||||
return runLifecycleScript(args, 'postchangelog')
|
||||
})
|
||||
}
|
||||
|
||||
function outputChangelog (args, newVersion) {
|
||||
return new Promise((resolve, reject) => {
|
||||
createIfMissing(args)
|
||||
var header = '# Change Log\n\nAll notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.\n'
|
||||
var oldContent = args.dryRun ? '' : fs.readFileSync(args.infile, 'utf-8')
|
||||
// find the position of the last release and remove header:
|
||||
if (oldContent.indexOf('<a name=') !== -1) {
|
||||
oldContent = oldContent.substring(oldContent.indexOf('<a name='))
|
||||
}
|
||||
var content = ''
|
||||
var context
|
||||
if (args.dryRun) context = {version: newVersion}
|
||||
var changelogStream = conventionalChangelog({
|
||||
preset: 'angular'
|
||||
}, context, {merges: null})
|
||||
.on('error', function (err) {
|
||||
return reject(err)
|
||||
})
|
||||
|
||||
changelogStream.on('data', function (buffer) {
|
||||
content += buffer.toString()
|
||||
})
|
||||
|
||||
changelogStream.on('end', function () {
|
||||
checkpoint(args, 'outputting changes to %s', [args.infile])
|
||||
if (args.dryRun) console.info(`\n---\n${chalk.gray(content.trim())}\n---\n`)
|
||||
else writeFile(args, args.infile, header + '\n' + (content + oldContent).replace(/\n+$/, '\n'))
|
||||
return resolve()
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
function createIfMissing (args) {
|
||||
try {
|
||||
accessSync(args.infile, fs.F_OK)
|
||||
} catch (err) {
|
||||
if (err.code === 'ENOENT') {
|
||||
checkpoint(args, 'created %s', [args.infile])
|
||||
args.outputUnreleased = true
|
||||
writeFile(args, args.infile, '\n')
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user