@pvm/plugin-conventional-semantic-release
Плагин дополняет другой плагин @pvm/plugin-conventional-changelog
логикой
расчета типа релиза по логике @semantic-release/commit-analyzer
Правила по-умолчанию применяемые в commit-analyzer
/**
* Default `releaseRules` rules for common commit formats, following conventions.
*
* @type {Array}
*/
module.exports = [
{breaking: true, release: 'major'},
{revert: true, release: 'patch'},
// Angular
{type: 'feat', release: 'minor'},
{type: 'fix', release: 'patch'},
{type: 'perf', release: 'patch'},
// Atom
{emoji: ':racehorse:', release: 'patch'},
{emoji: ':bug:', release: 'patch'},
{emoji: ':penguin:', release: 'patch'},
{emoji: ':apple:', release: 'patch'},
{emoji: ':checkered_flag:', release: 'patch'},
// Ember
{tag: 'BUGFIX', release: 'patch'},
{tag: 'FEATURE', release: 'minor'},
{tag: 'SECURITY', release: 'patch'},
// ESLint
{tag: 'Breaking', release: 'major'},
{tag: 'Fix', release: 'patch'},
{tag: 'Update', release: 'minor'},
{tag: 'New', release: 'minor'},
// Express
{component: 'perf', release: 'patch'},
{component: 'deps', release: 'patch'},
// JSHint
{type: 'FEAT', release: 'minor'},
{type: 'FIX', release: 'patch'},
];
Параметры
releaseRules
Идентично аналогичной настройке в @semantic-release/commit-analyzer
и
позволяет добавить свои правила для релизов. Сперва будут проверяться пользовательские правила и, если подходяещго
правила там найдено не будет, то будут применены правила по-умолчанию.
Отличия от работы плагина @pvm/plugin-conventional-changelog
по-умолчанию
По логике semantic-release
если подходящего правила не будет найдено в правилах по-умолчанию и в пользовательских правилах, то
тип релиза будет установлен в none
и релиз этот коммит создавать не будет (если в списке будут другие коммиты, то тип релиза будет определяться ими).
В этом отличие логики расчета
типа релиза в conventional-changelog-angular
, где коммит, не подходящий под правила, будет триггерить релиз типа patch
.
Type aliases
Options
Ƭ Options: Object
Type declaration
Name | Type |
---|---|
releaseRules? | { breaking : boolean ; component : string ; emoji : string ; release : PvmReleaseType ; revert : boolean ; tag : string ; type : string }[] |
Defined in
packages/pvm-plugin-conventional-semantic-release/lib/types.ts:3
Variables
logger
• logger: SignaleType
<"debug"
| "silly"
| "deprecate"
, never
>
Defined in
packages/pvm-plugin-conventional-semantic-release/lib/logger.ts:3
Functions
analyzeCommits
▸ analyzeCommits(commits
, __namedParameters
): PvmReleaseType
Parameters
Name | Type |
---|---|
commits | Commit <string | number | symbol >[] |
__namedParameters | Options |
Returns
Defined in
packages/pvm-plugin-conventional-semantic-release/lib/analyze-commits.ts:11
default
▸ default(api
, opts?
): void
Parameters
Name | Type |
---|---|
api | PluginsApi |
opts | Options |
Returns
void
Defined in
packages/pvm-plugin-conventional-semantic-release/lib/index.ts:7