git-release-manager 0.0.7 → 0.0.11
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/README.md +160 -48
- package/dist/cli/types/BranchCreateCliArgs.js +3 -0
- package/dist/cli/types/BranchCreateCliArgs.js.map +1 -0
- package/dist/cli/types/ChangelogGenerateCliArgs.js +3 -0
- package/dist/cli/types/ChangelogGenerateCliArgs.js.map +1 -0
- package/dist/cli/types/CommitCliArgs.js +3 -0
- package/dist/cli/types/CommitCliArgs.js.map +1 -0
- package/dist/cli/types/CommitCreateCliArgs.js +3 -0
- package/dist/cli/types/CommitCreateCliArgs.js.map +1 -0
- package/dist/cli/types/CommitListCliArgs.js +3 -0
- package/dist/cli/types/CommitListCliArgs.js.map +1 -0
- package/dist/cli/types/VersionCompareCliArgs.js +3 -0
- package/dist/cli/types/VersionCompareCliArgs.js.map +1 -0
- package/dist/cli/types/VersionIncrementCliArgs.js +3 -0
- package/dist/cli/types/VersionIncrementCliArgs.js.map +1 -0
- package/dist/cli/types/VersionInitCliArgs.js +3 -0
- package/dist/cli/types/VersionInitCliArgs.js.map +1 -0
- package/dist/cli/types/VersionListCliArgs.js +3 -0
- package/dist/cli/types/VersionListCliArgs.js.map +1 -0
- package/dist/cli/types/VersionProjectCliArgs.js +3 -0
- package/dist/cli/types/VersionProjectCliArgs.js.map +1 -0
- package/dist/cli/types/VersionRemoteCliArgs.js +3 -0
- package/dist/cli/types/VersionRemoteCliArgs.js.map +1 -0
- package/dist/cli/types/VersionResetCliArgs.js +3 -0
- package/dist/cli/types/VersionResetCliArgs.js.map +1 -0
- package/dist/cli/types/VersionRevertCliArgs.js +3 -0
- package/dist/cli/types/VersionRevertCliArgs.js.map +1 -0
- package/dist/cli/types/VersionSetCliArgs.js +3 -0
- package/dist/cli/types/VersionSetCliArgs.js.map +1 -0
- package/dist/cli/types/VersionValidateCliArgs.js +3 -0
- package/dist/cli/types/VersionValidateCliArgs.js.map +1 -0
- package/dist/commands/branch/command copy.js +2 -0
- package/dist/commands/branch/command copy.js.map +1 -0
- package/dist/commands/branch/command.js +200 -0
- package/dist/commands/branch/command.js.map +1 -0
- package/dist/commands/branch/types/BranchCliArgs.js +3 -0
- package/dist/commands/branch/types/BranchCliArgs.js.map +1 -0
- package/dist/commands/branch/types/BranchCreateCliArgs.js +3 -0
- package/dist/commands/branch/types/BranchCreateCliArgs.js.map +1 -0
- package/dist/commands/branch/types/BranchDeleteCliArgs.js +3 -0
- package/dist/commands/branch/types/BranchDeleteCliArgs.js.map +1 -0
- package/dist/commands/branch/types/BranchListCliArgs.js +3 -0
- package/dist/commands/branch/types/BranchListCliArgs.js.map +1 -0
- package/dist/commands/branch/types/BranchMergeCliArgs.js +3 -0
- package/dist/commands/branch/types/BranchMergeCliArgs.js.map +1 -0
- package/dist/commands/branch/types/BranchProtectCliArgs.js +3 -0
- package/dist/commands/branch/types/BranchProtectCliArgs.js.map +1 -0
- package/dist/commands/branch/types/BranchRebaseCliArgs.js +3 -0
- package/dist/commands/branch/types/BranchRebaseCliArgs.js.map +1 -0
- package/dist/commands/branch/types/BranchSwitchCliArgs.js +3 -0
- package/dist/commands/branch/types/BranchSwitchCliArgs.js.map +1 -0
- package/dist/commands/branch/types/BranchUnProtectCliArgs.js +3 -0
- package/dist/commands/branch/types/BranchUnProtectCliArgs.js.map +1 -0
- package/dist/commands/changelog/command.js +32 -0
- package/dist/commands/changelog/command.js.map +1 -0
- package/dist/commands/changelog/types/ChangelogCliArgs.js +3 -0
- package/dist/commands/changelog/types/ChangelogCliArgs.js.map +1 -0
- package/dist/commands/changelog/types/ChangelogGenerateCliArgs.js +3 -0
- package/dist/commands/changelog/types/ChangelogGenerateCliArgs.js.map +1 -0
- package/dist/commands/commit/command.js +53 -0
- package/dist/commands/commit/command.js.map +1 -0
- package/dist/commands/commit/types/CommitAmendCliArgs.js +3 -0
- package/dist/commands/commit/types/CommitAmendCliArgs.js.map +1 -0
- package/dist/commands/commit/types/CommitCliArgs.js +3 -0
- package/dist/commands/commit/types/CommitCliArgs.js.map +1 -0
- package/dist/commands/commit/types/CommitCreateCliArgs.js +3 -0
- package/dist/commands/commit/types/CommitCreateCliArgs.js.map +1 -0
- package/dist/commands/commit/types/CommitListCliArgs.js +3 -0
- package/dist/commands/commit/types/CommitListCliArgs.js.map +1 -0
- package/dist/commands/fllow/command.js +134 -0
- package/dist/commands/fllow/command.js.map +1 -0
- package/dist/commands/fllow/types/VersionCliArgs.js +3 -0
- package/dist/commands/fllow/types/VersionCliArgs.js.map +1 -0
- package/dist/commands/fllow/types/VersionCompareCliArgs.js +3 -0
- package/dist/commands/fllow/types/VersionCompareCliArgs.js.map +1 -0
- package/dist/commands/fllow/types/VersionIncrementCliArgs.js +3 -0
- package/dist/commands/fllow/types/VersionIncrementCliArgs.js.map +1 -0
- package/dist/commands/fllow/types/VersionInitCliArgs.js +3 -0
- package/dist/commands/fllow/types/VersionInitCliArgs.js.map +1 -0
- package/dist/commands/fllow/types/VersionListCliArgs.js +3 -0
- package/dist/commands/fllow/types/VersionListCliArgs.js.map +1 -0
- package/dist/commands/fllow/types/VersionProjectCliArgs.js +3 -0
- package/dist/commands/fllow/types/VersionProjectCliArgs.js.map +1 -0
- package/dist/commands/fllow/types/VersionRemoteCliArgs.js +3 -0
- package/dist/commands/fllow/types/VersionRemoteCliArgs.js.map +1 -0
- package/dist/commands/fllow/types/VersionResetCliArgs.js +3 -0
- package/dist/commands/fllow/types/VersionResetCliArgs.js.map +1 -0
- package/dist/commands/fllow/types/VersionRevertCliArgs.js +3 -0
- package/dist/commands/fllow/types/VersionRevertCliArgs.js.map +1 -0
- package/dist/commands/fllow/types/VersionSetCliArgs.js +3 -0
- package/dist/commands/fllow/types/VersionSetCliArgs.js.map +1 -0
- package/dist/commands/fllow/types/VersionValidateCliArgs.js +3 -0
- package/dist/commands/fllow/types/VersionValidateCliArgs.js.map +1 -0
- package/dist/commands/flow/command.js +137 -0
- package/dist/commands/flow/command.js.map +1 -0
- package/dist/commands/flow/types/VersionCliArgs.js +3 -0
- package/dist/commands/flow/types/VersionCliArgs.js.map +1 -0
- package/dist/commands/flow/types/VersionCompareCliArgs.js +3 -0
- package/dist/commands/flow/types/VersionCompareCliArgs.js.map +1 -0
- package/dist/commands/flow/types/VersionIncrementCliArgs.js +3 -0
- package/dist/commands/flow/types/VersionIncrementCliArgs.js.map +1 -0
- package/dist/commands/flow/types/VersionInitCliArgs.js +3 -0
- package/dist/commands/flow/types/VersionInitCliArgs.js.map +1 -0
- package/dist/commands/flow/types/VersionListCliArgs.js +3 -0
- package/dist/commands/flow/types/VersionListCliArgs.js.map +1 -0
- package/dist/commands/flow/types/VersionProjectCliArgs.js +3 -0
- package/dist/commands/flow/types/VersionProjectCliArgs.js.map +1 -0
- package/dist/commands/flow/types/VersionRemoteCliArgs.js +3 -0
- package/dist/commands/flow/types/VersionRemoteCliArgs.js.map +1 -0
- package/dist/commands/flow/types/VersionResetCliArgs.js +3 -0
- package/dist/commands/flow/types/VersionResetCliArgs.js.map +1 -0
- package/dist/commands/flow/types/VersionRevertCliArgs.js +3 -0
- package/dist/commands/flow/types/VersionRevertCliArgs.js.map +1 -0
- package/dist/commands/flow/types/VersionSetCliArgs.js +3 -0
- package/dist/commands/flow/types/VersionSetCliArgs.js.map +1 -0
- package/dist/commands/flow/types/VersionValidateCliArgs.js +3 -0
- package/dist/commands/flow/types/VersionValidateCliArgs.js.map +1 -0
- package/dist/commands/types/CliArgs.js +3 -0
- package/dist/commands/types/CliArgs.js.map +1 -0
- package/dist/commands/version/command.js +135 -0
- package/dist/commands/version/command.js.map +1 -0
- package/dist/commands/version/types/VersionCliArgs.js +3 -0
- package/dist/commands/version/types/VersionCliArgs.js.map +1 -0
- package/dist/commands/version/types/VersionCompareCliArgs.js +3 -0
- package/dist/commands/version/types/VersionCompareCliArgs.js.map +1 -0
- package/dist/commands/version/types/VersionIncrementCliArgs.js +3 -0
- package/dist/commands/version/types/VersionIncrementCliArgs.js.map +1 -0
- package/dist/commands/version/types/VersionInitCliArgs.js +3 -0
- package/dist/commands/version/types/VersionInitCliArgs.js.map +1 -0
- package/dist/commands/version/types/VersionListCliArgs.js +3 -0
- package/dist/commands/version/types/VersionListCliArgs.js.map +1 -0
- package/dist/commands/version/types/VersionProjectCliArgs.js +3 -0
- package/dist/commands/version/types/VersionProjectCliArgs.js.map +1 -0
- package/dist/commands/version/types/VersionRemoteCliArgs.js +3 -0
- package/dist/commands/version/types/VersionRemoteCliArgs.js.map +1 -0
- package/dist/commands/version/types/VersionResetCliArgs.js +3 -0
- package/dist/commands/version/types/VersionResetCliArgs.js.map +1 -0
- package/dist/commands/version/types/VersionRevertCliArgs.js +3 -0
- package/dist/commands/version/types/VersionRevertCliArgs.js.map +1 -0
- package/dist/commands/version/types/VersionSetCliArgs.js +3 -0
- package/dist/commands/version/types/VersionSetCliArgs.js.map +1 -0
- package/dist/commands/version/types/VersionValidateCliArgs.js +3 -0
- package/dist/commands/version/types/VersionValidateCliArgs.js.map +1 -0
- package/dist/config/defaults/config.json +259 -231
- package/dist/config/types/BranchConfig.js +3 -0
- package/dist/config/types/BranchConfig.js.map +1 -0
- package/dist/config/types/Repository.js +3 -0
- package/dist/config/types/Repository.js.map +1 -0
- package/dist/core/app.js +79 -4
- package/dist/core/app.js.map +1 -1
- package/dist/core/changelog/app.js +20 -0
- package/dist/core/changelog/app.js.map +1 -0
- package/dist/index.js +18 -74
- package/dist/index.js.map +1 -1
- package/dist/modules/FlowManager.js +439 -0
- package/dist/modules/FlowManager.js.map +1 -0
- package/dist/modules/branch/BranchController.js +124 -16
- package/dist/modules/branch/BranchController.js.map +1 -1
- package/dist/modules/branch/BranchManager.js +149 -104
- package/dist/modules/branch/BranchManager.js.map +1 -1
- package/dist/modules/changelog/ChangelogController.js +31 -0
- package/dist/modules/changelog/ChangelogController.js.map +1 -0
- package/dist/modules/changelog/templateOperations.js +1 -1
- package/dist/modules/changelog/templateOperations.js.map +1 -1
- package/dist/modules/commit/CommitController.js +38 -0
- package/dist/modules/commit/CommitController.js.map +1 -0
- package/dist/modules/commit/CommitManager.js +87 -0
- package/dist/modules/commit/CommitManager.js.map +1 -0
- package/dist/modules/git/context/remoteHandler.js +0 -6
- package/dist/modules/git/context/remoteHandler.js.map +1 -1
- package/dist/modules/git/gitOperations.js.map +1 -1
- package/dist/modules/git/utils/referenceUtils.js +7 -2
- package/dist/modules/git/utils/referenceUtils.js.map +1 -1
- package/dist/modules/version/GitVersionManager.js +40 -34
- package/dist/modules/version/GitVersionManager.js.map +1 -1
- package/dist/modules/version/ProjectVersion.js +195 -0
- package/dist/modules/version/ProjectVersion.js.map +1 -0
- package/dist/modules/version/ReleaseManager.js +0 -13
- package/dist/modules/version/ReleaseManager.js.map +1 -1
- package/dist/modules/version/VersionController.js +95 -0
- package/dist/modules/version/VersionController.js.map +1 -0
- package/dist/modules/version/VersionManager.js +40 -5
- package/dist/modules/version/VersionManager.js.map +1 -1
- package/dist/modules/version/VersionValidator.js.map +1 -1
- package/dist/modules/version/versionFormatter.js +47 -81
- package/dist/modules/version/versionFormatter.js.map +1 -1
- package/dist/templates/defaults/changelog.detailed.ejs +110 -110
- package/dist/templates/defaults/changelog.ejs +67 -67
- package/dist/utils/date.js +3 -3
- package/dist/utils/date.js.map +1 -1
- package/package.json +65 -63
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VersionController = void 0;
|
|
4
|
+
const GitVersionManager_1 = require("./GitVersionManager");
|
|
5
|
+
const ProjectVersion_1 = require("./ProjectVersion");
|
|
6
|
+
const ReleaseManager_1 = require("./ReleaseManager");
|
|
7
|
+
const VersionValidator_1 = require("./VersionValidator");
|
|
8
|
+
class VersionController {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.gitManager = new GitVersionManager_1.GitVersionManager();
|
|
11
|
+
this.releaseManager = new ReleaseManager_1.ReleaseManager();
|
|
12
|
+
this.validator = new VersionValidator_1.VersionValidator();
|
|
13
|
+
this.projectVersionManager = new ProjectVersion_1.ProjectVersionManager();
|
|
14
|
+
}
|
|
15
|
+
async handleVersionCommand(options) {
|
|
16
|
+
try {
|
|
17
|
+
// Validate version manipulation options
|
|
18
|
+
this.validator.validateVersionOptions(options);
|
|
19
|
+
if (options.reset) {
|
|
20
|
+
await this.gitManager.resetVersion();
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
if (options.detect) {
|
|
24
|
+
const projectVersion = this.projectVersionManager.detectProjectVersion(options.projectPath);
|
|
25
|
+
console.log(`Using project file: ${projectVersion.filePath}\nCurrent version: ${projectVersion.currentVersion}`);
|
|
26
|
+
// Eğer version manipulation flag'leri varsa, versiyon güncelleme işlemlerini yap
|
|
27
|
+
if (options.major || options.minor || options.patch) {
|
|
28
|
+
// TODO: Implement version update logic
|
|
29
|
+
// await this.updateVersionInFile(projectFile, newVersion)
|
|
30
|
+
}
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
if (options.update) {
|
|
34
|
+
// Versiyon güncelleme
|
|
35
|
+
const projectVersion = typeof options.update === 'string' ? options.update : undefined;
|
|
36
|
+
await this.projectVersionManager.updateProjectVersion(projectVersion, options.projectPath);
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
// Handle different version commands
|
|
40
|
+
if (options.list) {
|
|
41
|
+
await this.gitManager.listVersions(options.list === true ? 10 : parseInt(options.list));
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
if (options.latest) {
|
|
45
|
+
await this.gitManager.showLatestVersion();
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
if (options.compare) {
|
|
49
|
+
await this.gitManager.compareVersions(options.compare);
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
if (options.revert) {
|
|
53
|
+
await this.gitManager.revertToVersion(options.revert, options.push);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
if (options.validate) {
|
|
57
|
+
this.validator.validateVersionFormat(options.validate);
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
if (options.sync) {
|
|
61
|
+
await this.gitManager.syncVersions(options.push);
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
// Handle version creation/update
|
|
65
|
+
let newVersion = '';
|
|
66
|
+
if (options.version) {
|
|
67
|
+
newVersion = options.version;
|
|
68
|
+
}
|
|
69
|
+
else if (options.init) {
|
|
70
|
+
newVersion = await this.gitManager.initVersion(options);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
newVersion = await this.gitManager.generateNewVersion(options);
|
|
74
|
+
}
|
|
75
|
+
await this.releaseManager.createVersion(newVersion, options);
|
|
76
|
+
// Create git tag
|
|
77
|
+
if (options.tag !== false) {
|
|
78
|
+
// Default to true if not explicitly set to false
|
|
79
|
+
await this.gitManager.createGitTag(newVersion);
|
|
80
|
+
console.log(`Created tag: ${newVersion}`);
|
|
81
|
+
}
|
|
82
|
+
// Push changes if requested
|
|
83
|
+
if (options.push) {
|
|
84
|
+
await this.gitManager.pushChanges(newVersion, options.branch);
|
|
85
|
+
console.log('Pushed changes to remote');
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
console.error('Error:', error instanceof Error ? error.message : String(error));
|
|
90
|
+
process.exit(1);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
exports.VersionController = VersionController;
|
|
95
|
+
//# sourceMappingURL=VersionController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VersionController.js","sourceRoot":"","sources":["../../../src/modules/version/VersionController.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.VersionManager = void 0;
|
|
4
4
|
const GitVersionManager_1 = require("./GitVersionManager");
|
|
5
|
+
const ProjectVersion_1 = require("./ProjectVersion");
|
|
5
6
|
const ReleaseManager_1 = require("./ReleaseManager");
|
|
6
7
|
const VersionValidator_1 = require("./VersionValidator");
|
|
7
8
|
class VersionManager {
|
|
@@ -9,20 +10,37 @@ class VersionManager {
|
|
|
9
10
|
this.gitManager = new GitVersionManager_1.GitVersionManager();
|
|
10
11
|
this.releaseManager = new ReleaseManager_1.ReleaseManager();
|
|
11
12
|
this.validator = new VersionValidator_1.VersionValidator();
|
|
13
|
+
this.projectVersionManager = new ProjectVersion_1.ProjectVersionManager();
|
|
12
14
|
}
|
|
13
15
|
async handleVersionCommand(options) {
|
|
14
16
|
try {
|
|
15
17
|
// Validate version manipulation options
|
|
16
18
|
this.validator.validateVersionOptions(options);
|
|
19
|
+
if (options.reset) {
|
|
20
|
+
await this.gitManager.resetVersion();
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
if (options.detect) {
|
|
24
|
+
const projectVersion = this.projectVersionManager.detectProjectVersion(options.projectPath);
|
|
25
|
+
console.log(`Using project file: ${projectVersion.filePath}\nCurrent version: ${projectVersion.currentVersion}`);
|
|
26
|
+
// Eğer version manipulation flag'leri varsa, versiyon güncelleme işlemlerini yap
|
|
27
|
+
if (options.major || options.minor || options.patch) {
|
|
28
|
+
// TODO: Implement version update logic
|
|
29
|
+
// await this.updateVersionInFile(projectFile, newVersion)
|
|
30
|
+
}
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
if (options.update) {
|
|
34
|
+
// Versiyon güncelleme
|
|
35
|
+
const projectVersion = typeof options.update === 'string' ? options.update : undefined;
|
|
36
|
+
await this.projectVersionManager.updateProjectVersion(projectVersion, options.projectPath);
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
17
39
|
// Handle different version commands
|
|
18
40
|
if (options.list) {
|
|
19
41
|
await this.gitManager.listVersions(options.list === true ? 10 : parseInt(options.list));
|
|
20
42
|
return;
|
|
21
43
|
}
|
|
22
|
-
if (options.reset) {
|
|
23
|
-
await this.gitManager.resetVersion();
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
44
|
if (options.latest) {
|
|
27
45
|
await this.gitManager.showLatestVersion();
|
|
28
46
|
return;
|
|
@@ -44,8 +62,25 @@ class VersionManager {
|
|
|
44
62
|
return;
|
|
45
63
|
}
|
|
46
64
|
// Handle version creation/update
|
|
47
|
-
|
|
65
|
+
let newVersion = "";
|
|
66
|
+
if (options.init) {
|
|
67
|
+
newVersion = await this.gitManager.initVersion(options);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
newVersion = await this.gitManager.generateNewVersion(options);
|
|
71
|
+
}
|
|
48
72
|
await this.releaseManager.createVersion(newVersion, options);
|
|
73
|
+
// Create git tag
|
|
74
|
+
if (options.tag !== false) {
|
|
75
|
+
// Default to true if not explicitly set to false
|
|
76
|
+
await this.gitManager.createGitTag(newVersion);
|
|
77
|
+
console.log(`Created tag: ${newVersion}`);
|
|
78
|
+
}
|
|
79
|
+
// Push changes if requested
|
|
80
|
+
if (options.push) {
|
|
81
|
+
await this.gitManager.pushChanges(newVersion, options.branch);
|
|
82
|
+
console.log('Pushed changes to remote');
|
|
83
|
+
}
|
|
49
84
|
}
|
|
50
85
|
catch (error) {
|
|
51
86
|
console.error('Error:', error instanceof Error ? error.message : String(error));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VersionManager.js","sourceRoot":"","sources":["../../../src/modules/version/VersionManager.ts"],"names":[],"mappings":";;;AACA,2DAAuD;AACvD,qDAAiD;AACjD,yDAAqD;AAErD,MAAa,cAAc;
|
|
1
|
+
{"version":3,"file":"VersionManager.js","sourceRoot":"","sources":["../../../src/modules/version/VersionManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VersionValidator.js","sourceRoot":"","sources":["../../../src/modules/version/VersionValidator.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"VersionValidator.js","sourceRoot":"","sources":["../../../src/modules/version/VersionValidator.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA2B;AAG3B,MAAa,gBAAgB;IACrB,sBAAsB,CAAC,OAAuB;QAClD,MAAM,uBAAuB,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAA;QAEpG,IAAI,uBAAuB,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;QACxE,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;QAC3E,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;QAC7E,CAAC;IACL,CAAC;IAQM,qBAAqB,CAAC,OAAe;QACxC,IAAI,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,WAAW,CAAC,CAAA;QAC9C,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAA;QACzD,CAAC;IACL,CAAC;CAEA;AA/BD,4CA+BC"}
|
|
@@ -3,102 +3,68 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.incrementVersion =
|
|
6
|
+
exports.incrementVersion = void 0;
|
|
7
7
|
const semver_1 = __importDefault(require("semver"));
|
|
8
|
-
const
|
|
9
|
-
const {
|
|
10
|
-
|
|
11
|
-
throw new Error('Channel must be specified for channel-only increment');
|
|
12
|
-
}
|
|
13
|
-
// Remove prefix if exists for processing
|
|
14
|
-
let versionWithoutPrefix = prefix ? version.replace(prefix, '') : version;
|
|
15
|
-
// Remove build metadata for processing
|
|
16
|
-
versionWithoutPrefix = versionWithoutPrefix.split('+')[0];
|
|
8
|
+
const incrementVersion = (version, type, options = {}) => {
|
|
9
|
+
const { prefix, build, channel, prerelease, channelNumber } = options;
|
|
10
|
+
let versionWithoutPrefix = removePrefixAndBuild(version, prefix);
|
|
17
11
|
if (!semver_1.default.valid(versionWithoutPrefix)) {
|
|
18
12
|
throw new Error(`Invalid version format: ${version}`);
|
|
19
13
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
newVersion = `${baseVersion}-${channel}`;
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
// Check current prerelease information
|
|
29
|
-
const currentPrerelease = semver_1.default.prerelease(versionWithoutPrefix);
|
|
30
|
-
if (currentPrerelease) {
|
|
31
|
-
if (currentPrerelease[0] === channel) {
|
|
32
|
-
// Same channel: increment the number
|
|
33
|
-
const currentNumber = parseInt(currentPrerelease[1], 10) || 0;
|
|
34
|
-
newVersion = `${baseVersion}-${channel}.${currentNumber + 1}`;
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
// Different channel: start new sequence
|
|
38
|
-
newVersion = `${baseVersion}-${channel}.1`;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
// No previous prerelease: start new sequence
|
|
43
|
-
newVersion = `${baseVersion}-${channel}.1`;
|
|
14
|
+
let newVersion = type ? incrementVersionCore(versionWithoutPrefix, type) : versionWithoutPrefix;
|
|
15
|
+
if (channel || prerelease) {
|
|
16
|
+
// Clear any existing prerelease if type is specified (since it means a new increment)
|
|
17
|
+
if (type) {
|
|
18
|
+
newVersion = clearPrerelease(newVersion);
|
|
44
19
|
}
|
|
20
|
+
newVersion = addPrereleaseOrChannel(newVersion, versionWithoutPrefix, options);
|
|
45
21
|
}
|
|
46
|
-
// Add build metadata if specified
|
|
47
22
|
if (build) {
|
|
48
23
|
newVersion = `${newVersion}+${build}`;
|
|
49
24
|
}
|
|
50
|
-
|
|
51
|
-
return prefix ? `${prefix}${newVersion}` : newVersion;
|
|
25
|
+
return finalizeVersion(newVersion, prefix);
|
|
52
26
|
};
|
|
53
|
-
exports.
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
27
|
+
exports.incrementVersion = incrementVersion;
|
|
28
|
+
const incrementVersionCore = (version, type) => {
|
|
29
|
+
var _a;
|
|
30
|
+
return (_a = semver_1.default.inc(version, type)) !== null && _a !== void 0 ? _a : version;
|
|
31
|
+
};
|
|
32
|
+
const removePrefixAndBuild = (version, prefix) => {
|
|
33
|
+
let baseVersion = prefix ? version.replace(prefix, '') : version;
|
|
34
|
+
return baseVersion.split('+')[0];
|
|
35
|
+
};
|
|
36
|
+
const addPrereleaseOrChannel = (baseVersion, versionWithoutPrefix, options) => {
|
|
37
|
+
const { channel, channelNumber, prerelease } = options;
|
|
38
|
+
if (prerelease) {
|
|
39
|
+
// For prerelease, append without a numerical suffix
|
|
40
|
+
// If there's an existing prerelease, return it as it is
|
|
41
|
+
if (semver_1.default.prerelease(baseVersion)) {
|
|
42
|
+
return baseVersion;
|
|
43
|
+
}
|
|
44
|
+
return `${baseVersion}-${prerelease}`;
|
|
63
45
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
if (channel || prerelease) {
|
|
72
|
-
const prereleaseIdentifier = channel || prerelease;
|
|
46
|
+
if (channel) {
|
|
47
|
+
const currentPrerelease = semver_1.default.prerelease(baseVersion);
|
|
48
|
+
const isExistingChannel = currentPrerelease && currentPrerelease[0] === channel;
|
|
49
|
+
if (isExistingChannel && channelNumber) {
|
|
50
|
+
const currentNumber = parseInt(currentPrerelease[1], 10) || 0;
|
|
51
|
+
return `${baseVersion.split('-')[0]}-${channel}.${currentNumber + 1}`;
|
|
52
|
+
}
|
|
73
53
|
if (!channelNumber) {
|
|
74
|
-
|
|
54
|
+
// If there is no -channel suffix or channelNumber is false, append channel without number
|
|
55
|
+
return `${baseVersion.split('-')[0]}-${channel}`;
|
|
75
56
|
}
|
|
76
57
|
else {
|
|
77
|
-
//
|
|
78
|
-
|
|
79
|
-
if (currentPrerelease && currentPrerelease[0] === prereleaseIdentifier) {
|
|
80
|
-
// If version type changed, reset prerelease number to 1
|
|
81
|
-
if (semver_1.default.gt(incrementedVersion, baseVersion)) {
|
|
82
|
-
newVersion = `${newVersion}-${prereleaseIdentifier}.1`;
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
// Increment prerelease number
|
|
86
|
-
const currentNumber = parseInt(currentPrerelease[1], 10) || 0;
|
|
87
|
-
newVersion = `${newVersion}-${prereleaseIdentifier}.${currentNumber + 1}`;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
// Start new prerelease sequence
|
|
92
|
-
newVersion = `${newVersion}-${prereleaseIdentifier}.1`;
|
|
93
|
-
}
|
|
58
|
+
// If no existing channel, and channelNumber is true, start numbering from .1
|
|
59
|
+
return `${baseVersion.split('-')[0]}-${channel}.1`;
|
|
94
60
|
}
|
|
95
61
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
62
|
+
return baseVersion;
|
|
63
|
+
};
|
|
64
|
+
const clearPrerelease = (version) => {
|
|
65
|
+
return version.split('-')[0];
|
|
66
|
+
};
|
|
67
|
+
const finalizeVersion = (version, prefix) => {
|
|
68
|
+
return prefix ? `${prefix}${version}` : version;
|
|
102
69
|
};
|
|
103
|
-
exports.incrementVersion = incrementVersion;
|
|
104
70
|
//# sourceMappingURL=versionFormatter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versionFormatter.js","sourceRoot":"","sources":["../../../src/modules/version/versionFormatter.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"versionFormatter.js","sourceRoot":"","sources":["../../../src/modules/version/versionFormatter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,111 +1,111 @@
|
|
|
1
|
-
# <%= config.appName %> <%= changeInfo.header %> Release Notes - <%= latestReference?.date?.split("T")[0] %>
|
|
2
|
-
|
|
3
|
-
## Summary:
|
|
4
|
-
<% sections.summary.commits.forEach(function(commit) { %>
|
|
5
|
-
- <%= commit.title %>: <%= commit.count %> <%= commit.count === 1 ? 'commit' : 'commits' %>
|
|
6
|
-
<% }) %>
|
|
7
|
-
<% sections.summary.notes.forEach(function(note) { %>
|
|
8
|
-
- <%= note.title %>: <%= note.count %> <%= note.count === 1 ? 'note' : 'notes' %>
|
|
9
|
-
<% }) %>
|
|
10
|
-
and <%= sections.summary.contributors.length %> <%= sections.summary.contributors.length === 1 ? '❤️ contributor' : '❤️ contributors' %>
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
<% if (sections.notes.length > 0) { %>
|
|
14
|
-
## Notes
|
|
15
|
-
<% sections.notes.forEach((note) => { %>
|
|
16
|
-
### <%= note.title %>
|
|
17
|
-
<% note.items.forEach(item => { %>
|
|
18
|
-
<%
|
|
19
|
-
const commitLinks = `[#${item.commit.raw.shortHash}](#commit-${item.commit.raw.shortHash})`;
|
|
20
|
-
%>
|
|
21
|
-
- <%= item.note.content %> (<%= commitLinks %>)
|
|
22
|
-
<% }) %>
|
|
23
|
-
<% }) %>
|
|
24
|
-
<% } %>
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
<% if (sections.commits.length > 0) { %>
|
|
28
|
-
## Changes
|
|
29
|
-
<% sections.commits.forEach((section) => { %>
|
|
30
|
-
### <%= section.title %>:
|
|
31
|
-
<%
|
|
32
|
-
// Group commits by scope
|
|
33
|
-
const scopedCommits = {};
|
|
34
|
-
const unscopedCommits = [];
|
|
35
|
-
|
|
36
|
-
section.items.forEach(commit => {
|
|
37
|
-
if (commit.scope) {
|
|
38
|
-
if (!scopedCommits[commit.scope]) {
|
|
39
|
-
scopedCommits[commit.scope] = [];
|
|
40
|
-
}
|
|
41
|
-
scopedCommits[commit.scope].push(commit);
|
|
42
|
-
} else {
|
|
43
|
-
unscopedCommits.push(commit);
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
%>
|
|
47
|
-
|
|
48
|
-
<% // Show commits with scope
|
|
49
|
-
Object.keys(scopedCommits).sort().forEach(scope => { %>
|
|
50
|
-
#### <%= scope %>
|
|
51
|
-
<% scopedCommits[scope].forEach(commit => {
|
|
52
|
-
const author = `[@${commit.author.name}](${commit.author.profileUrl})`;
|
|
53
|
-
const mentions = commit.mentions
|
|
54
|
-
? commit.mentions
|
|
55
|
-
.filter(mention => ['co-authored-by', 'helped-by'].includes(mention.type))
|
|
56
|
-
.map(mention => `[@${mention.name}](${mention.profileUrl})`)
|
|
57
|
-
.join(', ')
|
|
58
|
-
: '';
|
|
59
|
-
const authorText = mentions ? `${author} with ${mentions}` : author;
|
|
60
|
-
|
|
61
|
-
const commitLink = `[#${commit.raw.shortHash}](${repository.remote.repoUrl}/commit/${commit.raw.hash})`;
|
|
62
|
-
|
|
63
|
-
const issueLinks = commit.links && commit.links.length > 0
|
|
64
|
-
? ` (${commit.links.length === 1 ? 'Issue' : 'Issues'}: ${commit.links.map(link => `[#${link.id}](${repository.remote.repoUrl}/issues/${link.id})`).join(', ')})`
|
|
65
|
-
: '';
|
|
66
|
-
%>
|
|
67
|
-
- <a id="commit-<%= commit.raw.shortHash %>"></a><%= commitLink %>: <%= commit.summary %> (by <%= authorText %>) <%= issueLinks %>
|
|
68
|
-
<% if (commit.description) { %>
|
|
69
|
-
|
|
70
|
-
<%= commit.description?.split('\n').map(line => `\t${line.trim()}`).join('\n') %>
|
|
71
|
-
<% } %>
|
|
72
|
-
<% }); %>
|
|
73
|
-
<% }); %>
|
|
74
|
-
|
|
75
|
-
<% // Show commits without scope
|
|
76
|
-
unscopedCommits.forEach(commit => {
|
|
77
|
-
const author = `[@${commit.author.name}](${commit.author.profileUrl})`;
|
|
78
|
-
const mentions = commit.mentions
|
|
79
|
-
? commit.mentions
|
|
80
|
-
.filter(mention => ['co-authored-by', 'helped-by'].includes(mention.type))
|
|
81
|
-
.map(mention => `[@${mention.name}](${mention.profileUrl})`)
|
|
82
|
-
.join(', ')
|
|
83
|
-
: '';
|
|
84
|
-
const authorText = mentions ? `${author} with ${mentions}` : author;
|
|
85
|
-
|
|
86
|
-
const commitLink = `[#${commit.raw.shortHash}](${repository.remote.repoUrl}/commit/${commit.raw.hash})`;
|
|
87
|
-
|
|
88
|
-
const issueLinks = commit.links && commit.links.length > 0
|
|
89
|
-
? ` (${commit.links.length === 1 ? 'Issue' : 'Issues'}: ${commit.links.map(link => `[#${link.id}](${repository.remote.repoUrl}/issues/${link.id})`).join(', ')})`
|
|
90
|
-
: '';
|
|
91
|
-
%>
|
|
92
|
-
- <a id="commit-<%= commit.raw.shortHash %>"></a><%= commitLink %>: <%= commit.summary %> (by <%= authorText %>) <%= issueLinks %>
|
|
93
|
-
<% if (commit.description) { %>
|
|
94
|
-
|
|
95
|
-
<%= commit.description %>
|
|
96
|
-
<% } %>
|
|
97
|
-
<% }); %>
|
|
98
|
-
<% }) %>
|
|
99
|
-
<% } %>
|
|
100
|
-
|
|
101
|
-
## Useful Links
|
|
102
|
-
- 📜 [Full Changelog](<%= repository.remote.repoUrl %>/blob/main/CHANGELOG.md)
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
<% if (sections.contributors.length > 0) { %>
|
|
107
|
-
## Contributors:
|
|
108
|
-
<% sections.contributors.forEach((contributor) => { %>
|
|
109
|
-
- [<%= contributor.name %>](<%= contributor.profileUrl %>) <% if (contributor.groups.length > 0) { %>(<%= contributor.groups.map(group => group.title).join(', ') %>)<% } %>
|
|
110
|
-
<% }) %>
|
|
1
|
+
# <%= config.appName %> <%= changeInfo.header %> Release Notes - <%= latestReference?.date?.split("T")[0] %>
|
|
2
|
+
|
|
3
|
+
## Summary:
|
|
4
|
+
<% sections.summary.commits.forEach(function(commit) { %>
|
|
5
|
+
- <%= commit.title %>: <%= commit.count %> <%= commit.count === 1 ? 'commit' : 'commits' %>
|
|
6
|
+
<% }) %>
|
|
7
|
+
<% sections.summary.notes.forEach(function(note) { %>
|
|
8
|
+
- <%= note.title %>: <%= note.count %> <%= note.count === 1 ? 'note' : 'notes' %>
|
|
9
|
+
<% }) %>
|
|
10
|
+
and <%= sections.summary.contributors.length %> <%= sections.summary.contributors.length === 1 ? '❤️ contributor' : '❤️ contributors' %>
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
<% if (sections.notes.length > 0) { %>
|
|
14
|
+
## Notes
|
|
15
|
+
<% sections.notes.forEach((note) => { %>
|
|
16
|
+
### <%= note.title %>
|
|
17
|
+
<% note.items.forEach(item => { %>
|
|
18
|
+
<%
|
|
19
|
+
const commitLinks = `[#${item.commit.raw.shortHash}](#commit-${item.commit.raw.shortHash})`;
|
|
20
|
+
%>
|
|
21
|
+
- <%= item.note.content %> (<%= commitLinks %>)
|
|
22
|
+
<% }) %>
|
|
23
|
+
<% }) %>
|
|
24
|
+
<% } %>
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
<% if (sections.commits.length > 0) { %>
|
|
28
|
+
## Changes
|
|
29
|
+
<% sections.commits.forEach((section) => { %>
|
|
30
|
+
### <%= section.title %>:
|
|
31
|
+
<%
|
|
32
|
+
// Group commits by scope
|
|
33
|
+
const scopedCommits = {};
|
|
34
|
+
const unscopedCommits = [];
|
|
35
|
+
|
|
36
|
+
section.items.forEach(commit => {
|
|
37
|
+
if (commit.scope) {
|
|
38
|
+
if (!scopedCommits[commit.scope]) {
|
|
39
|
+
scopedCommits[commit.scope] = [];
|
|
40
|
+
}
|
|
41
|
+
scopedCommits[commit.scope].push(commit);
|
|
42
|
+
} else {
|
|
43
|
+
unscopedCommits.push(commit);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
%>
|
|
47
|
+
|
|
48
|
+
<% // Show commits with scope
|
|
49
|
+
Object.keys(scopedCommits).sort().forEach(scope => { %>
|
|
50
|
+
#### <%= scope %>
|
|
51
|
+
<% scopedCommits[scope].forEach(commit => {
|
|
52
|
+
const author = `[@${commit.author.name}](${commit.author.profileUrl})`;
|
|
53
|
+
const mentions = commit.mentions
|
|
54
|
+
? commit.mentions
|
|
55
|
+
.filter(mention => ['co-authored-by', 'helped-by'].includes(mention.type))
|
|
56
|
+
.map(mention => `[@${mention.name}](${mention.profileUrl})`)
|
|
57
|
+
.join(', ')
|
|
58
|
+
: '';
|
|
59
|
+
const authorText = mentions ? `${author} with ${mentions}` : author;
|
|
60
|
+
|
|
61
|
+
const commitLink = `[#${commit.raw.shortHash}](${repository.remote.repoUrl}/commit/${commit.raw.hash})`;
|
|
62
|
+
|
|
63
|
+
const issueLinks = commit.links && commit.links.length > 0
|
|
64
|
+
? ` (${commit.links.length === 1 ? 'Issue' : 'Issues'}: ${commit.links.map(link => `[#${link.id}](${repository.remote.repoUrl}/issues/${link.id})`).join(', ')})`
|
|
65
|
+
: '';
|
|
66
|
+
%>
|
|
67
|
+
- <a id="commit-<%= commit.raw.shortHash %>"></a><%= commitLink %>: <%= commit.summary %> (by <%= authorText %>) <%= issueLinks %>
|
|
68
|
+
<% if (commit.description) { %>
|
|
69
|
+
|
|
70
|
+
<%= commit.description?.split('\n').map(line => `\t${line.trim()}`).join('\n') %>
|
|
71
|
+
<% } %>
|
|
72
|
+
<% }); %>
|
|
73
|
+
<% }); %>
|
|
74
|
+
|
|
75
|
+
<% // Show commits without scope
|
|
76
|
+
unscopedCommits.forEach(commit => {
|
|
77
|
+
const author = `[@${commit.author.name}](${commit.author.profileUrl})`;
|
|
78
|
+
const mentions = commit.mentions
|
|
79
|
+
? commit.mentions
|
|
80
|
+
.filter(mention => ['co-authored-by', 'helped-by'].includes(mention.type))
|
|
81
|
+
.map(mention => `[@${mention.name}](${mention.profileUrl})`)
|
|
82
|
+
.join(', ')
|
|
83
|
+
: '';
|
|
84
|
+
const authorText = mentions ? `${author} with ${mentions}` : author;
|
|
85
|
+
|
|
86
|
+
const commitLink = `[#${commit.raw.shortHash}](${repository.remote.repoUrl}/commit/${commit.raw.hash})`;
|
|
87
|
+
|
|
88
|
+
const issueLinks = commit.links && commit.links.length > 0
|
|
89
|
+
? ` (${commit.links.length === 1 ? 'Issue' : 'Issues'}: ${commit.links.map(link => `[#${link.id}](${repository.remote.repoUrl}/issues/${link.id})`).join(', ')})`
|
|
90
|
+
: '';
|
|
91
|
+
%>
|
|
92
|
+
- <a id="commit-<%= commit.raw.shortHash %>"></a><%= commitLink %>: <%= commit.summary %> (by <%= authorText %>) <%= issueLinks %>
|
|
93
|
+
<% if (commit.description) { %>
|
|
94
|
+
|
|
95
|
+
<%= commit.description %>
|
|
96
|
+
<% } %>
|
|
97
|
+
<% }); %>
|
|
98
|
+
<% }) %>
|
|
99
|
+
<% } %>
|
|
100
|
+
|
|
101
|
+
## Useful Links
|
|
102
|
+
- 📜 [Full Changelog](<%= repository.remote.repoUrl %>/blob/main/CHANGELOG.md)
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
<% if (sections.contributors.length > 0) { %>
|
|
107
|
+
## Contributors:
|
|
108
|
+
<% sections.contributors.forEach((contributor) => { %>
|
|
109
|
+
- [<%= contributor.name %>](<%= contributor.profileUrl %>) <% if (contributor.groups.length > 0) { %>(<%= contributor.groups.map(group => group.title).join(', ') %>)<% } %>
|
|
110
|
+
<% }) %>
|
|
111
111
|
<% } %>
|