feat: adding linter for commits
This commit is contained in:
231
node_modules/conventional-changelog-conventionalcommits/CHANGELOG.md
generated
vendored
Normal file
231
node_modules/conventional-changelog-conventionalcommits/CHANGELOG.md
generated
vendored
Normal file
@@ -0,0 +1,231 @@
|
||||
# Change Log
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
# [4.5.0](https://github.com/conventional-changelog/conventional-changelog/compare/conventional-changelog-conventionalcommits@4.4.0...conventional-changelog-conventionalcommits@4.5.0) (2020-11-05)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **conventionalcommits:** allow matching scope ([#669](https://github.com/conventional-changelog/conventional-changelog/issues/669)) ([e01e027](https://github.com/conventional-changelog/conventional-changelog/commit/e01e027af60f5fa3e9146223b96797793930aeb4))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [4.4.0](https://github.com/conventional-changelog/conventional-changelog/compare/conventional-changelog-conventionalcommits@4.3.1...conventional-changelog-conventionalcommits@4.4.0) (2020-08-12)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **templates:** if hash is nullish, do not display in CHANGELOG ([#664](https://github.com/conventional-changelog/conventional-changelog/issues/664)) ([f10256c](https://github.com/conventional-changelog/conventional-changelog/commit/f10256c635687de0a85c4db2bf06292902924f77))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
### [4.6.1](https://www.github.com/conventional-changelog/conventional-changelog/compare/conventional-changelog-conventionalcommits-v4.6.0...conventional-changelog-conventionalcommits-v4.6.1) (2021-09-09)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **conventional-commits-parser:** address CVE-2021-23425 ([#841](https://www.github.com/conventional-changelog/conventional-changelog/issues/841)) ([02b3d53](https://www.github.com/conventional-changelog/conventional-changelog/commit/02b3d53a0c142f0c28ee7d190d210c76a62887c2))
|
||||
|
||||
## [4.6.0](https://www.github.com/conventional-changelog/conventional-changelog/compare/conventional-changelog-conventionalcommits-vconventional-changelog-conventionalcommits@4.5.0...conventional-changelog-conventionalcommits-v4.6.0) (2021-04-30)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **conventionalcommits:** include Release-As commits in CHANGELOG ([#796](https://www.github.com/conventional-changelog/conventional-changelog/issues/796)) ([9a0b9a7](https://www.github.com/conventional-changelog/conventional-changelog/commit/9a0b9a7f7ba5edd68b3476de706672d82e42b9e0))
|
||||
|
||||
## [4.3.1](https://github.com/conventional-changelog/conventional-changelog/compare/conventional-changelog-conventionalcommits@4.3.0...conventional-changelog-conventionalcommits@4.3.1) (2020-06-20)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **deps:** update dependency compare-func to v2 ([#647](https://github.com/conventional-changelog/conventional-changelog/issues/647)) ([de4f630](https://github.com/conventional-changelog/conventional-changelog/commit/de4f6309403ca0d46b7c6235052f4dca61ea15bc))
|
||||
* pass config to parserOpts and writerOpts ([73c7a1b](https://github.com/conventional-changelog/conventional-changelog/commit/73c7a1b92c2a47c498f42972acbffa156172a341))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [4.3.0](https://github.com/conventional-changelog/conventional-changelog/compare/conventional-changelog-conventionalcommits@4.2.3...conventional-changelog-conventionalcommits@4.3.0) (2020-05-08)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* add support for 'feature' as alias for 'feat' ([#582](https://github.com/conventional-changelog/conventional-changelog/issues/582)) ([94c40f7](https://github.com/conventional-changelog/conventional-changelog/commit/94c40f755e6c329311d89a47c634b91cf0276da3))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [4.2.3](https://github.com/conventional-changelog/conventional-changelog/compare/conventional-changelog-conventionalcommits@4.2.2...conventional-changelog-conventionalcommits@4.2.3) (2019-11-07)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* revertPattern match default git revert format ([#545](https://github.com/conventional-changelog/conventional-changelog/issues/545)) ([fe449f8](https://github.com/conventional-changelog/conventional-changelog/commit/fe449f899567574a36d1819b313e2caa899052ff))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [4.2.2](https://github.com/conventional-changelog/conventional-changelog/compare/conventional-changelog-conventionalcommits@4.2.1...conventional-changelog-conventionalcommits@4.2.2) (2019-10-24)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **deps:** update lodash to fix security issues ([#535](https://github.com/conventional-changelog/conventional-changelog/issues/535)) ([ac43f51](https://github.com/conventional-changelog/conventional-changelog/commit/ac43f51de1f3b597c32f7f8442917a2d06199018))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [4.2.0](https://github.com/conventional-changelog/conventional-changelog/compare/conventional-changelog-conventionalcommits@4.1.0...conventional-changelog-conventionalcommits@4.2.0) (2019-10-02)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **preset, conventionalcommits:** fix handling conventionalcommits preset without config object ([c0566ce](https://github.com/conventional-changelog/conventional-changelog/commit/c0566ce)), closes [#512](https://github.com/conventional-changelog/conventional-changelog/issues/512)
|
||||
* **preset, conventionalcommits:** pass issuePrefixes to parser ([#510](https://github.com/conventional-changelog/conventional-changelog/issues/510)) ([958d243](https://github.com/conventional-changelog/conventional-changelog/commit/958d243))
|
||||
* use full commit hash in commit link ([7a60dec](https://github.com/conventional-changelog/conventional-changelog/commit/7a60dec)), closes [#476](https://github.com/conventional-changelog/conventional-changelog/issues/476)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* sort sections of CHANGELOG based on priority ([#513](https://github.com/conventional-changelog/conventional-changelog/issues/513)) ([a3acc32](https://github.com/conventional-changelog/conventional-changelog/commit/a3acc32))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [4.1.0](https://github.com/conventional-changelog/conventional-changelog/compare/conventional-changelog-conventionalcommits@4.0.0...conventional-changelog-conventionalcommits@4.1.0) (2019-07-29)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **preset, conventionalcommits:** Ensure proper substitutions for the conventionalcommit preset by using commit context for values where possible. ([#463](https://github.com/conventional-changelog/conventional-changelog/issues/463)) ([0b7ed0b](https://github.com/conventional-changelog/conventional-changelog/commit/0b7ed0b))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **preset, conventionalcommits:** add handling of issue prefixes ([#498](https://github.com/conventional-changelog/conventional-changelog/issues/498)) ([85c17bb](https://github.com/conventional-changelog/conventional-changelog/commit/85c17bb))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [4.0.0](https://github.com/conventional-changelog/conventional-changelog/compare/conventional-changelog-conventionalcommits@3.0.2...conventional-changelog-conventionalcommits@4.0.0) (2019-05-18)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Recommend a patch bump for features when preMajor is enabled ([#452](https://github.com/conventional-changelog/conventional-changelog/issues/452)) ([3d0a520](https://github.com/conventional-changelog/conventional-changelog/commit/3d0a520))
|
||||
|
||||
|
||||
* feat!: BREAKING CHANGES are important and should be prioritized (#464) ([f8adba2](https://github.com/conventional-changelog/conventional-changelog/commit/f8adba2)), closes [#464](https://github.com/conventional-changelog/conventional-changelog/issues/464)
|
||||
|
||||
|
||||
### BREAKING CHANGES
|
||||
|
||||
* moved BREAKING CHANGES to top of template.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.0.2](https://github.com/conventional-changelog/conventional-changelog/compare/conventional-changelog-conventionalcommits@3.0.1...conventional-changelog-conventionalcommits@3.0.2) (2019-05-05)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* don't require 'host' and 'repository' when deciding whether to render URLs ([#447](https://github.com/conventional-changelog/conventional-changelog/issues/447)) ([83dff7a](https://github.com/conventional-changelog/conventional-changelog/commit/83dff7a))
|
||||
* if ! and BREAKING CHANGE were used, notes would populate twice ([#446](https://github.com/conventional-changelog/conventional-changelog/issues/446)) ([63d8cbe](https://github.com/conventional-changelog/conventional-changelog/commit/63d8cbe))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [3.0.1](https://github.com/conventional-changelog/conventional-changelog/compare/conventional-changelog-conventionalcommits@3.0.0...conventional-changelog-conventionalcommits@3.0.1) (2019-05-02)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* add add-bang-notes to files list ([7e4e4d2](https://github.com/conventional-changelog/conventional-changelog/commit/7e4e4d2))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [3.0.0](https://github.com/conventional-changelog/conventional-changelog/compare/conventional-changelog-conventionalcommits@2.0.0...conventional-changelog-conventionalcommits@3.0.0) (2019-05-02)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* ! without BREAKING CHANGE should be treated as major ([#443](https://github.com/conventional-changelog/conventional-changelog/issues/443)) ([cf22d70](https://github.com/conventional-changelog/conventional-changelog/commit/cf22d70))
|
||||
|
||||
|
||||
### BREAKING CHANGES
|
||||
|
||||
* if ! is in the commit header, it now indicates a BREAKING CHANGE, and the description is used as the body.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [2.0.0](https://github.com/conventional-changelog/conventional-changelog/compare/conventional-changelog-conventionalcommits@1.1.2...conventional-changelog-conventionalcommits@2.0.0) (2019-04-26)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* don't use multiple H1 tags ([#440](https://github.com/conventional-changelog/conventional-changelog/issues/440)) ([3d79263](https://github.com/conventional-changelog/conventional-changelog/commit/3d79263))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* add support for ! ([#441](https://github.com/conventional-changelog/conventional-changelog/issues/441)) ([0887940](https://github.com/conventional-changelog/conventional-changelog/commit/0887940))
|
||||
|
||||
|
||||
### BREAKING CHANGES
|
||||
|
||||
* a ! character at the end of type will now be omitted
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [1.1.2](https://github.com/conventional-changelog/conventional-changelog/compare/conventional-changelog-conventionalcommits@1.1.1...conventional-changelog-conventionalcommits@1.1.2) (2019-04-24)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Downgrade node 10.x dependency to 6.9.0 dependency ([#437](https://github.com/conventional-changelog/conventional-changelog/issues/437)) ([ded5a30](https://github.com/conventional-changelog/conventional-changelog/commit/ded5a30))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## [1.1.1](https://github.com/conventional-changelog/conventional-changelog/compare/conventional-changelog-conventionalcommits@1.1.0...conventional-changelog-conventionalcommits@1.1.1) (2019-04-11)
|
||||
|
||||
**Note:** Version bump only for package conventional-changelog-conventionalcommits
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# 1.1.0 (2019-04-10)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* address discrepancies between cc preset and spec ([#429](https://github.com/conventional-changelog/conventional-changelog/issues/429)) ([18f71d2](https://github.com/conventional-changelog/conventional-changelog/commit/18f71d2))
|
||||
* adhere to config spec ([#432](https://github.com/conventional-changelog/conventional-changelog/issues/432)) ([4eb1f55](https://github.com/conventional-changelog/conventional-changelog/commit/4eb1f55))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* conventionalcommits preset, preMajor config option ([#434](https://github.com/conventional-changelog/conventional-changelog/issues/434)) ([dde12fe](https://github.com/conventional-changelog/conventional-changelog/commit/dde12fe))
|
||||
* creating highly configurable preset, based on conventionalcommits.org ([#421](https://github.com/conventional-changelog/conventional-changelog/issues/421)) ([f2fb240](https://github.com/conventional-changelog/conventional-changelog/commit/f2fb240))
|
||||
15
node_modules/conventional-changelog-conventionalcommits/LICENSE.md
generated
vendored
Normal file
15
node_modules/conventional-changelog-conventionalcommits/LICENSE.md
generated
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
### ISC License
|
||||
|
||||
Copyright © [conventional-changelog team](https://github.com/conventional-changelog)
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
PERFORMANCE OF THIS SOFTWARE.
|
||||
50
node_modules/conventional-changelog-conventionalcommits/README.md
generated
vendored
Normal file
50
node_modules/conventional-changelog-conventionalcommits/README.md
generated
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
# [![Build Status][travis-image]][travis-url] [![Coverage Status][coveralls-image]][coveralls-url]
|
||||
|
||||
## conventionalcommits.org convention
|
||||
|
||||
A concrete implementation of the specification described at
|
||||
[conventionalcommits.org](https://conventionalcommits.org/) for automated
|
||||
CHANGELOG generation and version management.
|
||||
|
||||
|
||||
## Indirect Usage (as preset)
|
||||
|
||||
Use the [Conventional Changelog CLI Quick Start](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-cli#quick-start) with the `-p conventionalcommits` option.
|
||||
|
||||
## Direct Usage (as a base preset so you can customize it)
|
||||
|
||||
If you want to use this package directly and pass options, you can use the [Conventional Changelog CLI Quick Start](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-cli#quick-start) and with the `--config` or `-n` parameter, pass a js config that looks like this
|
||||
```
|
||||
'use strict'
|
||||
const config = require('conventional-changelog-conventionalcommits')
|
||||
|
||||
module.exports = config({
|
||||
"issuePrefixes": ["TEST-"],
|
||||
"issueUrlFormat": "myBugTracker.com/{prefix}{id}"
|
||||
})
|
||||
```
|
||||
|
||||
or json config like that:
|
||||
```
|
||||
{
|
||||
"options": {
|
||||
"preset": {
|
||||
"name": "conventionalchangelog",
|
||||
"issuePrefixes": ["TEST-"],
|
||||
"issueUrlFormat": "myBugTracker.com/{prefix}{id}"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
This last json config way passes the `preset` object to the `conventional-changelog-preset-loader` package, that in turn, passes this same `preset` object as the config for the `conventional-changelog-conventionalcommits`.
|
||||
|
||||
|
||||
|
||||
See [conventional-changelog-config-spec](https://github.com/conventional-changelog/conventional-changelog-config-spec) for available
|
||||
configuration options.
|
||||
|
||||
|
||||
[travis-image]: https://travis-ci.org/conventional-changelog/conventional-changelog.svg?branch=master
|
||||
[travis-url]: https://travis-ci.org/conventional-changelog/conventional-changelog
|
||||
[coveralls-image]: https://coveralls.io/repos/conventional-changelog/conventional-changelog/badge.svg
|
||||
[coveralls-url]: https://coveralls.io/r/conventional-changelog/conventional-changelog
|
||||
11
node_modules/conventional-changelog-conventionalcommits/add-bang-notes.js
generated
vendored
Normal file
11
node_modules/conventional-changelog-conventionalcommits/add-bang-notes.js
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
const { breakingHeaderPattern } = require('./parser-opts')()
|
||||
|
||||
module.exports = (commit) => {
|
||||
const match = commit.header.match(breakingHeaderPattern)
|
||||
if (match && commit.notes.length === 0) {
|
||||
const noteText = match[3] // the description of the change.
|
||||
commit.notes.push({
|
||||
text: noteText
|
||||
})
|
||||
}
|
||||
}
|
||||
12
node_modules/conventional-changelog-conventionalcommits/conventional-changelog.js
generated
vendored
Normal file
12
node_modules/conventional-changelog-conventionalcommits/conventional-changelog.js
generated
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
'use strict'
|
||||
|
||||
const Q = require('q')
|
||||
const parserOpts = require('./parser-opts')
|
||||
const writerOpts = require('./writer-opts')
|
||||
|
||||
module.exports = function (config) {
|
||||
return Q.all([parserOpts(config), writerOpts(config)])
|
||||
.spread((parserOpts, writerOpts) => {
|
||||
return { parserOpts, writerOpts }
|
||||
})
|
||||
}
|
||||
43
node_modules/conventional-changelog-conventionalcommits/conventional-recommended-bump.js
generated
vendored
Normal file
43
node_modules/conventional-changelog-conventionalcommits/conventional-recommended-bump.js
generated
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
'use strict'
|
||||
|
||||
const addBangNotes = require('./add-bang-notes')
|
||||
const parserOpts = require('./parser-opts')
|
||||
|
||||
module.exports = function (config) {
|
||||
return {
|
||||
parserOpts: parserOpts(config),
|
||||
|
||||
whatBump: (commits) => {
|
||||
let level = 2
|
||||
let breakings = 0
|
||||
let features = 0
|
||||
|
||||
commits.forEach(commit => {
|
||||
// adds additional breaking change notes
|
||||
// for the special case, test(system)!: hello world, where there is
|
||||
// a '!' but no 'BREAKING CHANGE' in body:
|
||||
addBangNotes(commit)
|
||||
if (commit.notes.length > 0) {
|
||||
breakings += commit.notes.length
|
||||
level = 0
|
||||
} else if (commit.type === 'feat' || commit.type === 'feature') {
|
||||
features += 1
|
||||
if (level === 2) {
|
||||
level = 1
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
if (config.preMajor && level < 2) {
|
||||
level++
|
||||
}
|
||||
|
||||
return {
|
||||
level: level,
|
||||
reason: breakings === 1
|
||||
? `There is ${breakings} BREAKING CHANGE and ${features} features`
|
||||
: `There are ${breakings} BREAKING CHANGES and ${features} features`
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
38
node_modules/conventional-changelog-conventionalcommits/index.js
generated
vendored
Normal file
38
node_modules/conventional-changelog-conventionalcommits/index.js
generated
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
'use strict'
|
||||
const Q = require('q')
|
||||
const _ = require('lodash')
|
||||
const conventionalChangelog = require('./conventional-changelog')
|
||||
const parserOpts = require('./parser-opts')
|
||||
const recommendedBumpOpts = require('./conventional-recommended-bump')
|
||||
const writerOpts = require('./writer-opts')
|
||||
|
||||
module.exports = function (parameter) {
|
||||
// parameter passed can be either a config object or a callback function
|
||||
if (_.isFunction(parameter)) {
|
||||
// parameter is a callback object
|
||||
const config = {}
|
||||
// FIXME: use presetOpts(config) for callback
|
||||
Q.all([
|
||||
conventionalChangelog(config),
|
||||
parserOpts(config),
|
||||
recommendedBumpOpts(config),
|
||||
writerOpts(config)
|
||||
]).spread((conventionalChangelog, parserOpts, recommendedBumpOpts, writerOpts) => {
|
||||
parameter(null, { gitRawCommitsOpts: { noMerges: null }, conventionalChangelog, parserOpts, recommendedBumpOpts, writerOpts })
|
||||
})
|
||||
} else {
|
||||
const config = parameter || {}
|
||||
return presetOpts(config)
|
||||
}
|
||||
}
|
||||
|
||||
function presetOpts (config) {
|
||||
return Q.all([
|
||||
conventionalChangelog(config),
|
||||
parserOpts(config),
|
||||
recommendedBumpOpts(config),
|
||||
writerOpts(config)
|
||||
]).spread((conventionalChangelog, parserOpts, recommendedBumpOpts, writerOpts) => {
|
||||
return { conventionalChangelog, parserOpts, recommendedBumpOpts, writerOpts }
|
||||
})
|
||||
}
|
||||
41
node_modules/conventional-changelog-conventionalcommits/package.json
generated
vendored
Normal file
41
node_modules/conventional-changelog-conventionalcommits/package.json
generated
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"name": "conventional-changelog-conventionalcommits",
|
||||
"version": "4.6.1",
|
||||
"description": "conventional-changelog conventionalcommits.org preset",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test-windows": "mocha --timeout 30000"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/conventional-changelog/conventional-changelog.git"
|
||||
},
|
||||
"keywords": [
|
||||
"conventional-changelog",
|
||||
"conventionalcommits.org",
|
||||
"preset"
|
||||
],
|
||||
"files": [
|
||||
"add-bang-notes.js",
|
||||
"conventional-changelog.js",
|
||||
"conventional-recommended-bump.js",
|
||||
"index.js",
|
||||
"parser-opts.js",
|
||||
"writer-opts.js",
|
||||
"templates"
|
||||
],
|
||||
"author": "Ben Coe",
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"license": "ISC",
|
||||
"bugs": {
|
||||
"url": "https://github.com/conventional-changelog/conventional-changelog/issues"
|
||||
},
|
||||
"homepage": "https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-conventionalcommits#readme",
|
||||
"dependencies": {
|
||||
"compare-func": "^2.0.0",
|
||||
"lodash": "^4.17.15",
|
||||
"q": "^1.5.1"
|
||||
}
|
||||
}
|
||||
25
node_modules/conventional-changelog-conventionalcommits/parser-opts.js
generated
vendored
Normal file
25
node_modules/conventional-changelog-conventionalcommits/parser-opts.js
generated
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
'use strict'
|
||||
|
||||
module.exports = function (config) {
|
||||
config = defaultConfig(config)
|
||||
return {
|
||||
headerPattern: /^(\w*)(?:\((.*)\))?!?: (.*)$/,
|
||||
breakingHeaderPattern: /^(\w*)(?:\((.*)\))?!: (.*)$/,
|
||||
headerCorrespondence: [
|
||||
'type',
|
||||
'scope',
|
||||
'subject'
|
||||
],
|
||||
noteKeywords: ['BREAKING CHANGE'],
|
||||
revertPattern: /^(?:Revert|revert:)\s"?([\s\S]+?)"?\s*This reverts commit (\w*)\./i,
|
||||
revertCorrespondence: ['header', 'hash'],
|
||||
issuePrefixes: config.issuePrefixes
|
||||
}
|
||||
}
|
||||
|
||||
// merge user set configuration with default configuration.
|
||||
function defaultConfig (config) {
|
||||
config = config || {}
|
||||
config.issuePrefixes = config.issuePrefixes || ['#']
|
||||
return config
|
||||
}
|
||||
30
node_modules/conventional-changelog-conventionalcommits/templates/commit.hbs
generated
vendored
Normal file
30
node_modules/conventional-changelog-conventionalcommits/templates/commit.hbs
generated
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
*{{#if scope}} **{{scope}}:**
|
||||
{{~/if}} {{#if subject}}
|
||||
{{~subject}}
|
||||
{{~else}}
|
||||
{{~header}}
|
||||
{{~/if}}
|
||||
|
||||
{{~!-- commit link --}}{{~#if hash}} {{#if @root.linkReferences~}}
|
||||
([{{shortHash}}]({{commitUrlFormat}}))
|
||||
{{~else}}
|
||||
{{~shortHash}}
|
||||
{{~/if}}{{~/if}}
|
||||
|
||||
{{~!-- commit references --}}
|
||||
{{~#if references~}}
|
||||
, closes
|
||||
{{~#each references}} {{#if @root.linkReferences~}}
|
||||
[
|
||||
{{~#if this.owner}}
|
||||
{{~this.owner}}/
|
||||
{{~/if}}
|
||||
{{~this.repository}}{{this.prefix}}{{this.issue}}]({{issueUrlFormat}})
|
||||
{{~else}}
|
||||
{{~#if this.owner}}
|
||||
{{~this.owner}}/
|
||||
{{~/if}}
|
||||
{{~this.repository}}{{this.prefix}}{{this.issue}}
|
||||
{{~/if}}{{/each}}
|
||||
{{~/if}}
|
||||
|
||||
0
node_modules/conventional-changelog-conventionalcommits/templates/footer.hbs
generated
vendored
Normal file
0
node_modules/conventional-changelog-conventionalcommits/templates/footer.hbs
generated
vendored
Normal file
13
node_modules/conventional-changelog-conventionalcommits/templates/header.hbs
generated
vendored
Normal file
13
node_modules/conventional-changelog-conventionalcommits/templates/header.hbs
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
{{#if isPatch~}}
|
||||
###
|
||||
{{~else~}}
|
||||
##
|
||||
{{~/if}} {{#if @root.linkCompare~}}
|
||||
[{{version}}]({{compareUrlFormat}})
|
||||
{{~else}}
|
||||
{{~version}}
|
||||
{{~/if}}
|
||||
{{~#if title}} "{{title}}"
|
||||
{{~/if}}
|
||||
{{~#if date}} ({{date}})
|
||||
{{/if}}
|
||||
23
node_modules/conventional-changelog-conventionalcommits/templates/template.hbs
generated
vendored
Normal file
23
node_modules/conventional-changelog-conventionalcommits/templates/template.hbs
generated
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{{> header}}
|
||||
|
||||
{{#if noteGroups}}
|
||||
{{#each noteGroups}}
|
||||
|
||||
### ⚠ {{title}}
|
||||
|
||||
{{#each notes}}
|
||||
* {{#if commit.scope}}**{{commit.scope}}:** {{/if}}{{text}}
|
||||
{{/each}}
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
{{#each commitGroups}}
|
||||
|
||||
{{#if title}}
|
||||
### {{title}}
|
||||
|
||||
{{/if}}
|
||||
{{#each commits}}
|
||||
{{> commit root=@root}}
|
||||
{{/each}}
|
||||
|
||||
{{/each}}
|
||||
214
node_modules/conventional-changelog-conventionalcommits/writer-opts.js
generated
vendored
Normal file
214
node_modules/conventional-changelog-conventionalcommits/writer-opts.js
generated
vendored
Normal file
@@ -0,0 +1,214 @@
|
||||
'use strict'
|
||||
|
||||
const addBangNotes = require('./add-bang-notes')
|
||||
const compareFunc = require('compare-func')
|
||||
const Q = require('q')
|
||||
const readFile = Q.denodeify(require('fs').readFile)
|
||||
const resolve = require('path').resolve
|
||||
const releaseAsRe = /release-as:\s*\w*@?([0-9]+\.[0-9]+\.[0-9a-z]+(-[0-9a-z.]+)?)\s*/i
|
||||
|
||||
/**
|
||||
* Handlebar partials for various property substitutions based on commit context.
|
||||
*/
|
||||
const owner = '{{#if this.owner}}{{~this.owner}}{{else}}{{~@root.owner}}{{/if}}'
|
||||
const host = '{{~@root.host}}'
|
||||
const repository = '{{#if this.repository}}{{~this.repository}}{{else}}{{~@root.repository}}{{/if}}'
|
||||
|
||||
module.exports = function (config) {
|
||||
config = defaultConfig(config)
|
||||
const commitUrlFormat = expandTemplate(config.commitUrlFormat, {
|
||||
host,
|
||||
owner,
|
||||
repository
|
||||
})
|
||||
const compareUrlFormat = expandTemplate(config.compareUrlFormat, {
|
||||
host,
|
||||
owner,
|
||||
repository
|
||||
})
|
||||
const issueUrlFormat = expandTemplate(config.issueUrlFormat, {
|
||||
host,
|
||||
owner,
|
||||
repository,
|
||||
id: '{{this.issue}}',
|
||||
prefix: '{{this.prefix}}'
|
||||
})
|
||||
|
||||
return Q.all([
|
||||
readFile(resolve(__dirname, './templates/template.hbs'), 'utf-8'),
|
||||
readFile(resolve(__dirname, './templates/header.hbs'), 'utf-8'),
|
||||
readFile(resolve(__dirname, './templates/commit.hbs'), 'utf-8'),
|
||||
readFile(resolve(__dirname, './templates/footer.hbs'), 'utf-8')
|
||||
])
|
||||
.spread((template, header, commit, footer) => {
|
||||
const writerOpts = getWriterOpts(config)
|
||||
|
||||
writerOpts.mainTemplate = template
|
||||
writerOpts.headerPartial = header
|
||||
.replace(/{{compareUrlFormat}}/g, compareUrlFormat)
|
||||
writerOpts.commitPartial = commit
|
||||
.replace(/{{commitUrlFormat}}/g, commitUrlFormat)
|
||||
.replace(/{{issueUrlFormat}}/g, issueUrlFormat)
|
||||
writerOpts.footerPartial = footer
|
||||
|
||||
return writerOpts
|
||||
})
|
||||
}
|
||||
|
||||
function findTypeEntry (types, commit) {
|
||||
const typeKey = (commit.revert ? 'revert' : (commit.type || '')).toLowerCase()
|
||||
return types.find((entry) => {
|
||||
if (entry.type !== typeKey) {
|
||||
return false
|
||||
}
|
||||
if (entry.scope && entry.scope !== commit.scope) {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
})
|
||||
}
|
||||
|
||||
function getWriterOpts (config) {
|
||||
config = defaultConfig(config)
|
||||
|
||||
return {
|
||||
transform: (commit, context) => {
|
||||
let discard = true
|
||||
const issues = []
|
||||
const entry = findTypeEntry(config.types, commit)
|
||||
|
||||
// adds additional breaking change notes
|
||||
// for the special case, test(system)!: hello world, where there is
|
||||
// a '!' but no 'BREAKING CHANGE' in body:
|
||||
addBangNotes(commit)
|
||||
|
||||
// Add an entry in the CHANGELOG if special Release-As footer
|
||||
// is used:
|
||||
if ((commit.footer && releaseAsRe.test(commit.footer)) ||
|
||||
(commit.body && releaseAsRe.test(commit.body))) {
|
||||
discard = false
|
||||
}
|
||||
|
||||
commit.notes.forEach(note => {
|
||||
note.title = 'BREAKING CHANGES'
|
||||
discard = false
|
||||
})
|
||||
|
||||
// breaking changes attached to any type are still displayed.
|
||||
if (discard && (entry === undefined ||
|
||||
entry.hidden)) return
|
||||
|
||||
if (entry) commit.type = entry.section
|
||||
|
||||
if (commit.scope === '*') {
|
||||
commit.scope = ''
|
||||
}
|
||||
|
||||
if (typeof commit.hash === 'string') {
|
||||
commit.shortHash = commit.hash.substring(0, 7)
|
||||
}
|
||||
|
||||
if (typeof commit.subject === 'string') {
|
||||
// Issue URLs.
|
||||
config.issuePrefixes.join('|')
|
||||
const issueRegEx = '(' + config.issuePrefixes.join('|') + ')' + '([0-9]+)'
|
||||
const re = new RegExp(issueRegEx, 'g')
|
||||
|
||||
commit.subject = commit.subject.replace(re, (_, prefix, issue) => {
|
||||
issues.push(prefix + issue)
|
||||
const url = expandTemplate(config.issueUrlFormat, {
|
||||
host: context.host,
|
||||
owner: context.owner,
|
||||
repository: context.repository,
|
||||
id: issue,
|
||||
prefix: prefix
|
||||
})
|
||||
return `[${prefix}${issue}](${url})`
|
||||
})
|
||||
// User URLs.
|
||||
commit.subject = commit.subject.replace(/\B@([a-z0-9](?:-?[a-z0-9/]){0,38})/g, (_, user) => {
|
||||
// TODO: investigate why this code exists.
|
||||
if (user.includes('/')) {
|
||||
return `@${user}`
|
||||
}
|
||||
|
||||
const usernameUrl = expandTemplate(config.userUrlFormat, {
|
||||
host: context.host,
|
||||
owner: context.owner,
|
||||
repository: context.repository,
|
||||
user: user
|
||||
})
|
||||
|
||||
return `[@${user}](${usernameUrl})`
|
||||
})
|
||||
}
|
||||
|
||||
// remove references that already appear in the subject
|
||||
commit.references = commit.references.filter(reference => {
|
||||
if (issues.indexOf(reference.prefix + reference.issue) === -1) {
|
||||
return true
|
||||
}
|
||||
|
||||
return false
|
||||
})
|
||||
|
||||
return commit
|
||||
},
|
||||
groupBy: 'type',
|
||||
// the groupings of commit messages, e.g., Features vs., Bug Fixes, are
|
||||
// sorted based on their probable importance:
|
||||
commitGroupsSort: (a, b) => {
|
||||
const commitGroupOrder = ['Reverts', 'Performance Improvements', 'Bug Fixes', 'Features']
|
||||
const gRankA = commitGroupOrder.indexOf(a.title)
|
||||
const gRankB = commitGroupOrder.indexOf(b.title)
|
||||
if (gRankA >= gRankB) {
|
||||
return -1
|
||||
} else {
|
||||
return 1
|
||||
}
|
||||
},
|
||||
commitsSort: ['scope', 'subject'],
|
||||
noteGroupsSort: 'title',
|
||||
notesSort: compareFunc
|
||||
}
|
||||
}
|
||||
|
||||
// merge user set configuration with default configuration.
|
||||
function defaultConfig (config) {
|
||||
config = config || {}
|
||||
config.types = config.types || [
|
||||
{ type: 'feat', section: 'Features' },
|
||||
{ type: 'feature', section: 'Features' },
|
||||
{ type: 'fix', section: 'Bug Fixes' },
|
||||
{ type: 'perf', section: 'Performance Improvements' },
|
||||
{ type: 'revert', section: 'Reverts' },
|
||||
{ type: 'docs', section: 'Documentation', hidden: true },
|
||||
{ type: 'style', section: 'Styles', hidden: true },
|
||||
{ type: 'chore', section: 'Miscellaneous Chores', hidden: true },
|
||||
{ type: 'refactor', section: 'Code Refactoring', hidden: true },
|
||||
{ type: 'test', section: 'Tests', hidden: true },
|
||||
{ type: 'build', section: 'Build System', hidden: true },
|
||||
{ type: 'ci', section: 'Continuous Integration', hidden: true }
|
||||
]
|
||||
config.issueUrlFormat = config.issueUrlFormat ||
|
||||
'{{host}}/{{owner}}/{{repository}}/issues/{{id}}'
|
||||
config.commitUrlFormat = config.commitUrlFormat ||
|
||||
'{{host}}/{{owner}}/{{repository}}/commit/{{hash}}'
|
||||
config.compareUrlFormat = config.compareUrlFormat ||
|
||||
'{{host}}/{{owner}}/{{repository}}/compare/{{previousTag}}...{{currentTag}}'
|
||||
config.userUrlFormat = config.userUrlFormat ||
|
||||
'{{host}}/{{user}}'
|
||||
config.issuePrefixes = config.issuePrefixes || ['#']
|
||||
|
||||
return config
|
||||
}
|
||||
|
||||
// expand on the simple mustache-style templates supported in
|
||||
// configuration (we may eventually want to use handlebars for this).
|
||||
function expandTemplate (template, context) {
|
||||
let expanded = template
|
||||
Object.keys(context).forEach(key => {
|
||||
expanded = expanded.replace(new RegExp(`{{${key}}}`, 'g'), context[key])
|
||||
})
|
||||
return expanded
|
||||
}
|
||||
Reference in New Issue
Block a user