This repository has been archived by the owner on Feb 8, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.cz-config.js
56 lines (50 loc) · 2.03 KB
/
.cz-config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
const glob = require('glob');
/**
* @param {string} pattern
* @param {(path: string) => string} map
* @param {(path: string) => boolean} filter
*/
const globMap = (pattern, map, filter) => glob.sync(pattern)
.map(map || ((path) => path))
.map((path) => path.replace(/\/$/, ''))
.filter(filter || (() => true))
.map((name) => ({ name }))
/**
* Check `path` to not include substring in `variants`
* @param {string[]} variants
* @return {(path: string) => boolean}
*/
const exclude = (variants) => (path) =>
variants.every((variant) => !path.includes(variant))
/**
* Check `path` to include substring of one of `variants`
* @param {string[]} variants
* @return {(path: string) => boolean}
*/
const include = (variants) => (path) =>
variants.some((variant) => path.includes(variant))
module.exports = {
types: [
{ value: 'feat', name: 'feat: A new feature' },
{ value: 'fix', name: 'fix: A bug fix' },
{ value: 'docs', name: 'docs: Documentation only changes' },
{ value: 'style', name: 'style: Changes that do not affect the meaning of the code\n (white-space, formatting, missing semi-colons, etc)' },
{ value: 'refactor', name: 'refactor: A code change that neither fixes a bug nor adds a feature' },
{ value: 'perf', name: 'perf: A code change that improves performance' },
{ value: 'build', name: 'build: Changes that affect the build system or external dependencies' },
{ value: 'test', name: 'test: Adding missing tests' },
{ value: 'chore', name: 'chore: Changes to the build process or auxiliary tools\n and libraries such as documentation generation' },
{ value: 'revert', name: 'revert: Revert to a commit' },
{ value: 'wip', name: 'wip: Work in progress' },
],
scopes: [].concat(
globMap('./packages/*/', (path) => path.replace(/^\.\/packages\//, '@ui/')),
[
{ name: 'scripts' },
{ name: 'storybook' },
],
),
allowCustomScopes: true,
allowBreakingChanges: ['feat', 'fix', 'revert'],
footerPrefix: '',
}