@itcase/config 1.6.22 → 1.6.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/commitlint/{indexProject.js → commitlintProject.js} +19 -2
- package/commitlint/{indexRelease.js → commitlintRelease.js} +3 -1
- package/commitlint/index.js +4 -0
- package/package.json +1 -1
- package/semantic-release/common.js +93 -0
- package/semantic-release/config.js +4 -1
- package/semantic-release/index.js +11 -47
- package/semantic-release/semanticReleaseLerna.js +23 -0
- package/semantic-release/semanticReleasePackage.js +7 -0
- package/semantic-release/semanticReleaseProject.js +10 -0
- package/semantic-release/semanticReleaseVSMarketplace.js +10 -0
- package/semantic-release/indexLerna.js +0 -57
- package/semantic-release/indexProject.js +0 -54
- package/semantic-release/indexVSMarketplace.js +0 -54
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable perfectionist/sort-objects */
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
const commitlintProject = {
|
|
4
4
|
parserPreset: 'conventional-changelog-conventionalcommits',
|
|
5
5
|
ignores: [
|
|
6
6
|
(commit) => /^Merge branch/.test(commit),
|
|
@@ -12,7 +12,17 @@ export default {
|
|
|
12
12
|
'type-enum': [
|
|
13
13
|
2,
|
|
14
14
|
'always',
|
|
15
|
-
[
|
|
15
|
+
[
|
|
16
|
+
'feat',
|
|
17
|
+
'fix',
|
|
18
|
+
'refactor',
|
|
19
|
+
'docs',
|
|
20
|
+
'story',
|
|
21
|
+
'test',
|
|
22
|
+
'ci',
|
|
23
|
+
'deps',
|
|
24
|
+
'other',
|
|
25
|
+
],
|
|
16
26
|
],
|
|
17
27
|
'body-empty': [1, 'always'],
|
|
18
28
|
'subject-case': [
|
|
@@ -50,6 +60,11 @@ export default {
|
|
|
50
60
|
"Is for code changes that don't add features or fix bugs.",
|
|
51
61
|
emoji: '📦',
|
|
52
62
|
},
|
|
63
|
+
story: {
|
|
64
|
+
title: 'Storybook',
|
|
65
|
+
description: 'Stories for components and Mock data',
|
|
66
|
+
emoji: '🦐',
|
|
67
|
+
},
|
|
53
68
|
docs: {
|
|
54
69
|
title: 'Documentation',
|
|
55
70
|
description: 'Documentation only changes',
|
|
@@ -87,3 +102,5 @@ export default {
|
|
|
87
102
|
},
|
|
88
103
|
},
|
|
89
104
|
}
|
|
105
|
+
|
|
106
|
+
export { commitlintProject }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable perfectionist/sort-objects */
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
const commitlintRelease = {
|
|
4
4
|
parserPreset: 'conventional-changelog-conventionalcommits',
|
|
5
5
|
extends: ['@commitlint/config-conventional'],
|
|
6
6
|
rules: {
|
|
@@ -49,3 +49,5 @@ export default {
|
|
|
49
49
|
},
|
|
50
50
|
},
|
|
51
51
|
}
|
|
52
|
+
|
|
53
|
+
export { commitlintRelease }
|
package/package.json
CHANGED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/* eslint-disable perfectionist/sort-objects */
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
releaseNoteKeywords,
|
|
5
|
+
releaseNotesTypes,
|
|
6
|
+
releaseRules,
|
|
7
|
+
} from './config.js'
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Создает базовую конфигурацию semantic-release с общими плагинами
|
|
11
|
+
* @param {Object} options - Опции для кастомизации конфигурации
|
|
12
|
+
* @param {string|string[]} options.branches - Ветки для релиза
|
|
13
|
+
* @param {Object} options.npmConfig - Конфигурация для @semantic-release/npm
|
|
14
|
+
* @param {Object} options.gitConfig - Конфигурация для @semantic-release/git
|
|
15
|
+
* @param {Array} options.additionalPlugins - Дополнительные плагины для добавления
|
|
16
|
+
* @returns {Object} Конфигурация semantic-release
|
|
17
|
+
*/
|
|
18
|
+
export function createSemanticReleaseConfig({
|
|
19
|
+
branches,
|
|
20
|
+
npmConfig = {},
|
|
21
|
+
gitConfig = {
|
|
22
|
+
message: 'release: publishing new version ${nextRelease.version} [skip ci]',
|
|
23
|
+
assets: ['package.json', 'package-lock.json', 'CHANGELOG.md'],
|
|
24
|
+
},
|
|
25
|
+
additionalPlugins = [],
|
|
26
|
+
}) {
|
|
27
|
+
const plugins = [
|
|
28
|
+
[
|
|
29
|
+
'@semantic-release/commit-analyzer',
|
|
30
|
+
{
|
|
31
|
+
parserOpts: { noteKeywords: releaseNoteKeywords },
|
|
32
|
+
releaseRules: releaseRules,
|
|
33
|
+
},
|
|
34
|
+
],
|
|
35
|
+
[
|
|
36
|
+
'@semantic-release/release-notes-generator',
|
|
37
|
+
{
|
|
38
|
+
presetConfig: {
|
|
39
|
+
types: releaseNotesTypes,
|
|
40
|
+
},
|
|
41
|
+
parserOpts: { noteKeywords: releaseNoteKeywords },
|
|
42
|
+
writerOpts: { commitsSort: ['subject', 'scope'] },
|
|
43
|
+
},
|
|
44
|
+
],
|
|
45
|
+
[
|
|
46
|
+
'@semantic-release/changelog',
|
|
47
|
+
{
|
|
48
|
+
changelogFile: 'CHANGELOG.md',
|
|
49
|
+
},
|
|
50
|
+
],
|
|
51
|
+
...(Object.keys(npmConfig).length > 0
|
|
52
|
+
? [['@semantic-release/npm', npmConfig]]
|
|
53
|
+
: ['@semantic-release/npm']),
|
|
54
|
+
['@semantic-release/git', gitConfig],
|
|
55
|
+
'@semantic-release/github',
|
|
56
|
+
...additionalPlugins,
|
|
57
|
+
]
|
|
58
|
+
|
|
59
|
+
const preset = 'conventionalcommits'
|
|
60
|
+
|
|
61
|
+
return {
|
|
62
|
+
branches,
|
|
63
|
+
plugins,
|
|
64
|
+
preset,
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export const commonPlugins = {
|
|
69
|
+
commitAnalyzer: [
|
|
70
|
+
'@semantic-release/commit-analyzer',
|
|
71
|
+
{
|
|
72
|
+
parserOpts: { noteKeywords: releaseNoteKeywords },
|
|
73
|
+
releaseRules: releaseRules,
|
|
74
|
+
},
|
|
75
|
+
],
|
|
76
|
+
releaseNotesGenerator: [
|
|
77
|
+
'@semantic-release/release-notes-generator',
|
|
78
|
+
{
|
|
79
|
+
presetConfig: {
|
|
80
|
+
types: releaseNotesTypes,
|
|
81
|
+
},
|
|
82
|
+
parserOpts: { noteKeywords: releaseNoteKeywords },
|
|
83
|
+
writerOpts: { commitsSort: ['subject', 'scope'] },
|
|
84
|
+
},
|
|
85
|
+
],
|
|
86
|
+
changelog: [
|
|
87
|
+
'@semantic-release/changelog',
|
|
88
|
+
{
|
|
89
|
+
changelogFile: 'CHANGELOG.md',
|
|
90
|
+
},
|
|
91
|
+
],
|
|
92
|
+
github: '@semantic-release/github',
|
|
93
|
+
}
|
|
@@ -23,4 +23,7 @@ const releaseNotesTypes = [
|
|
|
23
23
|
{ type: 'other', section: 'Other' },
|
|
24
24
|
]
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
// Keywords for important notes. This value is case insensitive.
|
|
27
|
+
const releaseNoteKeywords = ['BREAKING CHANGE', 'BREAKING CHANGES', 'BREAKING']
|
|
28
|
+
|
|
29
|
+
export { releaseNoteKeywords, releaseNotesTypes, releaseRules }
|
|
@@ -1,49 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
plugins: [
|
|
12
|
-
[
|
|
13
|
-
'@semantic-release/commit-analyzer',
|
|
14
|
-
{
|
|
15
|
-
parserOpts: { noteKeywords: noteKeywords },
|
|
16
|
-
releaseRules: releaseRules,
|
|
17
|
-
},
|
|
18
|
-
],
|
|
19
|
-
[
|
|
20
|
-
'@semantic-release/release-notes-generator',
|
|
21
|
-
{
|
|
22
|
-
presetConfig: {
|
|
23
|
-
types: releaseNotesTypes,
|
|
24
|
-
},
|
|
25
|
-
parserOpts: { noteKeywords: noteKeywords },
|
|
26
|
-
writerOpts: { commitsSort: ['subject', 'scope'] },
|
|
27
|
-
},
|
|
28
|
-
],
|
|
29
|
-
[
|
|
30
|
-
'@semantic-release/changelog',
|
|
31
|
-
{
|
|
32
|
-
changelogFile: 'CHANGELOG.md',
|
|
33
|
-
},
|
|
34
|
-
],
|
|
35
|
-
'@semantic-release/npm',
|
|
36
|
-
[
|
|
37
|
-
'@semantic-release/git',
|
|
38
|
-
{
|
|
39
|
-
message:
|
|
40
|
-
'release: publishing new version ${nextRelease.version} [skip ci]',
|
|
41
|
-
assets: ['package.json', 'package-lock.json', 'CHANGELOG.md'],
|
|
42
|
-
},
|
|
43
|
-
],
|
|
44
|
-
'@semantic-release/github',
|
|
45
|
-
],
|
|
1
|
+
import { semanticReleaseLerna } from './semanticReleaseLerna.js'
|
|
2
|
+
import { semanticReleasePackage } from './semanticReleasePackage.js'
|
|
3
|
+
import { semanticReleaseProject } from './semanticReleaseProject.js'
|
|
4
|
+
import { semanticReleaseVSMarketplace } from './semanticReleaseVSMarketplace.js'
|
|
5
|
+
|
|
6
|
+
export {
|
|
7
|
+
semanticReleaseLerna,
|
|
8
|
+
semanticReleasePackage,
|
|
9
|
+
semanticReleaseProject,
|
|
10
|
+
semanticReleaseVSMarketplace,
|
|
46
11
|
}
|
|
47
12
|
|
|
48
|
-
export
|
|
49
|
-
export default semanticReleaseConfig
|
|
13
|
+
export default semanticReleasePackage
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/* eslint-disable perfectionist/sort-objects */
|
|
2
|
+
|
|
3
|
+
import { createSemanticReleaseConfig } from './common.js'
|
|
4
|
+
|
|
5
|
+
const semanticReleaseLerna = createSemanticReleaseConfig({
|
|
6
|
+
branches: ['master'],
|
|
7
|
+
gitConfig: {
|
|
8
|
+
message: 'publish version ${nextRelease.version}',
|
|
9
|
+
assets: [
|
|
10
|
+
'lerna.json',
|
|
11
|
+
'CHANGELOG.md',
|
|
12
|
+
'/**/package.json',
|
|
13
|
+
'/**/package-lock.json',
|
|
14
|
+
'package.json',
|
|
15
|
+
'package-lock.json',
|
|
16
|
+
'packages/*/package.json',
|
|
17
|
+
'packages/*/package-lock.json',
|
|
18
|
+
],
|
|
19
|
+
},
|
|
20
|
+
additionalPlugins: [['semantic-release-lerna', { generateNotes: true }]],
|
|
21
|
+
})
|
|
22
|
+
|
|
23
|
+
export { semanticReleaseLerna }
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
/* eslint-disable perfectionist/sort-objects */
|
|
2
|
-
|
|
3
|
-
import { releaseNotesTypes, releaseRules } from './config.js'
|
|
4
|
-
|
|
5
|
-
// Keywords for important notes. This value is case insensitive.
|
|
6
|
-
const noteKeywords = ['BREAKING CHANGE', 'BREAKING CHANGES', 'BREAKING']
|
|
7
|
-
|
|
8
|
-
const lernaSemanticReleaseConfig = {
|
|
9
|
-
branches: ['master'],
|
|
10
|
-
preset: 'conventionalcommits',
|
|
11
|
-
plugins: [
|
|
12
|
-
[
|
|
13
|
-
'@semantic-release/commit-analyzer',
|
|
14
|
-
{
|
|
15
|
-
parserOpts: { noteKeywords: noteKeywords },
|
|
16
|
-
releaseRules: releaseRules,
|
|
17
|
-
},
|
|
18
|
-
],
|
|
19
|
-
['semantic-release-lerna', { generateNotes: true }],
|
|
20
|
-
[
|
|
21
|
-
'@semantic-release/release-notes-generator',
|
|
22
|
-
{
|
|
23
|
-
presetConfig: {
|
|
24
|
-
types: releaseNotesTypes,
|
|
25
|
-
},
|
|
26
|
-
parserOpts: { noteKeywords: noteKeywords },
|
|
27
|
-
writerOpts: { commitsSort: ['subject', 'scope'] },
|
|
28
|
-
},
|
|
29
|
-
],
|
|
30
|
-
[
|
|
31
|
-
'@semantic-release/changelog',
|
|
32
|
-
{
|
|
33
|
-
changelogFile: 'CHANGELOG.md',
|
|
34
|
-
},
|
|
35
|
-
],
|
|
36
|
-
'@semantic-release/npm',
|
|
37
|
-
[
|
|
38
|
-
'@semantic-release/git',
|
|
39
|
-
{
|
|
40
|
-
message: 'publish version ${nextRelease.version}',
|
|
41
|
-
assets: [
|
|
42
|
-
'lerna.json',
|
|
43
|
-
'CHANGELOG.md',
|
|
44
|
-
'/**/package.json',
|
|
45
|
-
'/**/package-lock.json',
|
|
46
|
-
'package.json',
|
|
47
|
-
'package-lock.json',
|
|
48
|
-
'packages/*/package.json',
|
|
49
|
-
'packages/*/package-lock.json',
|
|
50
|
-
],
|
|
51
|
-
},
|
|
52
|
-
],
|
|
53
|
-
'@semantic-release/github',
|
|
54
|
-
],
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export default lernaSemanticReleaseConfig
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/* eslint-disable perfectionist/sort-objects */
|
|
2
|
-
|
|
3
|
-
import { releaseNotesTypes, releaseRules } from './config.js'
|
|
4
|
-
|
|
5
|
-
// Keywords for important notes. This value is case insensitive.
|
|
6
|
-
const noteKeywords = ['BREAKING CHANGE', 'BREAKING CHANGES', 'BREAKING']
|
|
7
|
-
|
|
8
|
-
const semanticReleaseConfig = {
|
|
9
|
-
branches: ['docker/master'],
|
|
10
|
-
preset: 'conventionalcommits',
|
|
11
|
-
plugins: [
|
|
12
|
-
[
|
|
13
|
-
'@semantic-release/commit-analyzer',
|
|
14
|
-
{
|
|
15
|
-
parserOpts: { noteKeywords: noteKeywords },
|
|
16
|
-
releaseRules: releaseRules,
|
|
17
|
-
},
|
|
18
|
-
],
|
|
19
|
-
[
|
|
20
|
-
'@semantic-release/release-notes-generator',
|
|
21
|
-
{
|
|
22
|
-
presetConfig: {
|
|
23
|
-
types: releaseNotesTypes,
|
|
24
|
-
},
|
|
25
|
-
parserOpts: { noteKeywords: noteKeywords },
|
|
26
|
-
writerOpts: { commitsSort: ['subject', 'scope'] },
|
|
27
|
-
},
|
|
28
|
-
],
|
|
29
|
-
[
|
|
30
|
-
'@semantic-release/changelog',
|
|
31
|
-
{
|
|
32
|
-
changelogFile: 'CHANGELOG.md',
|
|
33
|
-
},
|
|
34
|
-
],
|
|
35
|
-
[
|
|
36
|
-
'@semantic-release/npm',
|
|
37
|
-
{
|
|
38
|
-
npmPublish: false,
|
|
39
|
-
},
|
|
40
|
-
],
|
|
41
|
-
[
|
|
42
|
-
'@semantic-release/git',
|
|
43
|
-
{
|
|
44
|
-
message:
|
|
45
|
-
'release: publishing new version ${nextRelease.version} [skip ci]',
|
|
46
|
-
assets: ['package.json', 'package-lock.json', 'CHANGELOG.md'],
|
|
47
|
-
},
|
|
48
|
-
],
|
|
49
|
-
'@semantic-release/github',
|
|
50
|
-
],
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
export { noteKeywords, releaseRules }
|
|
54
|
-
export default semanticReleaseConfig
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/* eslint-disable perfectionist/sort-objects */
|
|
2
|
-
|
|
3
|
-
import { releaseNotesTypes, releaseRules } from './config.js'
|
|
4
|
-
|
|
5
|
-
// Keywords for important notes. This value is case insensitive.
|
|
6
|
-
const noteKeywords = ['BREAKING CHANGE', 'BREAKING CHANGES', 'BREAKING']
|
|
7
|
-
|
|
8
|
-
const semanticReleaseConfig = {
|
|
9
|
-
branches: ['master'],
|
|
10
|
-
preset: 'conventionalcommits',
|
|
11
|
-
plugins: [
|
|
12
|
-
[
|
|
13
|
-
'@semantic-release/commit-analyzer',
|
|
14
|
-
{
|
|
15
|
-
parserOpts: { noteKeywords: noteKeywords },
|
|
16
|
-
releaseRules: releaseRules,
|
|
17
|
-
},
|
|
18
|
-
],
|
|
19
|
-
[
|
|
20
|
-
'@semantic-release/release-notes-generator',
|
|
21
|
-
{
|
|
22
|
-
presetConfig: {
|
|
23
|
-
types: releaseNotesTypes,
|
|
24
|
-
},
|
|
25
|
-
parserOpts: { noteKeywords: noteKeywords },
|
|
26
|
-
writerOpts: { commitsSort: ['subject', 'scope'] },
|
|
27
|
-
},
|
|
28
|
-
],
|
|
29
|
-
[
|
|
30
|
-
'@semantic-release/changelog',
|
|
31
|
-
{
|
|
32
|
-
changelogFile: 'CHANGELOG.md',
|
|
33
|
-
},
|
|
34
|
-
],
|
|
35
|
-
[
|
|
36
|
-
'@semantic-release/npm',
|
|
37
|
-
{
|
|
38
|
-
npmPublish: false,
|
|
39
|
-
},
|
|
40
|
-
],
|
|
41
|
-
[
|
|
42
|
-
'@semantic-release/git',
|
|
43
|
-
{
|
|
44
|
-
message:
|
|
45
|
-
'release: publishing new version ${nextRelease.version} [skip ci]',
|
|
46
|
-
assets: ['package.json', 'package-lock.json', 'CHANGELOG.md'],
|
|
47
|
-
},
|
|
48
|
-
],
|
|
49
|
-
'@semantic-release/github',
|
|
50
|
-
],
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
export { noteKeywords, releaseRules }
|
|
54
|
-
export default semanticReleaseConfig
|