projen-pipelines 0.2.12 → 0.2.14
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/.jsii +5703 -1380
- package/API.md +5813 -1492
- package/README.md +253 -0
- package/docs/drift-detection.md +264 -0
- package/lib/assign-approver/base.js +1 -1
- package/lib/assign-approver/github.js +1 -1
- package/lib/awscdk/base.d.ts +21 -0
- package/lib/awscdk/base.js +246 -2
- package/lib/awscdk/bash.js +1 -1
- package/lib/awscdk/github.js +1 -1
- package/lib/awscdk/gitlab.js +1 -1
- package/lib/drift/base.d.ts +64 -0
- package/lib/drift/base.js +18 -0
- package/lib/drift/bash.d.ts +15 -0
- package/lib/drift/bash.js +170 -0
- package/lib/drift/detect-drift.d.ts +54 -0
- package/lib/drift/detect-drift.js +259 -0
- package/lib/drift/github.d.ts +21 -0
- package/lib/drift/github.js +232 -0
- package/lib/drift/gitlab.d.ts +20 -0
- package/lib/drift/gitlab.js +138 -0
- package/lib/drift/index.d.ts +5 -0
- package/lib/drift/index.js +22 -0
- package/lib/drift/step.d.ts +14 -0
- package/lib/drift/step.js +48 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +3 -1
- package/lib/steps/artifact-steps.js +2 -2
- package/lib/steps/aws-assume-role.step.js +1 -1
- package/lib/steps/registries.js +2 -2
- package/lib/steps/step.d.ts +6 -1
- package/lib/steps/step.js +14 -10
- package/lib/versioning/computation.d.ts +63 -0
- package/lib/versioning/computation.js +121 -0
- package/lib/versioning/config.d.ts +41 -0
- package/lib/versioning/config.js +91 -0
- package/lib/versioning/index.d.ts +7 -0
- package/lib/versioning/index.js +46 -0
- package/lib/versioning/outputs.d.ts +87 -0
- package/lib/versioning/outputs.js +166 -0
- package/lib/versioning/setup.d.ts +30 -0
- package/lib/versioning/setup.js +165 -0
- package/lib/versioning/strategy.d.ts +21 -0
- package/lib/versioning/strategy.js +51 -0
- package/lib/versioning/types.d.ts +183 -0
- package/lib/versioning/types.js +3 -0
- package/lib/versioning/version-info.d.ts +106 -0
- package/lib/versioning/version-info.js +269 -0
- package/package.json +2 -1
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a, _b, _c;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.VersionComputer = exports.CompositeComputation = exports.VersionComputationStrategy = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
const version_info_1 = require("./version-info");
|
|
7
|
+
/**
|
|
8
|
+
* Base class for version computation strategies
|
|
9
|
+
*/
|
|
10
|
+
class VersionComputationStrategy {
|
|
11
|
+
constructor(strategy) {
|
|
12
|
+
this.strategy = strategy;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Create VersionInfo from context
|
|
16
|
+
*/
|
|
17
|
+
createVersionInfo(context) {
|
|
18
|
+
const version = this.computeVersion(context);
|
|
19
|
+
return version_info_1.VersionInfo.create({
|
|
20
|
+
version,
|
|
21
|
+
commitHash: context.gitInfo.commitHash,
|
|
22
|
+
commitHashShort: context.gitInfo.commitHashShort,
|
|
23
|
+
branch: context.gitInfo.branch,
|
|
24
|
+
tag: context.gitInfo.tag,
|
|
25
|
+
commitsSinceTag: context.gitInfo.commitsSinceTag,
|
|
26
|
+
commitCount: context.gitInfo.commitCount,
|
|
27
|
+
packageVersion: context.gitInfo.packageVersion,
|
|
28
|
+
deployedAt: new Date().toISOString(),
|
|
29
|
+
deployedBy: context.deployedBy,
|
|
30
|
+
buildNumber: context.buildNumber,
|
|
31
|
+
environment: context.environment,
|
|
32
|
+
repository: context.repository,
|
|
33
|
+
pipelineVersion: context.pipelineVersion,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.VersionComputationStrategy = VersionComputationStrategy;
|
|
38
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
39
|
+
VersionComputationStrategy[_a] = { fqn: "projen-pipelines.VersionComputationStrategy", version: "0.2.14" };
|
|
40
|
+
/**
|
|
41
|
+
* Composite version computation that combines multiple strategies
|
|
42
|
+
*/
|
|
43
|
+
class CompositeComputation extends VersionComputationStrategy {
|
|
44
|
+
constructor(strategy) {
|
|
45
|
+
super(strategy);
|
|
46
|
+
}
|
|
47
|
+
computeVersion(context) {
|
|
48
|
+
let result = this.strategy.format;
|
|
49
|
+
const { gitInfo } = context;
|
|
50
|
+
// Replace git tag variables
|
|
51
|
+
if (this.strategy.components.gitTag) {
|
|
52
|
+
let tagValue = gitInfo.tag ?? '0.0.0';
|
|
53
|
+
if (this.strategy.components.gitTag.stripPrefix && gitInfo.tag) {
|
|
54
|
+
tagValue = gitInfo.tag.replace(new RegExp(`^${this.strategy.components.gitTag.stripPrefix}`), '');
|
|
55
|
+
}
|
|
56
|
+
result = result.replace('{git-tag}', tagValue);
|
|
57
|
+
}
|
|
58
|
+
// Replace package version
|
|
59
|
+
if (this.strategy.components.packageJson) {
|
|
60
|
+
const packageValue = gitInfo.packageVersion ?? '0.0.0';
|
|
61
|
+
result = result.replace('{package-version}', packageValue);
|
|
62
|
+
}
|
|
63
|
+
// Replace commit count
|
|
64
|
+
if (this.strategy.components.commitCount) {
|
|
65
|
+
let countValue;
|
|
66
|
+
if (this.strategy.components.commitCount.countFrom === 'since-tag' && gitInfo.commitsSinceTag !== undefined) {
|
|
67
|
+
countValue = gitInfo.commitsSinceTag.toString();
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
// Default to total commit count for 'all' or undefined
|
|
71
|
+
countValue = gitInfo.commitCount.toString();
|
|
72
|
+
}
|
|
73
|
+
if (this.strategy.components.commitCount.padding) {
|
|
74
|
+
countValue = countValue.padStart(this.strategy.components.commitCount.padding, '0');
|
|
75
|
+
}
|
|
76
|
+
result = result.replace('{commit-count}', countValue);
|
|
77
|
+
}
|
|
78
|
+
// Replace commit hash
|
|
79
|
+
result = result.replace('{commit-hash}', gitInfo.commitHash);
|
|
80
|
+
result = result.replace('{commit-hash:8}', gitInfo.commitHashShort);
|
|
81
|
+
// Replace branch
|
|
82
|
+
result = result.replace('{branch}', gitInfo.branch);
|
|
83
|
+
// Replace build number
|
|
84
|
+
if (context.buildNumber) {
|
|
85
|
+
result = result.replace('{build-number}', context.buildNumber);
|
|
86
|
+
}
|
|
87
|
+
return result;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
exports.CompositeComputation = CompositeComputation;
|
|
91
|
+
_b = JSII_RTTI_SYMBOL_1;
|
|
92
|
+
CompositeComputation[_b] = { fqn: "projen-pipelines.CompositeComputation", version: "0.2.14" };
|
|
93
|
+
/**
|
|
94
|
+
* Main version computer that handles strategy selection
|
|
95
|
+
*/
|
|
96
|
+
class VersionComputer {
|
|
97
|
+
constructor(strategy) {
|
|
98
|
+
this.strategy = this.createStrategy(strategy);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Compute version info from context
|
|
102
|
+
*/
|
|
103
|
+
async computeVersionInfo(context) {
|
|
104
|
+
try {
|
|
105
|
+
return this.strategy.createVersionInfo(context);
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
throw new Error(`Strategy '${this.strategy.strategy.format}' failed: ${error}`);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Create strategy instance from configuration
|
|
113
|
+
*/
|
|
114
|
+
createStrategy(strategy) {
|
|
115
|
+
return new CompositeComputation(strategy);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
exports.VersionComputer = VersionComputer;
|
|
119
|
+
_c = JSII_RTTI_SYMBOL_1;
|
|
120
|
+
VersionComputer[_c] = { fqn: "projen-pipelines.VersionComputer", version: "0.2.14" };
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmVyc2lvbmluZy9jb21wdXRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLGlEQUE2QztBQTJCN0M7O0dBRUc7QUFDSCxNQUFzQiwwQkFBMEI7SUFDOUMsWUFBc0MsUUFBNEI7UUFBNUIsYUFBUSxHQUFSLFFBQVEsQ0FBb0I7SUFBSSxDQUFDO0lBT3ZFOztPQUVHO0lBQ0ksaUJBQWlCLENBQUMsT0FBMkI7UUFDbEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU3QyxPQUFPLDBCQUFXLENBQUMsTUFBTSxDQUFDO1lBQ3hCLE9BQU87WUFDUCxVQUFVLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVO1lBQ3RDLGVBQWUsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLGVBQWU7WUFDaEQsTUFBTSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTTtZQUM5QixHQUFHLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHO1lBQ3hCLGVBQWUsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLGVBQWU7WUFDaEQsV0FBVyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVztZQUN4QyxjQUFjLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxjQUFjO1lBQzlDLFVBQVUsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRTtZQUNwQyxVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVU7WUFDOUIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXO1lBQ2hDLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVztZQUNoQyxVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVU7WUFDOUIsZUFBZSxFQUFFLE9BQU8sQ0FBQyxlQUFlO1NBQ3pDLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBOUJILGdFQStCQzs7O0FBR0Q7O0dB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RCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOztBQXRESCxvREF1REM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxlQUFlO0lBRzFCLFlBQ0UsUUFBNkI7UUFFN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUEyQjtRQUN6RCxJQUFJLENBQUM7WUFDSCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLGFBQWEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxhQUFhLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDbEYsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLGNBQWMsQ0FBQyxRQUE2QjtRQUNsRCxPQUFPLElBQUksb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUMsQ0FBQzs7QUF6QkgsMENBMEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmVyc2lvbmluZ1N0cmF0ZWd5IH0gZnJvbSAnLi9zdHJhdGVneSc7XG5pbXBvcnQgeyBJVmVyc2lvbmluZ1N0cmF0ZWd5IH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBWZXJzaW9uSW5mbyB9IGZyb20gJy4vdmVyc2lvbi1pbmZvJztcblxuLyoqXG4gKiBHaXQgaW5mb3JtYXRpb24gZXh0cmFjdGVkIGZyb20gcmVwb3NpdG9yeVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdpdEluZm8ge1xuICByZWFkb25seSBjb21taXRIYXNoOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNvbW1pdEhhc2hTaG9ydDogc3RyaW5nO1xuICByZWFkb25seSBicmFuY2g6IHN0cmluZztcbiAgcmVhZG9ubHkgdGFnPzogc3RyaW5nO1xuICByZWFkb25seSBjb21taXRzU2luY2VUYWc/OiBudW1iZXI7XG4gIHJlYWRvbmx5IGNvbW1pdENvdW50OiBudW1iZXI7XG4gIHJlYWRvbmx5IHBhY2thZ2VWZXJzaW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbnRleHQgZm9yIHZlcnNpb24gY29tcHV0YXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wdXRhdGlvbkNvbnRleHQge1xuICByZWFkb25seSBnaXRJbmZvOiBHaXRJbmZvO1xuICByZWFkb25seSBlbnZpcm9ubWVudDogc3RyaW5nO1xuICByZWFkb25seSBkZXBsb3llZEJ5OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGJ1aWxkTnVtYmVyPzogc3RyaW5nO1xuICByZWFkb25seSByZXBvc2l0b3J5Pzogc3RyaW5nO1xuICByZWFkb25seSBwaXBlbGluZVZlcnNpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgdmVyc2lvbiBjb21wdXRhdGlvbiBzdHJhdGVnaWVzXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBWZXJzaW9uQ29tcHV0YXRpb25TdHJhdGVneSB7XG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgc3RyYXRlZ3k6IFZlcnNpb25pbmdTdHJhdGVneSkgeyB9XG5cbiAgLyoqXG4gICAqIENvbXB1dGUgdmVyc2lvbiBzdHJpbmcgZnJvbSBjb250ZXh0XG4gICAqL1xuICBhYnN0cmFjdCBjb21wdXRlVmVyc2lvbihjb250ZXh0OiBDb21wdXRhdGlvbkNvbnRleHQpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBWZXJzaW9uSW5mbyBmcm9tIGNvbnRleHRcbiAgICovXG4gIHB1YmxpYyBjcmVhdGVWZXJzaW9uSW5mbyhjb250ZXh0OiBDb21wdXRhdGlvbkNvbnRleHQpOiBWZXJzaW9uSW5mbyB7XG4gICAgY29uc3QgdmVyc2lvbiA9IHRoaXMuY29tcHV0ZVZlcnNpb24oY29udGV4dCk7XG5cbiAgICByZXR1cm4gVmVyc2lvbkluZm8uY3JlYXRlKHtcbiAgICAgIHZlcnNpb24sXG4gICAgICBjb21taXRIYXNoOiBjb250ZXh0LmdpdEluZm8uY29tbWl0SGFzaCxcbiAgICAgIGNvbW1pdEhhc2hTaG9ydDogY29udGV4dC5naXRJbmZvLmNvbW1pdEhhc2hTaG9ydCxcbiAgICAgIGJyYW5jaDogY29udGV4dC5naXRJbmZvLmJyYW5jaCxcbiAgICAgIHRhZzogY29udGV4dC5naXRJbmZvLnRhZyxcbiAgICAgIGNvbW1pdHNTaW5jZVRhZzogY29udGV4dC5naXRJbmZvLmNvbW1pdHNTaW5jZVRhZyxcbiAgICAgIGNvbW1pdENvdW50OiBjb250ZXh0LmdpdEluZm8uY29tbWl0Q291bnQsXG4gICAgICBwYWNrYWdlVmVyc2lvbjogY29udGV4dC5naXRJbmZvLnBhY2thZ2VWZXJzaW9uLFxuICAgICAgZGVwbG95ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgZGVwbG95ZWRCeTogY29udGV4dC5kZXBsb3llZEJ5LFxuICAgICAgYnVpbGROdW1iZXI6IGNvbnRleHQuYnVpbGROdW1iZXIsXG4gICAgICBlbnZpcm9ubWVudDogY29udGV4dC5lbnZpcm9ubWVudCxcbiAgICAgIHJlcG9zaXRvcnk6IGNvbnRleHQucmVwb3NpdG9yeSxcbiAgICAgIHBpcGVsaW5lVmVyc2lvbjogY29udGV4dC5waXBlbGluZVZlcnNpb24sXG4gICAgfSk7XG4gIH1cbn1cblxuXG4vKipcbiAqIENvbXBvc2l0ZSB2ZXJzaW9uIGNvbXB1dGF0aW9uIHRoYXQgY29tYmluZXMgbXVsdGlwbGUgc3RyYXRlZ2llc1xuICovXG5leHBvcnQgY2xhc3MgQ29tcG9zaXRlQ29tcHV0YXRpb24gZXh0ZW5kcyBWZXJzaW9uQ29tcHV0YXRpb25TdHJhdGVneSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHN0cmF0ZWd5OiBWZXJzaW9uaW5nU3RyYXRlZ3ksXG4gICkge1xuICAgIHN1cGVyKHN0cmF0ZWd5KTtcbiAgfVxuXG4gIHB1YmxpYyBjb21wdXRlVmVyc2lvbihjb250ZXh0OiBDb21wdXRhdGlvbkNvbnRleHQpOiBzdHJpbmcge1xuICAgIGxldCByZXN1bHQgPSB0aGlzLnN0cmF0ZWd5LmZvcm1hdDtcbiAgICBjb25zdCB7IGdpdEluZm8gfSA9IGNvbnRleHQ7XG5cbiAgICAvLyBSZXBsYWNlIGdpdCB0YWcgdmFyaWFibGVzXG4gICAgaWYgKHRoaXMuc3RyYXRlZ3kuY29tcG9uZW50cy5naXRUYWcpIHtcbiAgICAgIGxldCB0YWdWYWx1ZSA9IGdpdEluZm8udGFnID8/ICcwLjAuMCc7XG4gICAgICBpZiAodGhpcy5zdHJhdGVneS5jb21wb25lbnRzLmdpdFRhZy5zdHJpcFByZWZpeCAmJiBnaXRJbmZvLnRhZykge1xuICAgICAgICB0YWdWYWx1ZSA9IGdpdEluZm8udGFnLnJlcGxhY2UobmV3IFJlZ0V4cChgXiR7dGhpcy5zdHJhdGVneS5jb21wb25lbnRzLmdpdFRhZy5zdHJpcFByZWZpeH1gKSwgJycpO1xuICAgICAgfVxuICAgICAgcmVzdWx0ID0gcmVzdWx0LnJlcGxhY2UoJ3tnaXQtdGFnfScsIHRhZ1ZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyBSZXBsYWNlIHBhY2thZ2UgdmVyc2lvblxuICAgIGlmICh0aGlzLnN0cmF0ZWd5LmNvbXBvbmVudHMucGFja2FnZUpzb24pIHtcbiAgICAgIGNvbnN0IHBhY2thZ2VWYWx1ZSA9IGdpdEluZm8ucGFja2FnZVZlcnNpb24gPz8gJzAuMC4wJztcbiAgICAgIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKCd7cGFja2FnZS12ZXJzaW9ufScsIHBhY2thZ2VWYWx1ZSk7XG4gICAgfVxuXG4gICAgLy8gUmVwbGFjZSBjb21taXQgY291bnRcbiAgICBpZiAodGhpcy5zdHJhdGVneS5jb21wb25lbnRzLmNvbW1pdENvdW50KSB7XG4gICAgICBsZXQgY291bnRWYWx1ZTogc3RyaW5nO1xuICAgICAgaWYgKHRoaXMuc3RyYXRlZ3kuY29tcG9uZW50cy5jb21taXRDb3VudC5jb3VudEZyb20gPT09ICdzaW5jZS10YWcnICYmIGdpdEluZm8uY29tbWl0c1NpbmNlVGFnICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY291bnRWYWx1ZSA9IGdpdEluZm8uY29tbWl0c1NpbmNlVGFnLnRvU3RyaW5nKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBEZWZhdWx0IHRvIHRvdGFsIGNvbW1pdCBjb3VudCBmb3IgJ2FsbCcgb3IgdW5kZWZpbmVkXG4gICAgICAgIGNvdW50VmFsdWUgPSBnaXRJbmZvLmNvbW1pdENvdW50LnRvU3RyaW5nKCk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5zdHJhdGVneS5jb21wb25lbnRzLmNvbW1pdENvdW50LnBhZGRpbmcpIHtcbiAgICAgICAgY291bnRWYWx1ZSA9IGNvdW50VmFsdWUucGFkU3RhcnQodGhpcy5zdHJhdGVneS5jb21wb25lbnRzLmNvbW1pdENvdW50LnBhZGRpbmcsICcwJyk7XG4gICAgICB9XG4gICAgICByZXN1bHQgPSByZXN1bHQucmVwbGFjZSgne2NvbW1pdC1jb3VudH0nLCBjb3VudFZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyBSZXBsYWNlIGNvbW1pdCBoYXNoXG4gICAgcmVzdWx0ID0gcmVzdWx0LnJlcGxhY2UoJ3tjb21taXQtaGFzaH0nLCBnaXRJbmZvLmNvbW1pdEhhc2gpO1xuICAgIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKCd7Y29tbWl0LWhhc2g6OH0nLCBnaXRJbmZvLmNvbW1pdEhhc2hTaG9ydCk7XG5cbiAgICAvLyBSZXBsYWNlIGJyYW5jaFxuICAgIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKCd7YnJhbmNofScsIGdpdEluZm8uYnJhbmNoKTtcblxuICAgIC8vIFJlcGxhY2UgYnVpbGQgbnVtYmVyXG4gICAgaWYgKGNvbnRleHQuYnVpbGROdW1iZXIpIHtcbiAgICAgIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKCd7YnVpbGQtbnVtYmVyfScsIGNvbnRleHQuYnVpbGROdW1iZXIpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cblxuLyoqXG4gKiBNYWluIHZlcnNpb24gY29tcHV0ZXIgdGhhdCBoYW5kbGVzIHN0cmF0ZWd5IHNlbGVjdGlvblxuICovXG5leHBvcnQgY2xhc3MgVmVyc2lvbkNvbXB1dGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBzdHJhdGVneTogVmVyc2lvbkNvbXB1dGF0aW9uU3RyYXRlZ3k7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc3RyYXRlZ3k6IElWZXJzaW9uaW5nU3RyYXRlZ3ksXG4gICkge1xuICAgIHRoaXMuc3RyYXRlZ3kgPSB0aGlzLmNyZWF0ZVN0cmF0ZWd5KHN0cmF0ZWd5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wdXRlIHZlcnNpb24gaW5mbyBmcm9tIGNvbnRleHRcbiAgICovXG4gIHB1YmxpYyBhc3luYyBjb21wdXRlVmVyc2lvbkluZm8oY29udGV4dDogQ29tcHV0YXRpb25Db250ZXh0KTogUHJvbWlzZTxWZXJzaW9uSW5mbz4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gdGhpcy5zdHJhdGVneS5jcmVhdGVWZXJzaW9uSW5mbyhjb250ZXh0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBTdHJhdGVneSAnJHt0aGlzLnN0cmF0ZWd5LnN0cmF0ZWd5LmZvcm1hdH0nIGZhaWxlZDogJHtlcnJvcn1gKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIHN0cmF0ZWd5IGluc3RhbmNlIGZyb20gY29uZmlndXJhdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVTdHJhdGVneShzdHJhdGVneTogSVZlcnNpb25pbmdTdHJhdGVneSk6IFZlcnNpb25Db21wdXRhdGlvblN0cmF0ZWd5IHtcbiAgICByZXR1cm4gbmV3IENvbXBvc2l0ZUNvbXB1dGF0aW9uKHN0cmF0ZWd5KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { VersioningConfig, IVersioningStrategy, StandardConfigOptions, VersioningOutputConfig, StageOverrides } from './types';
|
|
2
|
+
export interface CustomVersioningConfig {
|
|
3
|
+
readonly enabled?: boolean;
|
|
4
|
+
readonly strategy: IVersioningStrategy;
|
|
5
|
+
readonly outputs: VersioningOutputConfig;
|
|
6
|
+
readonly stageOverrides?: StageOverrides;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Main versioning configuration class with factory methods
|
|
10
|
+
*/
|
|
11
|
+
export declare class VersioningConfigurations {
|
|
12
|
+
/**
|
|
13
|
+
* Standard configuration with commit count strategy
|
|
14
|
+
*/
|
|
15
|
+
static standard(options?: StandardConfigOptions): VersioningConfig;
|
|
16
|
+
/**
|
|
17
|
+
* Minimal configuration for testing
|
|
18
|
+
*/
|
|
19
|
+
static minimal(): VersioningConfig;
|
|
20
|
+
/**
|
|
21
|
+
* Create a custom configuration
|
|
22
|
+
*/
|
|
23
|
+
static custom(config: CustomVersioningConfig): VersioningConfig;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Utility functions for versioning configuration
|
|
27
|
+
*/
|
|
28
|
+
export declare class VersioningConfigUtils {
|
|
29
|
+
/**
|
|
30
|
+
* Resolve configuration for a specific stage
|
|
31
|
+
*/
|
|
32
|
+
static resolveForStage(config: VersioningConfig, stage: string): VersioningConfig;
|
|
33
|
+
/**
|
|
34
|
+
* Validate configuration
|
|
35
|
+
*/
|
|
36
|
+
static validate(config: VersioningConfig): string[];
|
|
37
|
+
/**
|
|
38
|
+
* Get default configuration
|
|
39
|
+
*/
|
|
40
|
+
static default(): VersioningConfig;
|
|
41
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a, _b;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.VersioningConfigUtils = exports.VersioningConfigurations = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
const outputs_1 = require("./outputs");
|
|
7
|
+
const strategy_1 = require("./strategy");
|
|
8
|
+
/**
|
|
9
|
+
* Main versioning configuration class with factory methods
|
|
10
|
+
*/
|
|
11
|
+
class VersioningConfigurations {
|
|
12
|
+
/**
|
|
13
|
+
* Standard configuration with commit count strategy
|
|
14
|
+
*/
|
|
15
|
+
static standard(options) {
|
|
16
|
+
return {
|
|
17
|
+
enabled: true,
|
|
18
|
+
strategy: strategy_1.VersioningStrategy.commitCount(),
|
|
19
|
+
outputs: outputs_1.VersioningOutputs.standard({
|
|
20
|
+
parameterName: typeof options?.parameterStore === 'string' ? options.parameterStore : undefined,
|
|
21
|
+
format: options?.format,
|
|
22
|
+
}),
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Minimal configuration for testing
|
|
27
|
+
*/
|
|
28
|
+
static minimal() {
|
|
29
|
+
return {
|
|
30
|
+
enabled: true,
|
|
31
|
+
strategy: strategy_1.VersioningStrategy.commitHash(),
|
|
32
|
+
outputs: outputs_1.VersioningOutputs.minimal(),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Create a custom configuration
|
|
37
|
+
*/
|
|
38
|
+
static custom(config) {
|
|
39
|
+
return {
|
|
40
|
+
enabled: config.enabled ?? true,
|
|
41
|
+
strategy: config.strategy,
|
|
42
|
+
outputs: config.outputs,
|
|
43
|
+
stageOverrides: config.stageOverrides,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.VersioningConfigurations = VersioningConfigurations;
|
|
48
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
49
|
+
VersioningConfigurations[_a] = { fqn: "projen-pipelines.VersioningConfigurations", version: "0.2.14" };
|
|
50
|
+
/**
|
|
51
|
+
* Utility functions for versioning configuration
|
|
52
|
+
*/
|
|
53
|
+
class VersioningConfigUtils {
|
|
54
|
+
/**
|
|
55
|
+
* Resolve configuration for a specific stage
|
|
56
|
+
*/
|
|
57
|
+
static resolveForStage(config, stage) {
|
|
58
|
+
const stageOverride = config.stageOverrides?.[stage];
|
|
59
|
+
if (!stageOverride) {
|
|
60
|
+
return config;
|
|
61
|
+
}
|
|
62
|
+
return {
|
|
63
|
+
...config,
|
|
64
|
+
...stageOverride,
|
|
65
|
+
outputs: stageOverride.outputs ? { ...config.outputs, ...stageOverride.outputs } : config.outputs,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Validate configuration
|
|
70
|
+
*/
|
|
71
|
+
static validate(config) {
|
|
72
|
+
const errors = [];
|
|
73
|
+
if (!config.strategy) {
|
|
74
|
+
errors.push('Strategy is required');
|
|
75
|
+
}
|
|
76
|
+
if (!config.outputs) {
|
|
77
|
+
errors.push('Outputs configuration is required');
|
|
78
|
+
}
|
|
79
|
+
return errors;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Get default configuration
|
|
83
|
+
*/
|
|
84
|
+
static default() {
|
|
85
|
+
return VersioningConfigurations.standard();
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
exports.VersioningConfigUtils = VersioningConfigUtils;
|
|
89
|
+
_b = JSII_RTTI_SYMBOL_1;
|
|
90
|
+
VersioningConfigUtils[_b] = { fqn: "projen-pipelines.VersioningConfigUtils", version: "0.2.14" };
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZlcnNpb25pbmcvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsdUNBQThDO0FBQzlDLHlDQUFnRDtBQVdoRDs7R0FFRztBQUNILE1BQWEsd0JBQXdCO0lBQ25DOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUErQjtRQUNwRCxPQUFPO1lBQ0wsT0FBTyxFQUFFLElBQUk7WUFDYixRQUFRLEVBQUUsNkJBQWtCLENBQUMsV0FBVyxFQUFFO1lBQzFDLE9BQU8sRUFBRSwyQkFBaUIsQ0FBQyxRQUFRLENBQUM7Z0JBQ2xDLGFBQWEsRUFBRSxPQUFPLE9BQU8sRUFBRSxjQUFjLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTO2dCQUMvRixNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU07YUFDeEIsQ0FBQztTQUNILENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsT0FBTztRQUNuQixPQUFPO1lBQ0wsT0FBTyxFQUFFLElBQUk7WUFDYixRQUFRLEVBQUUsNkJBQWtCLENBQUMsVUFBVSxFQUFFO1lBQ3pDLE9BQU8sRUFBRSwyQkFBaUIsQ0FBQyxPQUFPLEVBQUU7U0FDckMsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBOEI7UUFDakQsT0FBTztZQUNMLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxJQUFJLElBQUk7WUFDL0IsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1lBQ3pCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztZQUN2QixjQUFjLEVBQUUsTUFBTSxDQUFDLGNBQWM7U0FDdEMsQ0FBQztJQUNKLENBQUM7O0FBcENILDREQXFDQzs7O0FBRUQ7O0dBRUc7QUFDSCxNQUFhLHFCQUFxQjtJQUNoQzs7T0FFRztJQUNJLE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBd0IsRUFBRSxLQUFhO1FBQ25FLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbkIsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUVELE9BQU87WUFDTCxHQUFHLE1BQU07WUFDVCxHQUFHLGFBQWE7WUFDaEIsT0FBTyxFQUFFLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsT0FBTyxFQUFFLEdBQUcsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTztTQUNsRyxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUF3QjtRQUM3QyxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7UUFFNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNyQixNQUFNLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDcEIsTUFBTSxDQUFDLElBQUksQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1FBQ25ELENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsT0FBTztRQUNuQixPQUFPLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdDLENBQUM7O0FBdkNILHNEQXdDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZlcnNpb25pbmdPdXRwdXRzIH0gZnJvbSAnLi9vdXRwdXRzJztcbmltcG9ydCB7IFZlcnNpb25pbmdTdHJhdGVneSB9IGZyb20gJy4vc3RyYXRlZ3knO1xuaW1wb3J0IHsgVmVyc2lvbmluZ0NvbmZpZywgSVZlcnNpb25pbmdTdHJhdGVneSwgU3RhbmRhcmRDb25maWdPcHRpb25zLCBWZXJzaW9uaW5nT3V0cHV0Q29uZmlnLCBTdGFnZU92ZXJyaWRlcyB9IGZyb20gJy4vdHlwZXMnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tVmVyc2lvbmluZ0NvbmZpZyB7XG4gIHJlYWRvbmx5IGVuYWJsZWQ/OiBib29sZWFuO1xuICByZWFkb25seSBzdHJhdGVneTogSVZlcnNpb25pbmdTdHJhdGVneTtcbiAgcmVhZG9ubHkgb3V0cHV0czogVmVyc2lvbmluZ091dHB1dENvbmZpZztcbiAgcmVhZG9ubHkgc3RhZ2VPdmVycmlkZXM/OiBTdGFnZU92ZXJyaWRlcztcbn1cblxuLyoqXG4gKiBNYWluIHZlcnNpb25pbmcgY29uZmlndXJhdGlvbiBjbGFzcyB3aXRoIGZhY3RvcnkgbWV0aG9kc1xuICovXG5leHBvcnQgY2xhc3MgVmVyc2lvbmluZ0NvbmZpZ3VyYXRpb25zIHtcbiAgLyoqXG4gICAqIFN0YW5kYXJkIGNvbmZpZ3VyYXRpb24gd2l0aCBjb21taXQgY291bnQgc3RyYXRlZ3lcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc3RhbmRhcmQob3B0aW9ucz86IFN0YW5kYXJkQ29uZmlnT3B0aW9ucyk6IFZlcnNpb25pbmdDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgc3RyYXRlZ3k6IFZlcnNpb25pbmdTdHJhdGVneS5jb21taXRDb3VudCgpLFxuICAgICAgb3V0cHV0czogVmVyc2lvbmluZ091dHB1dHMuc3RhbmRhcmQoe1xuICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0eXBlb2Ygb3B0aW9ucz8ucGFyYW1ldGVyU3RvcmUgPT09ICdzdHJpbmcnID8gb3B0aW9ucy5wYXJhbWV0ZXJTdG9yZSA6IHVuZGVmaW5lZCxcbiAgICAgICAgZm9ybWF0OiBvcHRpb25zPy5mb3JtYXQsXG4gICAgICB9KSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIE1pbmltYWwgY29uZmlndXJhdGlvbiBmb3IgdGVzdGluZ1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBtaW5pbWFsKCk6IFZlcnNpb25pbmdDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgc3RyYXRlZ3k6IFZlcnNpb25pbmdTdHJhdGVneS5jb21taXRIYXNoKCksXG4gICAgICBvdXRwdXRzOiBWZXJzaW9uaW5nT3V0cHV0cy5taW5pbWFsKCksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBjdXN0b20gY29uZmlndXJhdGlvblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBjdXN0b20oY29uZmlnOiBDdXN0b21WZXJzaW9uaW5nQ29uZmlnKTogVmVyc2lvbmluZ0NvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGVuYWJsZWQ6IGNvbmZpZy5lbmFibGVkID8/IHRydWUsXG4gICAgICBzdHJhdGVneTogY29uZmlnLnN0cmF0ZWd5LFxuICAgICAgb3V0cHV0czogY29uZmlnLm91dHB1dHMsXG4gICAgICBzdGFnZU92ZXJyaWRlczogY29uZmlnLnN0YWdlT3ZlcnJpZGVzLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBVdGlsaXR5IGZ1bmN0aW9ucyBmb3IgdmVyc2lvbmluZyBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBWZXJzaW9uaW5nQ29uZmlnVXRpbHMge1xuICAvKipcbiAgICogUmVzb2x2ZSBjb25maWd1cmF0aW9uIGZvciBhIHNwZWNpZmljIHN0YWdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlc29sdmVGb3JTdGFnZShjb25maWc6IFZlcnNpb25pbmdDb25maWcsIHN0YWdlOiBzdHJpbmcpOiBWZXJzaW9uaW5nQ29uZmlnIHtcbiAgICBjb25zdCBzdGFnZU92ZXJyaWRlID0gY29uZmlnLnN0YWdlT3ZlcnJpZGVzPy5bc3RhZ2VdO1xuICAgIGlmICghc3RhZ2VPdmVycmlkZSkge1xuICAgICAgcmV0dXJuIGNvbmZpZztcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uY29uZmlnLFxuICAgICAgLi4uc3RhZ2VPdmVycmlkZSxcbiAgICAgIG91dHB1dHM6IHN0YWdlT3ZlcnJpZGUub3V0cHV0cyA/IHsgLi4uY29uZmlnLm91dHB1dHMsIC4uLnN0YWdlT3ZlcnJpZGUub3V0cHV0cyB9IDogY29uZmlnLm91dHB1dHMsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSBjb25maWd1cmF0aW9uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHZhbGlkYXRlKGNvbmZpZzogVmVyc2lvbmluZ0NvbmZpZyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG5cbiAgICBpZiAoIWNvbmZpZy5zdHJhdGVneSkge1xuICAgICAgZXJyb3JzLnB1c2goJ1N0cmF0ZWd5IGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuXG4gICAgaWYgKCFjb25maWcub3V0cHV0cykge1xuICAgICAgZXJyb3JzLnB1c2goJ091dHB1dHMgY29uZmlndXJhdGlvbiBpcyByZXF1aXJlZCcpO1xuICAgIH1cblxuICAgIHJldHVybiBlcnJvcnM7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGRlZmF1bHQgY29uZmlndXJhdGlvblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBkZWZhdWx0KCk6IFZlcnNpb25pbmdDb25maWcge1xuICAgIHJldHVybiBWZXJzaW9uaW5nQ29uZmlndXJhdGlvbnMuc3RhbmRhcmQoKTtcbiAgfVxufSJdfQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './types';
|
|
2
|
+
export { VersionInfo, VersionInfoBuilder } from './version-info';
|
|
3
|
+
export { VersioningStrategy, } from './strategy';
|
|
4
|
+
export { OutputConfigBase, CloudFormationOutput, ParameterStoreOutput, OutputFormat, VersioningOutputs, } from './outputs';
|
|
5
|
+
export { GitInfo, ComputationContext, VersionComputationStrategy, CompositeComputation, VersionComputer, } from './computation';
|
|
6
|
+
export { CustomVersioningConfig, VersioningConfigurations, VersioningConfigUtils, } from './config';
|
|
7
|
+
export { VersioningSetup, } from './setup';
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.VersioningSetup = exports.VersioningConfigUtils = exports.VersioningConfigurations = exports.VersionComputer = exports.CompositeComputation = exports.VersionComputationStrategy = exports.VersioningOutputs = exports.OutputFormat = exports.ParameterStoreOutput = exports.CloudFormationOutput = exports.OutputConfigBase = exports.VersioningStrategy = exports.VersionInfoBuilder = exports.VersionInfo = void 0;
|
|
18
|
+
// Types
|
|
19
|
+
__exportStar(require("./types"), exports);
|
|
20
|
+
// Version Information
|
|
21
|
+
var version_info_1 = require("./version-info");
|
|
22
|
+
Object.defineProperty(exports, "VersionInfo", { enumerable: true, get: function () { return version_info_1.VersionInfo; } });
|
|
23
|
+
Object.defineProperty(exports, "VersionInfoBuilder", { enumerable: true, get: function () { return version_info_1.VersionInfoBuilder; } });
|
|
24
|
+
// Strategies
|
|
25
|
+
var strategy_1 = require("./strategy");
|
|
26
|
+
Object.defineProperty(exports, "VersioningStrategy", { enumerable: true, get: function () { return strategy_1.VersioningStrategy; } });
|
|
27
|
+
// Outputs
|
|
28
|
+
var outputs_1 = require("./outputs");
|
|
29
|
+
Object.defineProperty(exports, "OutputConfigBase", { enumerable: true, get: function () { return outputs_1.OutputConfigBase; } });
|
|
30
|
+
Object.defineProperty(exports, "CloudFormationOutput", { enumerable: true, get: function () { return outputs_1.CloudFormationOutput; } });
|
|
31
|
+
Object.defineProperty(exports, "ParameterStoreOutput", { enumerable: true, get: function () { return outputs_1.ParameterStoreOutput; } });
|
|
32
|
+
Object.defineProperty(exports, "OutputFormat", { enumerable: true, get: function () { return outputs_1.OutputFormat; } });
|
|
33
|
+
Object.defineProperty(exports, "VersioningOutputs", { enumerable: true, get: function () { return outputs_1.VersioningOutputs; } });
|
|
34
|
+
// Computation
|
|
35
|
+
var computation_1 = require("./computation");
|
|
36
|
+
Object.defineProperty(exports, "VersionComputationStrategy", { enumerable: true, get: function () { return computation_1.VersionComputationStrategy; } });
|
|
37
|
+
Object.defineProperty(exports, "CompositeComputation", { enumerable: true, get: function () { return computation_1.CompositeComputation; } });
|
|
38
|
+
Object.defineProperty(exports, "VersionComputer", { enumerable: true, get: function () { return computation_1.VersionComputer; } });
|
|
39
|
+
// Configuration
|
|
40
|
+
var config_1 = require("./config");
|
|
41
|
+
Object.defineProperty(exports, "VersioningConfigurations", { enumerable: true, get: function () { return config_1.VersioningConfigurations; } });
|
|
42
|
+
Object.defineProperty(exports, "VersioningConfigUtils", { enumerable: true, get: function () { return config_1.VersioningConfigUtils; } });
|
|
43
|
+
// Setup
|
|
44
|
+
var setup_1 = require("./setup");
|
|
45
|
+
Object.defineProperty(exports, "VersioningSetup", { enumerable: true, get: function () { return setup_1.VersioningSetup; } });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmVyc2lvbmluZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLFFBQVE7QUFDUiwwQ0FBd0I7QUFFeEIsc0JBQXNCO0FBQ3RCLCtDQUFpRTtBQUF4RCwyR0FBQSxXQUFXLE9BQUE7QUFBRSxrSEFBQSxrQkFBa0IsT0FBQTtBQUV4QyxhQUFhO0FBQ2IsdUNBRW9CO0FBRGxCLDhHQUFBLGtCQUFrQixPQUFBO0FBR3BCLFVBQVU7QUFDVixxQ0FNbUI7QUFMakIsMkdBQUEsZ0JBQWdCLE9BQUE7QUFDaEIsK0dBQUEsb0JBQW9CLE9BQUE7QUFDcEIsK0dBQUEsb0JBQW9CLE9BQUE7QUFDcEIsdUdBQUEsWUFBWSxPQUFBO0FBQ1osNEdBQUEsaUJBQWlCLE9BQUE7QUFHbkIsY0FBYztBQUNkLDZDQU11QjtBQUhyQix5SEFBQSwwQkFBMEIsT0FBQTtBQUMxQixtSEFBQSxvQkFBb0IsT0FBQTtBQUNwQiw4R0FBQSxlQUFlLE9BQUE7QUFHakIsZ0JBQWdCO0FBQ2hCLG1DQUlrQjtBQUZoQixrSEFBQSx3QkFBd0IsT0FBQTtBQUN4QiwrR0FBQSxxQkFBcUIsT0FBQTtBQUd2QixRQUFRO0FBQ1IsaUNBRWlCO0FBRGYsd0dBQUEsZUFBZSxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVHlwZXNcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuXG4vLyBWZXJzaW9uIEluZm9ybWF0aW9uXG5leHBvcnQgeyBWZXJzaW9uSW5mbywgVmVyc2lvbkluZm9CdWlsZGVyIH0gZnJvbSAnLi92ZXJzaW9uLWluZm8nO1xuXG4vLyBTdHJhdGVnaWVzXG5leHBvcnQge1xuICBWZXJzaW9uaW5nU3RyYXRlZ3ksXG59IGZyb20gJy4vc3RyYXRlZ3knO1xuXG4vLyBPdXRwdXRzXG5leHBvcnQge1xuICBPdXRwdXRDb25maWdCYXNlLFxuICBDbG91ZEZvcm1hdGlvbk91dHB1dCxcbiAgUGFyYW1ldGVyU3RvcmVPdXRwdXQsXG4gIE91dHB1dEZvcm1hdCxcbiAgVmVyc2lvbmluZ091dHB1dHMsXG59IGZyb20gJy4vb3V0cHV0cyc7XG5cbi8vIENvbXB1dGF0aW9uXG5leHBvcnQge1xuICBHaXRJbmZvLFxuICBDb21wdXRhdGlvbkNvbnRleHQsXG4gIFZlcnNpb25Db21wdXRhdGlvblN0cmF0ZWd5LFxuICBDb21wb3NpdGVDb21wdXRhdGlvbixcbiAgVmVyc2lvbkNvbXB1dGVyLFxufSBmcm9tICcuL2NvbXB1dGF0aW9uJztcblxuLy8gQ29uZmlndXJhdGlvblxuZXhwb3J0IHtcbiAgQ3VzdG9tVmVyc2lvbmluZ0NvbmZpZyxcbiAgVmVyc2lvbmluZ0NvbmZpZ3VyYXRpb25zLFxuICBWZXJzaW9uaW5nQ29uZmlnVXRpbHMsXG59IGZyb20gJy4vY29uZmlnJztcblxuLy8gU2V0dXBcbmV4cG9ydCB7XG4gIFZlcnNpb25pbmdTZXR1cCxcbn0gZnJvbSAnLi9zZXR1cCc7XG4iXX0=
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { CloudFormationOutputConfig, ParameterStoreConfig, VersioningOutputConfig, StandardOutputOptions, CloudFormationOnlyOptions, HierarchicalParametersOptions } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Base class for output configurations
|
|
4
|
+
*/
|
|
5
|
+
export declare abstract class OutputConfigBase {
|
|
6
|
+
readonly type: string;
|
|
7
|
+
protected constructor(type: string);
|
|
8
|
+
/**
|
|
9
|
+
* Convert to configuration object
|
|
10
|
+
*/
|
|
11
|
+
abstract toConfig(): any;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* CloudFormation output configuration
|
|
15
|
+
*/
|
|
16
|
+
export declare class CloudFormationOutput extends OutputConfigBase {
|
|
17
|
+
private readonly config?;
|
|
18
|
+
static readonly TYPE = "cloudformation";
|
|
19
|
+
/**
|
|
20
|
+
* Enable CloudFormation outputs with default configuration
|
|
21
|
+
*/
|
|
22
|
+
static enabled(): CloudFormationOutput;
|
|
23
|
+
/**
|
|
24
|
+
* Disable CloudFormation outputs
|
|
25
|
+
*/
|
|
26
|
+
static disabled(): CloudFormationOutput;
|
|
27
|
+
/**
|
|
28
|
+
* Configure CloudFormation outputs with custom settings
|
|
29
|
+
*/
|
|
30
|
+
static withConfig(config: CloudFormationOutputConfig): CloudFormationOutput;
|
|
31
|
+
private constructor();
|
|
32
|
+
toConfig(): any;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* SSM Parameter Store output configuration
|
|
36
|
+
*/
|
|
37
|
+
export declare class ParameterStoreOutput extends OutputConfigBase {
|
|
38
|
+
private readonly config?;
|
|
39
|
+
static readonly TYPE = "parameterStore";
|
|
40
|
+
/**
|
|
41
|
+
* Enable Parameter Store outputs with parameter name
|
|
42
|
+
*/
|
|
43
|
+
static enabled(parameterName: string): ParameterStoreOutput;
|
|
44
|
+
/**
|
|
45
|
+
* Disable Parameter Store outputs
|
|
46
|
+
*/
|
|
47
|
+
static disabled(): ParameterStoreOutput;
|
|
48
|
+
/**
|
|
49
|
+
* Configure Parameter Store outputs with custom settings
|
|
50
|
+
*/
|
|
51
|
+
static withConfig(config: ParameterStoreConfig): ParameterStoreOutput;
|
|
52
|
+
/**
|
|
53
|
+
* Configure Parameter Store with hierarchical parameters
|
|
54
|
+
*/
|
|
55
|
+
static hierarchical(basePath: string, options?: HierarchicalParametersOptions): ParameterStoreOutput;
|
|
56
|
+
private constructor();
|
|
57
|
+
toConfig(): any;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Output format types
|
|
61
|
+
*/
|
|
62
|
+
export declare class OutputFormat {
|
|
63
|
+
static readonly PLAIN: "plain";
|
|
64
|
+
static readonly STRUCTURED: "structured";
|
|
65
|
+
private constructor();
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Factory class for output configurations
|
|
69
|
+
*/
|
|
70
|
+
export declare class VersioningOutputs {
|
|
71
|
+
/**
|
|
72
|
+
* Create output configuration with CloudFormation and SSM Parameter Store
|
|
73
|
+
*/
|
|
74
|
+
static standard(options?: StandardOutputOptions): VersioningOutputConfig;
|
|
75
|
+
/**
|
|
76
|
+
* Create output configuration with only CloudFormation
|
|
77
|
+
*/
|
|
78
|
+
static cloudFormationOnly(options?: CloudFormationOnlyOptions): VersioningOutputConfig;
|
|
79
|
+
/**
|
|
80
|
+
* Create output configuration with hierarchical SSM parameters
|
|
81
|
+
*/
|
|
82
|
+
static hierarchicalParameters(basePath: string, options?: HierarchicalParametersOptions): VersioningOutputConfig;
|
|
83
|
+
/**
|
|
84
|
+
* Create minimal output configuration (CloudFormation only, plain format)
|
|
85
|
+
*/
|
|
86
|
+
static minimal(): VersioningOutputConfig;
|
|
87
|
+
}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a, _b, _c, _d, _e;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.VersioningOutputs = exports.OutputFormat = exports.ParameterStoreOutput = exports.CloudFormationOutput = exports.OutputConfigBase = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
/**
|
|
7
|
+
* Base class for output configurations
|
|
8
|
+
*/
|
|
9
|
+
class OutputConfigBase {
|
|
10
|
+
constructor(type) {
|
|
11
|
+
this.type = type;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.OutputConfigBase = OutputConfigBase;
|
|
15
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
16
|
+
OutputConfigBase[_a] = { fqn: "projen-pipelines.OutputConfigBase", version: "0.2.14" };
|
|
17
|
+
/**
|
|
18
|
+
* CloudFormation output configuration
|
|
19
|
+
*/
|
|
20
|
+
class CloudFormationOutput extends OutputConfigBase {
|
|
21
|
+
/**
|
|
22
|
+
* Enable CloudFormation outputs with default configuration
|
|
23
|
+
*/
|
|
24
|
+
static enabled() {
|
|
25
|
+
return new CloudFormationOutput({ enabled: true });
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Disable CloudFormation outputs
|
|
29
|
+
*/
|
|
30
|
+
static disabled() {
|
|
31
|
+
return new CloudFormationOutput({ enabled: false });
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Configure CloudFormation outputs with custom settings
|
|
35
|
+
*/
|
|
36
|
+
static withConfig(config) {
|
|
37
|
+
return new CloudFormationOutput({ ...config });
|
|
38
|
+
}
|
|
39
|
+
constructor(config) {
|
|
40
|
+
super(CloudFormationOutput.TYPE);
|
|
41
|
+
this.config = config;
|
|
42
|
+
}
|
|
43
|
+
toConfig() {
|
|
44
|
+
if (!this.config) {
|
|
45
|
+
return { enabled: true };
|
|
46
|
+
}
|
|
47
|
+
return this.config;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.CloudFormationOutput = CloudFormationOutput;
|
|
51
|
+
_b = JSII_RTTI_SYMBOL_1;
|
|
52
|
+
CloudFormationOutput[_b] = { fqn: "projen-pipelines.CloudFormationOutput", version: "0.2.14" };
|
|
53
|
+
CloudFormationOutput.TYPE = 'cloudformation';
|
|
54
|
+
/**
|
|
55
|
+
* SSM Parameter Store output configuration
|
|
56
|
+
*/
|
|
57
|
+
class ParameterStoreOutput extends OutputConfigBase {
|
|
58
|
+
/**
|
|
59
|
+
* Enable Parameter Store outputs with parameter name
|
|
60
|
+
*/
|
|
61
|
+
static enabled(parameterName) {
|
|
62
|
+
return new ParameterStoreOutput({ enabled: true, parameterName });
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Disable Parameter Store outputs
|
|
66
|
+
*/
|
|
67
|
+
static disabled() {
|
|
68
|
+
return new ParameterStoreOutput({ enabled: false, parameterName: '' });
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Configure Parameter Store outputs with custom settings
|
|
72
|
+
*/
|
|
73
|
+
static withConfig(config) {
|
|
74
|
+
return new ParameterStoreOutput({ ...config });
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Configure Parameter Store with hierarchical parameters
|
|
78
|
+
*/
|
|
79
|
+
static hierarchical(basePath, options) {
|
|
80
|
+
return new ParameterStoreOutput({
|
|
81
|
+
enabled: true,
|
|
82
|
+
parameterName: basePath,
|
|
83
|
+
hierarchical: true,
|
|
84
|
+
splitParameters: true,
|
|
85
|
+
...options,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
constructor(config) {
|
|
89
|
+
super(ParameterStoreOutput.TYPE);
|
|
90
|
+
this.config = config;
|
|
91
|
+
}
|
|
92
|
+
toConfig() {
|
|
93
|
+
if (!this.config) {
|
|
94
|
+
return { enabled: false, parameterName: '' };
|
|
95
|
+
}
|
|
96
|
+
return this.config;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
exports.ParameterStoreOutput = ParameterStoreOutput;
|
|
100
|
+
_c = JSII_RTTI_SYMBOL_1;
|
|
101
|
+
ParameterStoreOutput[_c] = { fqn: "projen-pipelines.ParameterStoreOutput", version: "0.2.14" };
|
|
102
|
+
ParameterStoreOutput.TYPE = 'parameterStore';
|
|
103
|
+
/**
|
|
104
|
+
* Output format types
|
|
105
|
+
*/
|
|
106
|
+
class OutputFormat {
|
|
107
|
+
constructor() { }
|
|
108
|
+
}
|
|
109
|
+
exports.OutputFormat = OutputFormat;
|
|
110
|
+
_d = JSII_RTTI_SYMBOL_1;
|
|
111
|
+
OutputFormat[_d] = { fqn: "projen-pipelines.OutputFormat", version: "0.2.14" };
|
|
112
|
+
OutputFormat.PLAIN = 'plain';
|
|
113
|
+
OutputFormat.STRUCTURED = 'structured';
|
|
114
|
+
/**
|
|
115
|
+
* Factory class for output configurations
|
|
116
|
+
*/
|
|
117
|
+
class VersioningOutputs {
|
|
118
|
+
/**
|
|
119
|
+
* Create output configuration with CloudFormation and SSM Parameter Store
|
|
120
|
+
*/
|
|
121
|
+
static standard(options) {
|
|
122
|
+
return {
|
|
123
|
+
cloudFormation: CloudFormationOutput.enabled().toConfig(),
|
|
124
|
+
parameterStore: options?.parameterName
|
|
125
|
+
? ParameterStoreOutput.enabled(options.parameterName).toConfig()
|
|
126
|
+
: ParameterStoreOutput.disabled().toConfig(),
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Create output configuration with only CloudFormation
|
|
131
|
+
*/
|
|
132
|
+
static cloudFormationOnly(options) {
|
|
133
|
+
const cfConfig = options?.stackOutputName || options?.exportName
|
|
134
|
+
? CloudFormationOutput.withConfig({
|
|
135
|
+
enabled: true,
|
|
136
|
+
exportName: options.exportName,
|
|
137
|
+
}).toConfig()
|
|
138
|
+
: CloudFormationOutput.enabled().toConfig();
|
|
139
|
+
return {
|
|
140
|
+
cloudFormation: cfConfig,
|
|
141
|
+
parameterStore: ParameterStoreOutput.disabled().toConfig(),
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Create output configuration with hierarchical SSM parameters
|
|
146
|
+
*/
|
|
147
|
+
static hierarchicalParameters(basePath, options) {
|
|
148
|
+
return {
|
|
149
|
+
cloudFormation: options?.includeCloudFormation ? CloudFormationOutput.enabled().toConfig() : CloudFormationOutput.disabled().toConfig(),
|
|
150
|
+
parameterStore: ParameterStoreOutput.hierarchical(basePath, {}).toConfig(),
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Create minimal output configuration (CloudFormation only, plain format)
|
|
155
|
+
*/
|
|
156
|
+
static minimal() {
|
|
157
|
+
return {
|
|
158
|
+
cloudFormation: CloudFormationOutput.enabled().toConfig(),
|
|
159
|
+
parameterStore: ParameterStoreOutput.disabled().toConfig(),
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
exports.VersioningOutputs = VersioningOutputs;
|
|
164
|
+
_e = JSII_RTTI_SYMBOL_1;
|
|
165
|
+
VersioningOutputs[_e] = { fqn: "projen-pipelines.VersioningOutputs", version: "0.2.14" };
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0cHV0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJzaW9uaW5nL291dHB1dHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQTs7R0FFRztBQUNILE1BQXNCLGdCQUFnQjtJQUNwQyxZQUFzQyxJQUFZO1FBQVosU0FBSSxHQUFKLElBQUksQ0FBUTtJQUFJLENBQUM7O0FBRHpELDRDQU9DOzs7QUFFRDs7R0FFRztBQUNILE1BQWEsb0JBQXFCLFNBQVEsZ0JBQWdCO0lBR3hEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE9BQU87UUFDbkIsT0FBTyxJQUFJLG9CQUFvQixDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVE7UUFDcEIsT0FBTyxJQUFJLG9CQUFvQixDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFrQztRQUN6RCxPQUFPLElBQUksb0JBQW9CLENBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELFlBQXFDLE1BQW1DO1FBQ3RFLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQURFLFdBQU0sR0FBTixNQUFNLENBQTZCO0lBRXhFLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNqQixPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO1FBQzNCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQzs7QUFqQ0gsb0RBa0NDOzs7QUFqQ3dCLHlCQUFJLEdBQUcsZ0JBQWdCLENBQUM7QUFtQ2pEOztHQUVHO0FBQ0gsTUFBYSxvQkFBcUIsU0FB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QyxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7WUFDdkksY0FBYyxFQUFFLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO1NBQzNFLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsT0FBTztRQUNuQixPQUFPO1lBQ0wsY0FBYyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRTtZQUN6RCxjQUFjLEVBQUUsb0JBQW9CLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFO1NBQzNELENBQUM7SUFDSixDQUFDOztBQWhESCw4Q0FpREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbG91ZEZvcm1hdGlvbk91dHB1dENvbmZpZywgUGFyYW1ldGVyU3RvcmVDb25maWcsIFZlcnNpb25pbmdPdXRwdXRDb25maWcsIFN0YW5kYXJkT3V0cHV0T3B0aW9ucywgQ2xvdWRGb3JtYXRpb25Pbmx5T3B0aW9ucywgSGllcmFyY2hpY2FsUGFyYW1ldGVyc09wdGlvbnMgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBvdXRwdXQgY29uZmlndXJhdGlvbnNcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE91dHB1dENvbmZpZ0Jhc2Uge1xuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHR5cGU6IHN0cmluZykgeyB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgdG8gY29uZmlndXJhdGlvbiBvYmplY3RcbiAgICovXG4gIGFic3RyYWN0IHRvQ29uZmlnKCk6IGFueTtcbn1cblxuLyoqXG4gKiBDbG91ZEZvcm1hdGlvbiBvdXRwdXQgY29uZmlndXJhdGlvblxuICovXG5leHBvcnQgY2xhc3MgQ2xvdWRGb3JtYXRpb25PdXRwdXQgZXh0ZW5kcyBPdXRwdXRDb25maWdCYXNlIHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUWVBFID0gJ2Nsb3VkZm9ybWF0aW9uJztcblxuICAvKipcbiAgICogRW5hYmxlIENsb3VkRm9ybWF0aW9uIG91dHB1dHMgd2l0aCBkZWZhdWx0IGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZW5hYmxlZCgpOiBDbG91ZEZvcm1hdGlvbk91dHB1dCB7XG4gICAgcmV0dXJuIG5ldyBDbG91ZEZvcm1hdGlvbk91dHB1dCh7IGVuYWJsZWQ6IHRydWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogRGlzYWJsZSBDbG91ZEZvcm1hdGlvbiBvdXRwdXRzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGRpc2FibGVkKCk6IENsb3VkRm9ybWF0aW9uT3V0cHV0IHtcbiAgICByZXR1cm4gbmV3IENsb3VkRm9ybWF0aW9uT3V0cHV0KHsgZW5hYmxlZDogZmFsc2UgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ29uZmlndXJlIENsb3VkRm9ybWF0aW9uIG91dHB1dHMgd2l0aCBjdXN0b20gc2V0dGluZ3NcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aENvbmZpZyhjb25maWc6IENsb3VkRm9ybWF0aW9uT3V0cHV0Q29uZmlnKTogQ2xvdWRGb3JtYXRpb25PdXRwdXQge1xuICAgIHJldHVybiBuZXcgQ2xvdWRGb3JtYXRpb25PdXRwdXQoeyAuLi5jb25maWcgfSk7XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY29uZmlnPzogQ2xvdWRGb3JtYXRpb25PdXRwdXRDb25maWcpIHtcbiAgICBzdXBlcihDbG91ZEZvcm1hdGlvbk91dHB1dC5UWVBFKTtcbiAgfVxuXG4gIHB1YmxpYyB0b0NvbmZpZygpOiBhbnkge1xuICAgIGlmICghdGhpcy5jb25maWcpIHtcbiAgICAgIHJldHVybiB7IGVuYWJsZWQ6IHRydWUgfTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnO1xuICB9XG59XG5cbi8qKlxuICogU1NNIFBhcmFtZXRlciBTdG9yZSBvdXRwdXQgY29uZmlndXJhdGlvblxuICovXG5leHBvcnQgY2xhc3MgUGFyYW1ldGVyU3RvcmVPdXRwdXQgZXh0ZW5kcyBPdXRwdXRDb25maWdCYXNlIHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUWVBFID0gJ3BhcmFtZXRlclN0b3JlJztcblxuICAvKipcbiAgICogRW5hYmxlIFBhcmFtZXRlciBTdG9yZSBvdXRwdXRzIHdpdGggcGFyYW1ldGVyIG5hbWVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZW5hYmxlZChwYXJhbWV0ZXJOYW1lOiBzdHJpbmcpOiBQYXJhbWV0ZXJTdG9yZU91dHB1dCB7XG4gICAgcmV0dXJuIG5ldyBQYXJhbWV0ZXJTdG9yZU91dHB1dCh7IGVuYWJsZWQ6IHRydWUsIHBhcmFtZXRlck5hbWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogRGlzYWJsZSBQYXJhbWV0ZXIgU3RvcmUgb3V0cHV0c1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBkaXNhYmxlZCgpOiBQYXJhbWV0ZXJTdG9yZU91dHB1dCB7XG4gICAgcmV0dXJuIG5ldyBQYXJhbWV0ZXJTdG9yZU91dHB1dCh7IGVuYWJsZWQ6IGZhbHNlLCBwYXJhbWV0ZXJOYW1lOiAnJyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25maWd1cmUgUGFyYW1ldGVyIFN0b3JlIG91dHB1dHMgd2l0aCBjdXN0b20gc2V0dGluZ3NcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aENvbmZpZyhjb25maWc6IFBhcmFtZXRlclN0b3JlQ29uZmlnKTogUGFyYW1ldGVyU3RvcmVPdXRwdXQge1xuICAgIHJldHVybiBuZXcgUGFyYW1ldGVyU3RvcmVPdXRwdXQoeyAuLi5jb25maWcgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ29uZmlndXJlIFBhcmFtZXRlciBTdG9yZSB3aXRoIGhpZXJhcmNoaWNhbCBwYXJhbWV0ZXJzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhpZXJhcmNoaWNhbChiYXNlUGF0aDogc3RyaW5nLCBvcHRpb25zPzogSGllcmFyY2hpY2FsUGFyYW1ldGVyc09wdGlvbnMpOiBQYXJhbWV0ZXJTdG9yZU91dHB1dCB7XG4gICAgcmV0dXJuIG5ldyBQYXJhbWV0ZXJTdG9yZU91dHB1dCh7XG4gICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgcGFyYW1ldGVyTmFtZTogYmFzZVBhdGgsXG4gICAgICBoaWVyYXJjaGljYWw6IHRydWUsXG4gICAgICBzcGxpdFBhcmFtZXRlcnM6IHRydWUsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNvbmZpZz86IFBhcmFtZXRlclN0b3JlQ29uZmlnKSB7XG4gICAgc3VwZXIoUGFyYW1ldGVyU3RvcmVPdXRwdXQuVFlQRSk7XG4gIH1cblxuICBwdWJsaWMgdG9Db25maWcoKTogYW55IHtcbiAgICBpZiAoIXRoaXMuY29uZmlnKSB7XG4gICAgICByZXR1cm4geyBlbmFibGVkOiBmYWxzZSwgcGFyYW1ldGVyTmFtZTogJycgfTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnO1xuICB9XG59XG5cbi8qKlxuICogT3V0cHV0IGZvcm1hdCB0eXBlc1xuICovXG5leHBvcnQgY2xhc3MgT3V0cHV0Rm9ybWF0IHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQTEFJTiA9ICdwbGFpbicgYXMgY29uc3Q7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU1RSVUNUVVJFRCA9ICdzdHJ1Y3R1cmVkJyBhcyBjb25zdDtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkgeyB9XG59XG5cbi8qKlxuICogRmFjdG9yeSBjbGFzcyBmb3Igb3V0cHV0IGNvbmZpZ3VyYXRpb25zXG4gKi9cbmV4cG9ydCBjbGFzcyBWZXJzaW9uaW5nT3V0cHV0cyB7XG4gIC8qKlxuICAgKiBDcmVhdGUgb3V0cHV0IGNvbmZpZ3VyYXRpb24gd2l0aCBDbG91ZEZvcm1hdGlvbiBhbmQgU1NNIFBhcmFtZXRlciBTdG9yZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzdGFuZGFyZChvcHRpb25zPzogU3RhbmRhcmRPdXRwdXRPcHRpb25zKTogVmVyc2lvbmluZ091dHB1dENvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNsb3VkRm9ybWF0aW9uOiBDbG91ZEZvcm1hdGlvbk91dHB1dC5lbmFibGVkKCkudG9Db25maWcoKSxcbiAgICAgIHBhcmFtZXRlclN0b3JlOiBvcHRpb25zPy5wYXJhbWV0ZXJOYW1lXG4gICAgICAgID8gUGFyYW1ldGVyU3RvcmVPdXRwdXQuZW5hYmxlZChvcHRpb25zLnBhcmFtZXRlck5hbWUpLnRvQ29uZmlnKClcbiAgICAgICAgOiBQYXJhbWV0ZXJTdG9yZU91dHB1dC5kaXNhYmxlZCgpLnRvQ29uZmlnKCksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgb3V0cHV0IGNvbmZpZ3VyYXRpb24gd2l0aCBvbmx5IENsb3VkRm9ybWF0aW9uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGNsb3VkRm9ybWF0aW9uT25seShvcHRpb25zPzogQ2xvdWRGb3JtYXRpb25Pbmx5T3B0aW9ucyk6IFZlcnNpb25pbmdPdXRwdXRDb25maWcge1xuICAgIGNvbnN0IGNmQ29uZmlnID0gb3B0aW9ucz8uc3RhY2tPdXRwdXROYW1lIHx8IG9wdGlvbnM/LmV4cG9ydE5hbWVcbiAgICAgID8gQ2xvdWRGb3JtYXRpb25PdXRwdXQud2l0aENvbmZpZyh7XG4gICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgIGV4cG9ydE5hbWU6IG9wdGlvbnMuZXhwb3J0TmFtZSxcbiAgICAgIH0pLnRvQ29uZmlnKClcbiAgICAgIDogQ2xvdWRGb3JtYXRpb25PdXRwdXQuZW5hYmxlZCgpLnRvQ29uZmlnKCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY2xvdWRGb3JtYXRpb246IGNmQ29uZmlnLFxuICAgICAgcGFyYW1ldGVyU3RvcmU6IFBhcmFtZXRlclN0b3JlT3V0cHV0LmRpc2FibGVkKCkudG9Db25maWcoKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBvdXRwdXQgY29uZmlndXJhdGlvbiB3aXRoIGhpZXJhcmNoaWNhbCBTU00gcGFyYW1ldGVyc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBoaWVyYXJjaGljYWxQYXJhbWV0ZXJzKGJhc2VQYXRoOiBzdHJpbmcsIG9wdGlvbnM/OiBIaWVyYXJjaGljYWxQYXJhbWV0ZXJzT3B0aW9ucyk6IFZlcnNpb25pbmdPdXRwdXRDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBjbG91ZEZvcm1hdGlvbjogb3B0aW9ucz8uaW5jbHVkZUNsb3VkRm9ybWF0aW9uID8gQ2xvdWRGb3JtYXRpb25PdXRwdXQuZW5hYmxlZCgpLnRvQ29uZmlnKCkgOiBDbG91ZEZvcm1hdGlvbk91dHB1dC5kaXNhYmxlZCgpLnRvQ29uZmlnKCksXG4gICAgICBwYXJhbWV0ZXJTdG9yZTogUGFyYW1ldGVyU3RvcmVPdXRwdXQuaGllcmFyY2hpY2FsKGJhc2VQYXRoLCB7fSkudG9Db25maWcoKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBtaW5pbWFsIG91dHB1dCBjb25maWd1cmF0aW9uIChDbG91ZEZvcm1hdGlvbiBvbmx5LCBwbGFpbiBmb3JtYXQpXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG1pbmltYWwoKTogVmVyc2lvbmluZ091dHB1dENvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNsb3VkRm9ybWF0aW9uOiBDbG91ZEZvcm1hdGlvbk91dHB1dC5lbmFibGVkKCkudG9Db25maWcoKSxcbiAgICAgIHBhcmFtZXRlclN0b3JlOiBQYXJhbWV0ZXJTdG9yZU91dHB1dC5kaXNhYmxlZCgpLnRvQ29uZmlnKCksXG4gICAgfTtcbiAgfVxufSJdfQ==
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Project } from 'projen';
|
|
2
|
+
import { VersioningConfig } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Sets up versioning tasks and integration for a project
|
|
5
|
+
*/
|
|
6
|
+
export declare class VersioningSetup {
|
|
7
|
+
private readonly project;
|
|
8
|
+
private readonly config;
|
|
9
|
+
constructor(project: Project, config: VersioningConfig);
|
|
10
|
+
/**
|
|
11
|
+
* Set up all versioning-related tasks and configurations
|
|
12
|
+
*/
|
|
13
|
+
setup(): void;
|
|
14
|
+
/**
|
|
15
|
+
* Create the version:compute task
|
|
16
|
+
*/
|
|
17
|
+
private createVersionComputeTask;
|
|
18
|
+
/**
|
|
19
|
+
* Create the version:print task
|
|
20
|
+
*/
|
|
21
|
+
private createVersionPrintTask;
|
|
22
|
+
/**
|
|
23
|
+
* Integrate version computation with the build process
|
|
24
|
+
*/
|
|
25
|
+
private integrateWithBuildProcess;
|
|
26
|
+
/**
|
|
27
|
+
* Generate the Node.js script for version computation
|
|
28
|
+
*/
|
|
29
|
+
private generateVersionComputeScript;
|
|
30
|
+
}
|