projen-pipelines 0.2.12 → 0.2.13
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 +5094 -1511
- package/API.md +3366 -457
- package/README.md +229 -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/index.d.ts +1 -0
- package/lib/index.js +2 -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.js +4 -4
- 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 +1 -1
|
@@ -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.13" };
|
|
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.13" };
|
|
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.13" };
|
|
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.13" };
|
|
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.13" };
|
|
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.13" };
|
|
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.13" };
|
|
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
|
+
}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.VersioningSetup = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
/**
|
|
7
|
+
* Sets up versioning tasks and integration for a project
|
|
8
|
+
*/
|
|
9
|
+
class VersioningSetup {
|
|
10
|
+
constructor(project, config) {
|
|
11
|
+
this.project = project;
|
|
12
|
+
this.config = config;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Set up all versioning-related tasks and configurations
|
|
16
|
+
*/
|
|
17
|
+
setup() {
|
|
18
|
+
// Create version computation task
|
|
19
|
+
this.createVersionComputeTask();
|
|
20
|
+
// Create version print task
|
|
21
|
+
this.createVersionPrintTask();
|
|
22
|
+
// Add version computation to build process
|
|
23
|
+
this.integrateWithBuildProcess();
|
|
24
|
+
// Add version file to gitignore
|
|
25
|
+
this.project.gitignore.exclude('~version.json');
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Create the version:compute task
|
|
29
|
+
*/
|
|
30
|
+
createVersionComputeTask() {
|
|
31
|
+
this.project.addTask('version:compute', {
|
|
32
|
+
description: 'Compute version information from git',
|
|
33
|
+
steps: [
|
|
34
|
+
{ exec: 'echo "Computing version information..."' },
|
|
35
|
+
{
|
|
36
|
+
exec: this.generateVersionComputeScript(),
|
|
37
|
+
},
|
|
38
|
+
],
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Create the version:print task
|
|
43
|
+
*/
|
|
44
|
+
createVersionPrintTask() {
|
|
45
|
+
this.project.addTask('version:print', {
|
|
46
|
+
description: 'Print version information',
|
|
47
|
+
steps: [
|
|
48
|
+
{ exec: 'cat ~version.json' },
|
|
49
|
+
],
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Integrate version computation with the build process
|
|
54
|
+
*/
|
|
55
|
+
integrateWithBuildProcess() {
|
|
56
|
+
const compileTask = this.project.tasks.tryFind('compile');
|
|
57
|
+
const computeTask = this.project.tasks.tryFind('version:compute');
|
|
58
|
+
const printTask = this.project.tasks.tryFind('version:print');
|
|
59
|
+
if (compileTask && computeTask && printTask) {
|
|
60
|
+
compileTask.prependSpawn(printTask);
|
|
61
|
+
compileTask.prependSpawn(computeTask);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Generate the Node.js script for version computation
|
|
66
|
+
*/
|
|
67
|
+
generateVersionComputeScript() {
|
|
68
|
+
const strategyJson = JSON.stringify(this.config.strategy).replace(/"/g, '\\"');
|
|
69
|
+
return `node -e "
|
|
70
|
+
const fs = require('fs');
|
|
71
|
+
const cp = require('child_process');
|
|
72
|
+
|
|
73
|
+
// Import versioning modules
|
|
74
|
+
const { VersionComputer, VersioningStrategy } = require('projen-pipelines');
|
|
75
|
+
|
|
76
|
+
try {
|
|
77
|
+
// Gather git information
|
|
78
|
+
const commitHash = cp.execSync('git rev-parse HEAD', {encoding: 'utf8'}).trim();
|
|
79
|
+
const commitHashShort = commitHash.substring(0, 8);
|
|
80
|
+
const commitCount = parseInt(cp.execSync('git rev-list --count HEAD', {encoding: 'utf8'}).trim());
|
|
81
|
+
const branch = cp.execSync('git rev-parse --abbrev-ref HEAD', {encoding: 'utf8'}).trim();
|
|
82
|
+
|
|
83
|
+
let tag = '';
|
|
84
|
+
let commitsSinceTag = 0;
|
|
85
|
+
try {
|
|
86
|
+
tag = cp.execSync('git describe --tags --exact-match --all', {encoding: 'utf8'}).trim();
|
|
87
|
+
} catch {
|
|
88
|
+
try {
|
|
89
|
+
const describeOutput = cp.execSync('git describe --tags --long --all', {encoding: 'utf8'}).trim();
|
|
90
|
+
const match = describeOutput.match(/^(.+)-(\\\\d+)-g[0-9a-f]+$/);
|
|
91
|
+
if (match) {
|
|
92
|
+
tag = match[1];
|
|
93
|
+
commitsSinceTag = parseInt(match[2]);
|
|
94
|
+
}
|
|
95
|
+
} catch {}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
let packageVersion = '0.0.0';
|
|
99
|
+
try {
|
|
100
|
+
packageVersion = JSON.parse(fs.readFileSync('package.json', 'utf8')).version;
|
|
101
|
+
} catch {}
|
|
102
|
+
|
|
103
|
+
// Create computation context
|
|
104
|
+
const context = {
|
|
105
|
+
gitInfo: {
|
|
106
|
+
commitHash,
|
|
107
|
+
commitHashShort,
|
|
108
|
+
branch,
|
|
109
|
+
tag,
|
|
110
|
+
commitsSinceTag,
|
|
111
|
+
commitCount,
|
|
112
|
+
packageVersion
|
|
113
|
+
},
|
|
114
|
+
environment: process.env.STAGE || process.env.ENVIRONMENT || 'unknown',
|
|
115
|
+
deployedBy: process.env.GITHUB_ACTOR || process.env.GITLAB_USER_LOGIN || process.env.USER || 'unknown',
|
|
116
|
+
buildNumber: process.env.BUILD_NUMBER || process.env.GITHUB_RUN_NUMBER,
|
|
117
|
+
repository: process.env.GITHUB_REPOSITORY || process.env.CI_PROJECT_PATH,
|
|
118
|
+
pipelineVersion: process.env.PIPELINE_VERSION
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
// Create strategy from configuration
|
|
122
|
+
const strategyConfig = ${strategyJson};
|
|
123
|
+
const strategy = new VersioningStrategy(strategyConfig.format, strategyConfig.components);
|
|
124
|
+
|
|
125
|
+
// Compute version
|
|
126
|
+
const computer = new VersionComputer(strategy);
|
|
127
|
+
computer.computeVersionInfo(context).then(versionInfo => {
|
|
128
|
+
fs.writeFileSync('~version.json', versionInfo.toJson());
|
|
129
|
+
console.log('Version computed:', versionInfo.version, '(commit:', versionInfo.commitHashShort + ')');
|
|
130
|
+
}).catch(error => {
|
|
131
|
+
console.error('Error computing version:', error.message);
|
|
132
|
+
const fallback = {
|
|
133
|
+
version: '0.0.0',
|
|
134
|
+
commitHash: 'unknown',
|
|
135
|
+
commitHashShort: 'unknown',
|
|
136
|
+
branch: 'unknown',
|
|
137
|
+
commitCount: 0,
|
|
138
|
+
packageVersion: '0.0.0',
|
|
139
|
+
deployedAt: new Date().toISOString(),
|
|
140
|
+
deployedBy: 'unknown',
|
|
141
|
+
environment: 'unknown'
|
|
142
|
+
};
|
|
143
|
+
fs.writeFileSync('~version.json', JSON.stringify(fallback, null, 2));
|
|
144
|
+
});
|
|
145
|
+
} catch (e) {
|
|
146
|
+
console.error('Error in version computation:', e.message);
|
|
147
|
+
const fallback = {
|
|
148
|
+
version: '0.0.0',
|
|
149
|
+
commitHash: 'unknown',
|
|
150
|
+
commitHashShort: 'unknown',
|
|
151
|
+
branch: 'unknown',
|
|
152
|
+
commitCount: 0,
|
|
153
|
+
packageVersion: '0.0.0',
|
|
154
|
+
deployedAt: new Date().toISOString(),
|
|
155
|
+
deployedBy: 'unknown',
|
|
156
|
+
environment: 'unknown'
|
|
157
|
+
};
|
|
158
|
+
fs.writeFileSync('~version.json', JSON.stringify(fallback, null, 2));
|
|
159
|
+
}"`;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
exports.VersioningSetup = VersioningSetup;
|
|
163
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
164
|
+
VersioningSetup[_a] = { fqn: "projen-pipelines.VersioningSetup", version: "0.2.13" };
|
|
165
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmVyc2lvbmluZy9zZXR1cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUdBOztHQUVHO0FBQ0gsTUFBYSxlQUFlO0lBRTFCLFlBQTZCLE9BQWdCLEVBQW1CLE1BQXdCO1FBQTNELFlBQU8sR0FBUCxPQUFPLENBQVM7UUFBbUIsV0FBTSxHQUFOLE1BQU0sQ0FBa0I7SUFDeEYsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSztRQUNWLGtDQUFrQztRQUNsQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUVoQyw0QkFBNEI7UUFDNUIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFFOUIsMkNBQTJDO1FBQzNDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBRWpDLGdDQUFnQztRQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOztPQUVHO0lBQ0ssd0JBQXdCO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFO1lBQ3RDLFdBQVcsRUFBRSxzQ0FBc0M7WUFDbkQsS0FBSyxFQUFFO2dCQUNMLEVBQUUsSUFBSSxFQUFFLHlDQUF5QyxFQUFFO2dCQUNuRDtvQkFDRSxJQUFJLEVBQUUsSUFBSSxDQUFDLDRCQUE0QixFQUFFO2lCQUMxQzthQUNGO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ssc0JBQXNCO1FBQzVCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRTtZQUNwQyxXQUFXLEVBQUUsMkJBQTJCO1lBQ3hDLEtBQUssRUFBRTtnQkFDTCxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRTthQUM5QjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNLLHlCQUF5QjtRQUMvQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbEUsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRTlELElBQUksV0FBVyxJQUFJLFdBQVcsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUM1QyxXQUFXLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3BDLFdBQVcsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLDRCQUE0QjtRQUNsQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUUvRSxPQUFPOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsyQkFxRGdCLFlBQVk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQ3BDLENBQUM7SUFDRixDQUFDOztBQWhLSCwwQ0FpS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IFZlcnNpb25pbmdDb25maWcgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBTZXRzIHVwIHZlcnNpb25pbmcgdGFza3MgYW5kIGludGVncmF0aW9uIGZvciBhIHByb2plY3RcbiAqL1xuZXhwb3J0IGNsYXNzIFZlcnNpb25pbmdTZXR1cCB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwcm9qZWN0OiBQcm9qZWN0LCBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogVmVyc2lvbmluZ0NvbmZpZykge1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB1cCBhbGwgdmVyc2lvbmluZy1yZWxhdGVkIHRhc2tzIGFuZCBjb25maWd1cmF0aW9uc1xuICAgKi9cbiAgcHVibGljIHNldHVwKCk6IHZvaWQge1xuICAgIC8vIENyZWF0ZSB2ZXJzaW9uIGNvbXB1dGF0aW9uIHRhc2tcbiAgICB0aGlzLmNyZWF0ZVZlcnNpb25Db21wdXRlVGFzaygpO1xuXG4gICAgLy8gQ3JlYXRlIHZlcnNpb24gcHJpbnQgdGFza1xuICAgIHRoaXMuY3JlYXRlVmVyc2lvblByaW50VGFzaygpO1xuXG4gICAgLy8gQWRkIHZlcnNpb24gY29tcHV0YXRpb24gdG8gYnVpbGQgcHJvY2Vzc1xuICAgIHRoaXMuaW50ZWdyYXRlV2l0aEJ1aWxkUHJvY2VzcygpO1xuXG4gICAgLy8gQWRkIHZlcnNpb24gZmlsZSB0byBnaXRpZ25vcmVcbiAgICB0aGlzLnByb2plY3QuZ2l0aWdub3JlLmV4Y2x1ZGUoJ352ZXJzaW9uLmpzb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdGhlIHZlcnNpb246Y29tcHV0ZSB0YXNrXG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZVZlcnNpb25Db21wdXRlVGFzaygpOiB2b2lkIHtcbiAgICB0aGlzLnByb2plY3QuYWRkVGFzaygndmVyc2lvbjpjb21wdXRlJywge1xuICAgICAgZGVzY3JpcHRpb246ICdDb21wdXRlIHZlcnNpb24gaW5mb3JtYXRpb24gZnJvbSBnaXQnLFxuICAgICAgc3RlcHM6IFtcbiAgICAgICAgeyBleGVjOiAnZWNobyBcIkNvbXB1dGluZyB2ZXJzaW9uIGluZm9ybWF0aW9uLi4uXCInIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBleGVjOiB0aGlzLmdlbmVyYXRlVmVyc2lvbkNvbXB1dGVTY3JpcHQoKSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIHRoZSB2ZXJzaW9uOnByaW50IHRhc2tcbiAgICovXG4gIHByaXZhdGUgY3JlYXRlVmVyc2lvblByaW50VGFzaygpOiB2b2lkIHtcbiAgICB0aGlzLnByb2plY3QuYWRkVGFzaygndmVyc2lvbjpwcmludCcsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnUHJpbnQgdmVyc2lvbiBpbmZvcm1hdGlvbicsXG4gICAgICBzdGVwczogW1xuICAgICAgICB7IGV4ZWM6ICdjYXQgfnZlcnNpb24uanNvbicgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSW50ZWdyYXRlIHZlcnNpb24gY29tcHV0YXRpb24gd2l0aCB0aGUgYnVpbGQgcHJvY2Vzc1xuICAgKi9cbiAgcHJpdmF0ZSBpbnRlZ3JhdGVXaXRoQnVpbGRQcm9jZXNzKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbXBpbGVUYXNrID0gdGhpcy5wcm9qZWN0LnRhc2tzLnRyeUZpbmQoJ2NvbXBpbGUnKTtcbiAgICBjb25zdCBjb21wdXRlVGFzayA9IHRoaXMucHJvamVjdC50YXNrcy50cnlGaW5kKCd2ZXJzaW9uOmNvbXB1dGUnKTtcbiAgICBjb25zdCBwcmludFRhc2sgPSB0aGlzLnByb2plY3QudGFza3MudHJ5RmluZCgndmVyc2lvbjpwcmludCcpO1xuXG4gICAgaWYgKGNvbXBpbGVUYXNrICYmIGNvbXB1dGVUYXNrICYmIHByaW50VGFzaykge1xuICAgICAgY29tcGlsZVRhc2sucHJlcGVuZFNwYXduKHByaW50VGFzayk7XG4gICAgICBjb21waWxlVGFzay5wcmVwZW5kU3Bhd24oY29tcHV0ZVRhc2spO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSB0aGUgTm9kZS5qcyBzY3JpcHQgZm9yIHZlcnNpb24gY29tcHV0YXRpb25cbiAgICovXG4gIHByaXZhdGUgZ2VuZXJhdGVWZXJzaW9uQ29tcHV0ZVNjcmlwdCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHN0cmF0ZWd5SnNvbiA9IEpTT04uc3RyaW5naWZ5KHRoaXMuY29uZmlnLnN0cmF0ZWd5KS5yZXBsYWNlKC9cIi9nLCAnXFxcXFwiJyk7XG5cbiAgICByZXR1cm4gYG5vZGUgLWUgXCJcbmNvbnN0IGZzID0gcmVxdWlyZSgnZnMnKTtcbmNvbnN0IGNwID0gcmVxdWlyZSgnY2hpbGRfcHJvY2VzcycpO1xuXG4vLyBJbXBvcnQgdmVyc2lvbmluZyBtb2R1bGVzXG5jb25zdCB7IFZlcnNpb25Db21wdXRlciwgVmVyc2lvbmluZ1N0cmF0ZWd5IH0gPSByZXF1aXJlKCdwcm9qZW4tcGlwZWxpbmVzJyk7XG5cbnRyeSB7XG4gIC8vIEdhdGhlciBnaXQgaW5mb3JtYXRpb25cbiAgY29uc3QgY29tbWl0SGFzaCA9IGNwLmV4ZWNTeW5jKCdnaXQgcmV2LXBhcnNlIEhFQUQnLCB7ZW5jb2Rpbmc6ICd1dGY4J30pLnRyaW0oKTtcbiAgY29uc3QgY29tbWl0SGFzaFNob3J0ID0gY29tbWl0SGFzaC5zdWJzdHJpbmcoMCwgOCk7XG4gIGNvbnN0IGNvbW1pdENvdW50ID0gcGFyc2VJbnQoY3AuZXhlY1N5bmMoJ2dpdCByZXYtbGlzdCAtLWNvdW50IEhFQUQnLCB7ZW5jb2Rpbmc6ICd1dGY4J30pLnRyaW0oKSk7XG4gIGNvbnN0IGJyYW5jaCA9IGNwLmV4ZWNTeW5jKCdnaXQgcmV2LXBhcnNlIC0tYWJicmV2LXJlZiBIRUFEJywge2VuY29kaW5nOiAndXRmOCd9KS50cmltKCk7XG4gIFxuICBsZXQgdGFnID0gJyc7XG4gIGxldCBjb21taXRzU2luY2VUYWcgPSAwO1xuICB0cnkgeyBcbiAgICB0YWcgPSBjcC5leGVjU3luYygnZ2l0IGRlc2NyaWJlIC0tdGFncyAtLWV4YWN0LW1hdGNoIC0tYWxsJywge2VuY29kaW5nOiAndXRmOCd9KS50cmltKCk7XG4gIH0gY2F0Y2gge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBkZXNjcmliZU91dHB1dCA9IGNwLmV4ZWNTeW5jKCdnaXQgZGVzY3JpYmUgLS10YWdzIC0tbG9uZyAtLWFsbCcsIHtlbmNvZGluZzogJ3V0ZjgnfSkudHJpbSgpO1xuICAgICAgY29uc3QgbWF0Y2ggPSBkZXNjcmliZU91dHB1dC5tYXRjaCgvXiguKyktKFxcXFxcXFxcZCspLWdbMC05YS1mXSskLyk7XG4gICAgICBpZiAobWF0Y2gpIHtcbiAgICAgICAgdGFnID0gbWF0Y2hbMV07XG4gICAgICAgIGNvbW1pdHNTaW5jZVRhZyA9IHBhcnNlSW50KG1hdGNoWzJdKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIHt9XG4gIH1cbiAgXG4gIGxldCBwYWNrYWdlVmVyc2lvbiA9ICcwLjAuMCc7XG4gIHRyeSB7XG4gICAgcGFja2FnZVZlcnNpb24gPSBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYygncGFja2FnZS5qc29uJywgJ3V0ZjgnKSkudmVyc2lvbjtcbiAgfSBjYXRjaCB7fVxuICBcbiAgLy8gQ3JlYXRlIGNvbXB1dGF0aW9uIGNvbnRleHRcbiAgY29uc3QgY29udGV4dCA9IHtcbiAgICBnaXRJbmZvOiB7XG4gICAgICBjb21taXRIYXNoLFxuICAgICAgY29tbWl0SGFzaFNob3J0LFxuICAgICAgYnJhbmNoLFxuICAgICAgdGFnLFxuICAgICAgY29tbWl0c1NpbmNlVGFnLFxuICAgICAgY29tbWl0Q291bnQsXG4gICAgICBwYWNrYWdlVmVyc2lvblxuICAgIH0sXG4gICAgZW52aXJvbm1lbnQ6IHByb2Nlc3MuZW52LlNUQUdFIHx8IHByb2Nlc3MuZW52LkVOVklST05NRU5UIHx8ICd1bmtub3duJyxcbiAgICBkZXBsb3llZEJ5OiBwcm9jZXNzLmVudi5HSVRIVUJfQUNUT1IgfHwgcHJvY2Vzcy5lbnYuR0lUTEFCX1VTRVJfTE9HSU4gfHwgcHJvY2Vzcy5lbnYuVVNFUiB8fCAndW5rbm93bicsXG4gICAgYnVpbGROdW1iZXI6IHByb2Nlc3MuZW52LkJVSUxEX05VTUJFUiB8fCBwcm9jZXNzLmVudi5HSVRIVUJfUlVOX05VTUJFUixcbiAgICByZXBvc2l0b3J5OiBwcm9jZXNzLmVudi5HSVRIVUJfUkVQT1NJVE9SWSB8fCBwcm9jZXNzLmVudi5DSV9QUk9KRUNUX1BBVEgsXG4gICAgcGlwZWxpbmVWZXJzaW9uOiBwcm9jZXNzLmVudi5QSVBFTElORV9WRVJTSU9OXG4gIH07XG4gIFxuICAvLyBDcmVhdGUgc3RyYXRlZ3kgZnJvbSBjb25maWd1cmF0aW9uXG4gIGNvbnN0IHN0cmF0ZWd5Q29uZmlnID0gJHtzdHJhdGVneUpzb259O1xuICBjb25zdCBzdHJhdGVneSA9IG5ldyBWZXJzaW9uaW5nU3RyYXRlZ3koc3RyYXRlZ3lDb25maWcuZm9ybWF0LCBzdHJhdGVneUNvbmZpZy5jb21wb25lbnRzKTtcbiAgXG4gIC8vIENvbXB1dGUgdmVyc2lvblxuICBjb25zdCBjb21wdXRlciA9IG5ldyBWZXJzaW9uQ29tcHV0ZXIoc3RyYXRlZ3kpO1xuICBjb21wdXRlci5jb21wdXRlVmVyc2lvbkluZm8oY29udGV4dCkudGhlbih2ZXJzaW9uSW5mbyA9PiB7XG4gICAgZnMud3JpdGVGaWxlU3luYygnfnZlcnNpb24uanNvbicsIHZlcnNpb25JbmZvLnRvSnNvbigpKTtcbiAgICBjb25zb2xlLmxvZygnVmVyc2lvbiBjb21wdXRlZDonLCB2ZXJzaW9uSW5mby52ZXJzaW9uLCAnKGNvbW1pdDonLCB2ZXJzaW9uSW5mby5jb21taXRIYXNoU2hvcnQgKyAnKScpO1xuICB9KS5jYXRjaChlcnJvciA9PiB7XG4gICAgY29uc29sZS5lcnJvcignRXJyb3IgY29tcHV0aW5nIHZlcnNpb246JywgZXJyb3IubWVzc2FnZSk7XG4gICAgY29uc3QgZmFsbGJhY2sgPSB7XG4gICAgICB2ZXJzaW9uOiAnMC4wLjAnLFxuICAgICAgY29tbWl0SGFzaDogJ3Vua25vd24nLFxuICAgICAgY29tbWl0SGFzaFNob3J0OiAndW5rbm93bicsXG4gICAgICBicmFuY2g6ICd1bmtub3duJyxcbiAgICAgIGNvbW1pdENvdW50OiAwLFxuICAgICAgcGFja2FnZVZlcnNpb246ICcwLjAuMCcsXG4gICAgICBkZXBsb3llZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICBkZXBsb3llZEJ5OiAndW5rbm93bicsXG4gICAgICBlbnZpcm9ubWVudDogJ3Vua25vd24nXG4gICAgfTtcbiAgICBmcy53cml0ZUZpbGVTeW5jKCd+dmVyc2lvbi5qc29uJywgSlNPTi5zdHJpbmdpZnkoZmFsbGJhY2ssIG51bGwsIDIpKTtcbiAgfSk7XG59IGNhdGNoIChlKSB7XG4gIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIHZlcnNpb24gY29tcHV0YXRpb246JywgZS5tZXNzYWdlKTtcbiAgY29uc3QgZmFsbGJhY2sgPSB7XG4gICAgdmVyc2lvbjogJzAuMC4wJyxcbiAgICBjb21taXRIYXNoOiAndW5rbm93bicsXG4gICAgY29tbWl0SGFzaFNob3J0OiAndW5rbm93bicsXG4gICAgYnJhbmNoOiAndW5rbm93bicsXG4gICAgY29tbWl0Q291bnQ6IDAsXG4gICAgcGFja2FnZVZlcnNpb246ICcwLjAuMCcsXG4gICAgZGVwbG95ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgIGRlcGxveWVkQnk6ICd1bmtub3duJyxcbiAgICBlbnZpcm9ubWVudDogJ3Vua25vd24nXG4gIH07XG4gIGZzLndyaXRlRmlsZVN5bmMoJ352ZXJzaW9uLmpzb24nLCBKU09OLnN0cmluZ2lmeShmYWxsYmFjaywgbnVsbCwgMikpO1xufVwiYDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { GitTagConfig, PackageJsonConfig, CommitCountConfig, IVersioningStrategy, VersioningStrategyComponents, BuildNumberConfig } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Composite versioning strategy that combines multiple strategies
|
|
4
|
+
*/
|
|
5
|
+
export declare class VersioningStrategy implements IVersioningStrategy {
|
|
6
|
+
readonly format: string;
|
|
7
|
+
readonly components: VersioningStrategyComponents;
|
|
8
|
+
/**
|
|
9
|
+
* Create a composite strategy with custom format and components
|
|
10
|
+
*/
|
|
11
|
+
static create(format: string, components: VersioningStrategyComponents): VersioningStrategy;
|
|
12
|
+
/**
|
|
13
|
+
* Create a build number based strategy
|
|
14
|
+
*/
|
|
15
|
+
static buildNumber(config?: BuildNumberConfig): VersioningStrategy;
|
|
16
|
+
static gitTag(config?: GitTagConfig): VersioningStrategy;
|
|
17
|
+
static packageJson(config?: PackageJsonConfig): VersioningStrategy;
|
|
18
|
+
static commitCount(config?: CommitCountConfig): VersioningStrategy;
|
|
19
|
+
static commitHash(): VersioningStrategy;
|
|
20
|
+
private constructor();
|
|
21
|
+
}
|