mrpj 0.2.9 → 0.2.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +935 -500
- package/API.md +737 -661
- package/LICENSE +1 -1
- package/lib/components/NodeVersion.d.ts +37 -0
- package/lib/components/NodeVersion.js +70 -0
- package/lib/components/SelfMutationOnForks.js +2 -4
- package/lib/components/index.d.ts +1 -0
- package/lib/components/index.js +2 -1
- package/lib/components/private.d.ts +10 -0
- package/lib/components/private.js +3 -0
- package/lib/construct-project-options.d.ts +69 -31
- package/lib/construct-project-options.js +1 -1
- package/lib/construct-project.js +2 -4
- package/lib/features/node-version.d.ts +0 -6
- package/lib/features/node-version.js +9 -39
- package/lib/index.js +27 -5
- package/lib/logo/Logo.js +8 -4
- package/lib/logo/SvgFile.js +2 -4
- package/lib/logo/Wordmark.js +38 -5
- package/lib/projen-project-options.d.ts +59 -19
- package/lib/projen-project-options.js +1 -1
- package/lib/projen-project.js +5 -5
- package/lib/typescript-project-options.d.ts +51 -19
- package/lib/typescript-project-options.js +1 -1
- package/lib/typescript-project.js +4 -4
- package/lib/util/resources.js +36 -3
- package/package.json +41 -37
- package/resources/node-versions.json +8 -3
package/LICENSE
CHANGED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { IConstruct } from 'constructs';
|
|
2
|
+
import { Component } from 'projen';
|
|
3
|
+
export interface NodeVersionOptions {
|
|
4
|
+
/**
|
|
5
|
+
* The node version to use.
|
|
6
|
+
* Supports aliases like `lts/*`, `lts/-1`, `current`, `latest`.
|
|
7
|
+
* @default 'lts/*'
|
|
8
|
+
*/
|
|
9
|
+
readonly versionSpec?: string;
|
|
10
|
+
/**
|
|
11
|
+
* Create a .nvmrc file.
|
|
12
|
+
* @default true
|
|
13
|
+
*/
|
|
14
|
+
readonly dotNvmrc?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Create a .node-version file.
|
|
17
|
+
* @default true
|
|
18
|
+
*/
|
|
19
|
+
readonly dotNodeVersion?: boolean;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* A component that manages Node.js version files (.nvmrc, .node-version).
|
|
23
|
+
*/
|
|
24
|
+
export declare class NodeVersion extends Component {
|
|
25
|
+
/**
|
|
26
|
+
* Converts a version spec to a concrete version number.
|
|
27
|
+
* Supports aliases like `lts/*`, `lts/-1`, `lts/iron`, `current`, `latest`, `node`.
|
|
28
|
+
* @param versionSpec The version spec or alias to convert
|
|
29
|
+
* @returns The resolved major version number
|
|
30
|
+
*/
|
|
31
|
+
static specToVersion(versionSpec: string): string;
|
|
32
|
+
/**
|
|
33
|
+
* The resolved Node.js major version
|
|
34
|
+
* */
|
|
35
|
+
readonly version: string;
|
|
36
|
+
constructor(scope: IConstruct, options?: NodeVersionOptions);
|
|
37
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NodeVersion = void 0;
|
|
4
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
5
|
+
const projen_1 = require("projen");
|
|
6
|
+
const resources_1 = require("../util/resources");
|
|
7
|
+
/**
|
|
8
|
+
* A component that manages Node.js version files (.nvmrc, .node-version).
|
|
9
|
+
*/
|
|
10
|
+
class NodeVersion extends projen_1.Component {
|
|
11
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "mrpj.components.NodeVersion", version: "0.2.11" };
|
|
12
|
+
/**
|
|
13
|
+
* Converts a version spec to a concrete version number.
|
|
14
|
+
* Supports aliases like `lts/*`, `lts/-1`, `lts/iron`, `current`, `latest`, `node`.
|
|
15
|
+
* @param versionSpec The version spec or alias to convert
|
|
16
|
+
* @returns The resolved major version number
|
|
17
|
+
*/
|
|
18
|
+
static specToVersion(versionSpec) {
|
|
19
|
+
return isAlias(versionSpec) ? convertAliasToVersion(versionSpec) : versionSpec;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* The resolved Node.js major version
|
|
23
|
+
* */
|
|
24
|
+
version;
|
|
25
|
+
constructor(scope, options = {}) {
|
|
26
|
+
super(scope);
|
|
27
|
+
const versionSpec = options.versionSpec ?? 'lts/*';
|
|
28
|
+
this.version = NodeVersion.specToVersion(versionSpec);
|
|
29
|
+
const lines = [`v${this.version}`, ''];
|
|
30
|
+
if (options.dotNvmrc ?? true) {
|
|
31
|
+
new projen_1.TextFile(this.project, '.nvmrc', { lines });
|
|
32
|
+
this.project.addPackageIgnore('.nvmrc');
|
|
33
|
+
}
|
|
34
|
+
if (options.dotNodeVersion ?? true) {
|
|
35
|
+
new projen_1.TextFile(this.project, '.node-version', { lines });
|
|
36
|
+
this.project.addPackageIgnore('.node-version');
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.NodeVersion = NodeVersion;
|
|
41
|
+
function isAlias(versionSpec) {
|
|
42
|
+
return versionSpec.startsWith('lts/') || ['current', 'latest', 'node'].includes(versionSpec);
|
|
43
|
+
}
|
|
44
|
+
function getVersionFromAlias(versionSpec) {
|
|
45
|
+
const allVersions = (0, resources_1.jsonResource)('node-versions.json');
|
|
46
|
+
if (['current', 'latest', 'node'].includes(versionSpec)) {
|
|
47
|
+
return allVersions[allVersions.length - 1]?.major;
|
|
48
|
+
}
|
|
49
|
+
const ltsVersions = Object.fromEntries(allVersions
|
|
50
|
+
.filter(x => x.lts && x.stable === true)
|
|
51
|
+
.map(x => [x.lts.toLowerCase(), x]));
|
|
52
|
+
const alias = versionSpec.split('lts/')[1]?.toLowerCase();
|
|
53
|
+
const byMajor = Object.values(ltsVersions);
|
|
54
|
+
if (alias === '*') {
|
|
55
|
+
return byMajor[byMajor.length - 1]?.major;
|
|
56
|
+
}
|
|
57
|
+
const n = Number(alias);
|
|
58
|
+
if (n < 0) {
|
|
59
|
+
return byMajor[byMajor.length - 1 + n]?.major;
|
|
60
|
+
}
|
|
61
|
+
return ltsVersions[alias]?.major;
|
|
62
|
+
}
|
|
63
|
+
function convertAliasToVersion(versionSpec) {
|
|
64
|
+
const version = getVersionFromAlias(versionSpec);
|
|
65
|
+
if (!version) {
|
|
66
|
+
throw new Error(`Could not find Node.js version for alias: ${versionSpec}`);
|
|
67
|
+
}
|
|
68
|
+
return version;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm9kZVZlcnNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9Ob2RlVmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsbUNBQTZDO0FBRTdDLGlEQUFpRDtBQXFCakQ7O0dBRUc7QUFDSCxNQUFhLFdBQVksU0FBUSxrQkFBUzs7SUFFeEM7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsYUFBYSxDQUFDLFdBQW1CO1FBQzdDLE9BQU8sT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO0lBQ2pGLENBQUM7SUFFRDs7U0FFSztJQUNXLE9BQU8sQ0FBUztJQUVoQyxZQUFtQixLQUFpQixFQUFFLFVBQThCLEVBQUU7UUFDcEUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWIsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsSUFBSSxPQUFPLENBQUM7UUFDbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXRELE1BQU0sS0FBSyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFdkMsSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQzdCLElBQUksaUJBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsY0FBYyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ25DLElBQUksaUJBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDdkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNqRCxDQUFDO0lBQ0gsQ0FBQzs7QUFqQ0gsa0NBa0NDO0FBR0QsU0FBUyxPQUFPLENBQUMsV0FBbUI7SUFDbEMsT0FBTyxXQUFXLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDL0YsQ0FBQztBQUVELFNBQVMsbUJBQW1CLENBQUMsV0FBbUI7SUFDOUMsTUFBTSxXQUFXLEdBQUcsSUFBQSx3QkFBWSxFQUFvQixvQkFBb0IsQ0FBQyxDQUFDO0lBRTFFLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1FBQ3hELE9BQU8sV0FBVyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDO0lBQ25ELENBQUM7SUFFRCxNQUFNLFdBQVcsR0FBb0MsTUFBTSxDQUFDLFdBQVcsQ0FBQyxXQUFXO1NBQ2hGLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUM7U0FDdkMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUV4QyxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBRTFELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDM0MsSUFBSSxLQUFLLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDbEIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUM7SUFDM0MsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNWLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQztJQUMvQyxDQUFDO0lBRUQsT0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDO0FBQ25DLENBQUM7QUFFRCxTQUFTLHFCQUFxQixDQUFDLFdBQW1CO0lBQ2hELE1BQU0sT0FBTyxHQUFHLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2pELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IElDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IENvbXBvbmVudCwgVGV4dEZpbGUgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHR5cGUgeyBOb2RlVmVyc2lvblNwZWMgfSBmcm9tICcuL3ByaXZhdGUnO1xuaW1wb3J0IHsganNvblJlc291cmNlIH0gZnJvbSAnLi4vdXRpbC9yZXNvdXJjZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5vZGVWZXJzaW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbm9kZSB2ZXJzaW9uIHRvIHVzZS5cbiAgICogU3VwcG9ydHMgYWxpYXNlcyBsaWtlIGBsdHMvKmAsIGBsdHMvLTFgLCBgY3VycmVudGAsIGBsYXRlc3RgLlxuICAgKiBAZGVmYXVsdCAnbHRzLyonXG4gICAqL1xuICByZWFkb25seSB2ZXJzaW9uU3BlYz86IHN0cmluZztcbiAgLyoqXG4gICAqIENyZWF0ZSBhIC5udm1yYyBmaWxlLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBkb3ROdm1yYz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDcmVhdGUgYSAubm9kZS12ZXJzaW9uIGZpbGUuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGRvdE5vZGVWZXJzaW9uPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBBIGNvbXBvbmVudCB0aGF0IG1hbmFnZXMgTm9kZS5qcyB2ZXJzaW9uIGZpbGVzICgubnZtcmMsIC5ub2RlLXZlcnNpb24pLlxuICovXG5leHBvcnQgY2xhc3MgTm9kZVZlcnNpb24gZXh0ZW5kcyBDb21wb25lbnQge1xuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhIHZlcnNpb24gc3BlYyB0byBhIGNvbmNyZXRlIHZlcnNpb24gbnVtYmVyLlxuICAgKiBTdXBwb3J0cyBhbGlhc2VzIGxpa2UgYGx0cy8qYCwgYGx0cy8tMWAsIGBsdHMvaXJvbmAsIGBjdXJyZW50YCwgYGxhdGVzdGAsIGBub2RlYC5cbiAgICogQHBhcmFtIHZlcnNpb25TcGVjIFRoZSB2ZXJzaW9uIHNwZWMgb3IgYWxpYXMgdG8gY29udmVydFxuICAgKiBAcmV0dXJucyBUaGUgcmVzb2x2ZWQgbWFqb3IgdmVyc2lvbiBudW1iZXJcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc3BlY1RvVmVyc2lvbih2ZXJzaW9uU3BlYzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gaXNBbGlhcyh2ZXJzaW9uU3BlYykgPyBjb252ZXJ0QWxpYXNUb1ZlcnNpb24odmVyc2lvblNwZWMpIDogdmVyc2lvblNwZWM7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHJlc29sdmVkIE5vZGUuanMgbWFqb3IgdmVyc2lvblxuICAgKiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihzY29wZTogSUNvbnN0cnVjdCwgb3B0aW9uczogTm9kZVZlcnNpb25PcHRpb25zID0ge30pIHtcbiAgICBzdXBlcihzY29wZSk7XG5cbiAgICBjb25zdCB2ZXJzaW9uU3BlYyA9IG9wdGlvbnMudmVyc2lvblNwZWMgPz8gJ2x0cy8qJztcbiAgICB0aGlzLnZlcnNpb24gPSBOb2RlVmVyc2lvbi5zcGVjVG9WZXJzaW9uKHZlcnNpb25TcGVjKTtcblxuICAgIGNvbnN0IGxpbmVzID0gW2B2JHt0aGlzLnZlcnNpb259YCwgJyddO1xuXG4gICAgaWYgKG9wdGlvbnMuZG90TnZtcmMgPz8gdHJ1ZSkge1xuICAgICAgbmV3IFRleHRGaWxlKHRoaXMucHJvamVjdCwgJy5udm1yYycsIHsgbGluZXMgfSk7XG4gICAgICB0aGlzLnByb2plY3QuYWRkUGFja2FnZUlnbm9yZSgnLm52bXJjJyk7XG4gICAgfVxuICAgIGlmIChvcHRpb25zLmRvdE5vZGVWZXJzaW9uID8/IHRydWUpIHtcbiAgICAgIG5ldyBUZXh0RmlsZSh0aGlzLnByb2plY3QsICcubm9kZS12ZXJzaW9uJywgeyBsaW5lcyB9KTtcbiAgICAgIHRoaXMucHJvamVjdC5hZGRQYWNrYWdlSWdub3JlKCcubm9kZS12ZXJzaW9uJyk7XG4gICAgfVxuICB9XG59XG5cblxuZnVuY3Rpb24gaXNBbGlhcyh2ZXJzaW9uU3BlYzogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiB2ZXJzaW9uU3BlYy5zdGFydHNXaXRoKCdsdHMvJykgfHwgWydjdXJyZW50JywgJ2xhdGVzdCcsICdub2RlJ10uaW5jbHVkZXModmVyc2lvblNwZWMpO1xufVxuXG5mdW5jdGlvbiBnZXRWZXJzaW9uRnJvbUFsaWFzKHZlcnNpb25TcGVjOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCBhbGxWZXJzaW9ucyA9IGpzb25SZXNvdXJjZTxOb2RlVmVyc2lvblNwZWNbXT4oJ25vZGUtdmVyc2lvbnMuanNvbicpO1xuXG4gIGlmIChbJ2N1cnJlbnQnLCAnbGF0ZXN0JywgJ25vZGUnXS5pbmNsdWRlcyh2ZXJzaW9uU3BlYykpIHtcbiAgICByZXR1cm4gYWxsVmVyc2lvbnNbYWxsVmVyc2lvbnMubGVuZ3RoIC0xXT8ubWFqb3I7XG4gIH1cblxuICBjb25zdCBsdHNWZXJzaW9uczogUmVjb3JkPHN0cmluZywgTm9kZVZlcnNpb25TcGVjPiA9IE9iamVjdC5mcm9tRW50cmllcyhhbGxWZXJzaW9uc1xuICAgIC5maWx0ZXIoeCA9PiB4Lmx0cyAmJiB4LnN0YWJsZSA9PT0gdHJ1ZSlcbiAgICAubWFwKHggPT4gW3gubHRzIS50b0xvd2VyQ2FzZSgpLCB4XSkpO1xuXG4gIGNvbnN0IGFsaWFzID0gdmVyc2lvblNwZWMuc3BsaXQoJ2x0cy8nKVsxXT8udG9Mb3dlckNhc2UoKTtcblxuICBjb25zdCBieU1ham9yID0gT2JqZWN0LnZhbHVlcyhsdHNWZXJzaW9ucyk7XG4gIGlmIChhbGlhcyA9PT0gJyonKSB7XG4gICAgcmV0dXJuIGJ5TWFqb3JbYnlNYWpvci5sZW5ndGggLTFdPy5tYWpvcjtcbiAgfVxuXG4gIGNvbnN0IG4gPSBOdW1iZXIoYWxpYXMpO1xuICBpZiAobiA8IDApIHtcbiAgICByZXR1cm4gYnlNYWpvcltieU1ham9yLmxlbmd0aCAtMSArIG5dPy5tYWpvcjtcbiAgfVxuXG4gIHJldHVybiBsdHNWZXJzaW9uc1thbGlhc10/Lm1ham9yO1xufVxuXG5mdW5jdGlvbiBjb252ZXJ0QWxpYXNUb1ZlcnNpb24odmVyc2lvblNwZWM6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IHZlcnNpb24gPSBnZXRWZXJzaW9uRnJvbUFsaWFzKHZlcnNpb25TcGVjKTtcbiAgaWYgKCF2ZXJzaW9uKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgZmluZCBOb2RlLmpzIHZlcnNpb24gZm9yIGFsaWFzOiAke3ZlcnNpb25TcGVjfWApO1xuICB9XG5cbiAgcmV0dXJuIHZlcnNpb247XG59XG4iXX0=
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a;
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.SelfMutationOnForks = void 0;
|
|
5
4
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
@@ -20,6 +19,7 @@ const projen_1 = require("projen");
|
|
|
20
19
|
* This enables automated fixes for common projen-related issues on fork PRs.
|
|
21
20
|
*/
|
|
22
21
|
class SelfMutationOnForks {
|
|
22
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "mrpj.components.SelfMutationOnForks", version: "0.2.11" };
|
|
23
23
|
constructor(project, options = {}) {
|
|
24
24
|
const cicd = projen_1.github.GitHub.of(project);
|
|
25
25
|
if (!cicd)
|
|
@@ -93,9 +93,7 @@ class SelfMutationOnForks {
|
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
exports.SelfMutationOnForks = SelfMutationOnForks;
|
|
96
|
-
_a = JSII_RTTI_SYMBOL_1;
|
|
97
|
-
SelfMutationOnForks[_a] = { fqn: "mrpj.components.SelfMutationOnForks", version: "0.2.9" };
|
|
98
96
|
function conditionalSteps(cond, ...steps) {
|
|
99
97
|
return steps.flatMap(s => s).map(s => ({ ...s, if: s.if ?? cond }));
|
|
100
98
|
}
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VsZk11dGF0aW9uT25Gb3Jrcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL1NlbGZNdXRhdGlvbk9uRm9ya3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUNBLG1DQUEyQztBQWEzQzs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQWEsbUJBQW1COztJQUM5QixZQUFZLE9BQWdCLEVBQUUsVUFBc0MsRUFBRTtRQUNwRSxNQUFNLElBQUksR0FBRyxlQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFFbEIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsYUFBYTtZQUFFLE9BQU87UUFFM0IsK0NBQStDO1FBQy9DLGFBQWEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUN2QixrQkFBUyxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUN4QyxDQUFDO1FBRUYsb0VBQW9FO1FBQ3BFLCtEQUErRDtRQUMvRCxNQUFNLFlBQVksR0FBRyxJQUFJLEVBQUUsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hELFlBQVksRUFBRSxFQUFFLENBQUM7WUFDZixXQUFXLEVBQUU7Z0JBQ1gsU0FBUyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztnQkFDL0IsS0FBSyxFQUFFLENBQUMsV0FBVyxDQUFDO2FBQ3JCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsWUFBWSxFQUFFLE1BQU0sQ0FBQyxlQUFlLEVBQUU7WUFDcEMsTUFBTSxFQUFFLENBQUMsZUFBZSxDQUFDO1lBQ3pCLEVBQUUsRUFBRSx3R0FBd0c7WUFDNUcsV0FBVyxFQUFFO2dCQUNYLFFBQVEsRUFBRSxlQUFNLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxJQUFJO2FBQzlDO1lBQ0QsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXO1lBQ2hDLEtBQUssRUFBRTtnQkFDTDtvQkFDRSxJQUFJLEVBQUUsZ0JBQWdCO29CQUN0QixFQUFFLEVBQUUsZ0JBQWdCO29CQUNwQixlQUFlLEVBQUUsSUFBSTtvQkFDckIsSUFBSSxFQUFFLDJFQUEyRTtvQkFDakYsSUFBSSxFQUFFO3dCQUNKLE1BQU0sRUFBRSxxQ0FBcUM7d0JBQzdDLElBQUksRUFBRSxZQUFZO3dCQUNsQixJQUFJLEVBQUUsb0JBQW9CO3FCQUMzQjtpQkFDRjtnQkFDRCxHQUFHLGdCQUFnQixDQUNqQiw2Q0FBNkMsRUFDN0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFDakMsZUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7b0JBQzVCLElBQUksRUFBRSxhQUFhO29CQUNuQixJQUFJLEVBQUU7d0JBQ0osVUFBVSxFQUFFLDREQUE0RDt3QkFDeEUsR0FBRyxFQUFFLDhDQUE4Qzt3QkFDbkQsS0FBSyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRO3FCQUN2QztpQkFDRixDQUFDLEVBQ0Y7b0JBQ0UsSUFBSSxFQUFFLG1CQUFtQjtvQkFDekIsR0FBRyxFQUFFO3dCQUNILFFBQVE7d0JBQ1IsbURBQW1EO3dCQUNuRCwrQkFBK0I7d0JBQy9CLFVBQVU7d0JBQ1YsSUFBSTt3QkFDSiw0Q0FBNEM7d0JBQzVDLHNFQUFzRTt3QkFDdEUsNERBQTREO3dCQUM1RCwwQ0FBMEM7d0JBQzFDLFVBQVU7d0JBQ1YsSUFBSTt3QkFDSix5Q0FBeUM7d0JBQ3pDLDZDQUE2Qzt3QkFDN0MsK0JBQStCO3dCQUMvQixVQUFVO3dCQUNWLElBQUk7d0JBQ0osV0FBVzt3QkFDWCx5Q0FBeUM7d0JBQ3pDLFVBQVU7cUJBQ1gsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2lCQUNiLENBQ0Y7YUFDRjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBaEZILGtEQWlGQztBQUVELFNBQVMsZ0JBQWdCLENBQUMsSUFBWSxFQUFFLEdBQUcsS0FBbUU7SUFDNUcsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztBQUN0RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQcm9qZWN0IH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IEpzb25QYXRjaCwgZ2l0aHViIH0gZnJvbSAncHJvamVuJztcblxuLyoqXG4gKiBPcHRpb25zIGZvciBjb25maWd1cmluZyBzZWxmLW11dGF0aW9uIGJlaGF2aW9yIG9uIGZvcmtzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZk11dGF0aW9uT25Gb3Jrc09wdGlvbnMge1xuICAvKipcbiAgICogRW52aXJvbm1lbnQgbmFtZSB0byB1c2UgZm9yIHRoZSB3b3JrZmxvd1xuICAgKiBAZGVmYXVsdCAtIG5vIGVudmlyb25tZW50IHNwZWNpZmllZFxuICAgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29uZmlndXJlcyBHaXRIdWIgd29ya2Zsb3dzIHRvIGVuYWJsZSBzZWxmLW11dGF0aW9uIG9uIGZvcmsgcHVsbCByZXF1ZXN0cy5cbiAqXG4gKiBUaGlzIGNsYXNzIHNldHMgdXAgYSB3b3JrZmxvdyB0aGF0IHdpbGwgYXV0b21hdGljYWxseSBhcHBseSBwcm9qZW4tZ2VuZXJhdGVkIGNoYW5nZXNcbiAqIHdoZW4gYSBidWlsZCBmYWlscyBkdWUgdG8gb3V0ZGF0ZWQgZ2VuZXJhdGVkIGZpbGVzLiBUaGUgd29ya2Zsb3c6XG4gKlxuICogMS4gUnVucyB3aGVuIHRoZSBidWlsZCB3b3JrZmxvdyBmYWlscyBvbiBhIFBSXG4gKiAyLiBEb3dubG9hZHMgYW55IHBhdGNoIGZpbGUgZ2VuZXJhdGVkIGR1cmluZyB0aGUgZmFpbGVkIGJ1aWxkXG4gKiAzLiBBdXRoZW50aWNhdGVzIHVzaW5nIEdpdEh1YiBBcHAgY3JlZGVudGlhbHNcbiAqIDQuIENoZWNrcyBvdXQgdGhlIFBSIGJyYW5jaFxuICogNS4gQXBwbGllcyB0aGUgcGF0Y2ggaWYgaXQgZXhpc3RzIGFuZCBjYW4gYmUgYXBwbGllZCBjbGVhbmx5XG4gKiA2LiBDb21taXRzIGFuZCBwdXNoZXMgdGhlIGNoYW5nZXMgYmFjayB0byB0aGUgUFJcbiAqXG4gKiBUaGlzIGVuYWJsZXMgYXV0b21hdGVkIGZpeGVzIGZvciBjb21tb24gcHJvamVuLXJlbGF0ZWQgaXNzdWVzIG9uIGZvcmsgUFJzLlxuICovXG5leHBvcnQgY2xhc3MgU2VsZk11dGF0aW9uT25Gb3JrcyB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IFNlbGZNdXRhdGlvbk9uRm9ya3NPcHRpb25zID0ge30pIHtcbiAgICBjb25zdCBjaWNkID0gZ2l0aHViLkdpdEh1Yi5vZihwcm9qZWN0KTtcbiAgICBpZiAoIWNpY2QpIHJldHVybjtcblxuICAgIGNvbnN0IGJ1aWxkV29ya2Zsb3cgPSBjaWNkLnRyeUZpbmRXb3JrZmxvdygnYnVpbGQnKTtcbiAgICBpZiAoIWJ1aWxkV29ya2Zsb3cpIHJldHVybjtcblxuICAgIC8vIFVwZGF0ZSBjb25kaXRpb24gdG8gcnVuIG9uIGFsbCBwdWxsIHJlcXVlc3RzXG4gICAgYnVpbGRXb3JrZmxvdy5maWxlPy5wYXRjaChcbiAgICAgIEpzb25QYXRjaC5yZW1vdmUoJy9qb2JzL3NlbGYtbXV0YXRpb24nKSxcbiAgICApO1xuXG4gICAgLy8gQWRkIGEgbmV3IHNlbGYgbXV0YXRpb24gd29ya2Zsb3cgdGhhdCBydW5zIG9uIGNvbXBsZXRpb24gb2YgYnVpbGRcbiAgICAvLyBhbmQgaWYgdGhlIGJ1aWxkIGZhaWxlZCBhbmQgdGhlcmUgaXMgYSBwYXRjaCwgdXBkYXRlcyB0aGUgUFJcbiAgICBjb25zdCBzZWxmTXV0YXRpb24gPSBjaWNkPy5hZGRXb3JrZmxvdygnc2VsZi1tdXRhdGlvbicpO1xuICAgIHNlbGZNdXRhdGlvbj8ub24oe1xuICAgICAgd29ya2Zsb3dSdW46IHtcbiAgICAgICAgd29ya2Zsb3dzOiBbYnVpbGRXb3JrZmxvdy5uYW1lXSxcbiAgICAgICAgdHlwZXM6IFsnY29tcGxldGVkJ10sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgc2VsZk11dGF0aW9uPy5hZGRKb2IoJ3NlbGYtbXV0YXRpb24nLCB7XG4gICAgICBydW5zT246IFsndWJ1bnR1LWxhdGVzdCddLFxuICAgICAgaWY6IFwiZ2l0aHViLmV2ZW50LndvcmtmbG93X3J1bi5jb25jbHVzaW9uID09ICdmYWlsdXJlJyAmJiBnaXRodWIuZXZlbnQud29ya2Zsb3dfcnVuLmV2ZW50ID09ICdwdWxsX3JlcXVlc3QnXCIsXG4gICAgICBwZXJtaXNzaW9uczoge1xuICAgICAgICBjb250ZW50czogZ2l0aHViLndvcmtmbG93cy5Kb2JQZXJtaXNzaW9uLlJFQUQsXG4gICAgICB9LFxuICAgICAgZW52aXJvbm1lbnQ6IG9wdGlvbnMuZW52aXJvbm1lbnQsXG4gICAgICBzdGVwczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ0Rvd25sb2FkIHBhdGNoJyxcbiAgICAgICAgICBpZDogJ2Rvd25sb2FkX3BhdGNoJyxcbiAgICAgICAgICBjb250aW51ZU9uRXJyb3I6IHRydWUsXG4gICAgICAgICAgdXNlczogJ2Rhd2lkZDYvYWN0aW9uLWRvd25sb2FkLWFydGlmYWN0QGFjNjZiNDNmMGU2YTM0NjIzNGRkNjVkNGQwYzhmYmIzMWNiMzE2ZTUnLFxuICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgIHJ1bl9pZDogJyR7eyBnaXRodWIuZXZlbnQud29ya2Zsb3dfcnVuLmlkIH19JyxcbiAgICAgICAgICAgIG5hbWU6ICdyZXBvLnBhdGNoJyxcbiAgICAgICAgICAgIHBhdGg6ICcke3sgcnVubmVyLnRlbXAgfX0nLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIC4uLmNvbmRpdGlvbmFsU3RlcHMoXG4gICAgICAgICAgJ3N0ZXBzLmRvd25sb2FkX3BhdGNoLm91dGNvbWUgPT0gXFwnc3VjY2Vzc1xcJycsXG4gICAgICAgICAgY2ljZC5wcm9qZW5DcmVkZW50aWFscy5zZXR1cFN0ZXBzLFxuICAgICAgICAgIGdpdGh1Yi5Xb3JrZmxvd1N0ZXBzLmNoZWNrb3V0KHtcbiAgICAgICAgICAgIG5hbWU6ICdDaGVja291dCBQUicsXG4gICAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICAgIHJlcG9zaXRvcnk6ICcke3sgZ2l0aHViLmV2ZW50LndvcmtmbG93X3J1bi5oZWFkX3JlcG9zaXRvcnkuZnVsbF9uYW1lIH19JyxcbiAgICAgICAgICAgICAgcmVmOiAnJHt7IGdpdGh1Yi5ldmVudC53b3JrZmxvd19ydW4uaGVhZF9icmFuY2ggfX0nLFxuICAgICAgICAgICAgICB0b2tlbjogY2ljZC5wcm9qZW5DcmVkZW50aWFscy50b2tlblJlZixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSksXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ0FwcGx5IHBhdGNoIHRvIFBSJyxcbiAgICAgICAgICAgIHJ1bjogW1xuICAgICAgICAgICAgICAnc2V0IC1lJyxcbiAgICAgICAgICAgICAgJ2lmIFsgISAtZiBcIiR7eyBydW5uZXIudGVtcCB9fS9yZXBvLnBhdGNoXCIgXTsgdGhlbicsXG4gICAgICAgICAgICAgICcgIGVjaG8gXCJQYXRjaCBmaWxlIG5vdCBmb3VuZFwiJyxcbiAgICAgICAgICAgICAgJyAgZXhpdCAxJyxcbiAgICAgICAgICAgICAgJ2ZpJyxcbiAgICAgICAgICAgICAgJ2dpdCBjb25maWcgdXNlci5uYW1lIFwiZ2l0aHViLWFjdGlvbnNbYm90XVwiJyxcbiAgICAgICAgICAgICAgJ2dpdCBjb25maWcgdXNlci5lbWFpbCBcImdpdGh1Yi1hY3Rpb25zW2JvdF1AdXNlcnMubm9yZXBseS5naXRodWIuY29tXCInLFxuICAgICAgICAgICAgICAnaWYgISBnaXQgYXBwbHkgLS1jaGVjayAke3sgcnVubmVyLnRlbXAgfX0vcmVwby5wYXRjaDsgdGhlbicsXG4gICAgICAgICAgICAgICcgIGVjaG8gXCJQYXRjaCBjYW5ub3QgYmUgYXBwbGllZCBjbGVhbmx5XCInLFxuICAgICAgICAgICAgICAnICBleGl0IDEnLFxuICAgICAgICAgICAgICAnZmknLFxuICAgICAgICAgICAgICAnZ2l0IGFwcGx5ICR7eyBydW5uZXIudGVtcCB9fS9yZXBvLnBhdGNoJyxcbiAgICAgICAgICAgICAgJ2lmIFsgLXogXCIkKGdpdCBzdGF0dXMgLS1wb3JjZWxhaW4pXCIgXTsgdGhlbicsXG4gICAgICAgICAgICAgICcgIGVjaG8gXCJObyBjaGFuZ2VzIHRvIGNvbW1pdFwiJyxcbiAgICAgICAgICAgICAgJyAgZXhpdCAwJyxcbiAgICAgICAgICAgICAgJ2ZpJyxcbiAgICAgICAgICAgICAgJ2dpdCBhZGQgLicsXG4gICAgICAgICAgICAgICdnaXQgY29tbWl0IC1zIC1tIFwiY2hvcmU6IHNlbGYgbXV0YXRpb25cIicsXG4gICAgICAgICAgICAgICdnaXQgcHVzaCcsXG4gICAgICAgICAgICBdLmpvaW4oJ1xcbicpLFxuICAgICAgICAgIH0sXG4gICAgICAgICksXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvbmRpdGlvbmFsU3RlcHMoY29uZDogc3RyaW5nLCAuLi5zdGVwczogQXJyYXk8Z2l0aHViLndvcmtmbG93cy5Kb2JTdGVwIHwgZ2l0aHViLndvcmtmbG93cy5Kb2JTdGVwW10+KTogZ2l0aHViLndvcmtmbG93cy5Kb2JTdGVwW10ge1xuICByZXR1cm4gc3RlcHMuZmxhdE1hcChzID0+IHMpLm1hcChzID0+ICh7IC4uLnMsIGlmOiBzLmlmID8/IGNvbmQgfSkpO1xufVxuIl19
|
package/lib/components/index.js
CHANGED
|
@@ -14,5 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./NodeVersion"), exports);
|
|
17
18
|
__exportStar(require("./SelfMutationOnForks"), exports);
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0RBQThCO0FBQzlCLHdEQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vTm9kZVZlcnNpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9TZWxmTXV0YXRpb25PbkZvcmtzJztcbiJdfQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface NodeVersionSpec {
|
|
2
|
+
/** The major version number */
|
|
3
|
+
readonly major: string;
|
|
4
|
+
/** The full version string */
|
|
5
|
+
readonly version: string;
|
|
6
|
+
/** Whether this version is stable */
|
|
7
|
+
readonly stable?: boolean;
|
|
8
|
+
/** The LTS codename, if applicable */
|
|
9
|
+
readonly lts?: string;
|
|
10
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3ByaXZhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTm9kZVZlcnNpb25TcGVjIHtcbiAgLyoqIFRoZSBtYWpvciB2ZXJzaW9uIG51bWJlciAqL1xuICByZWFkb25seSBtYWpvcjogc3RyaW5nO1xuICAvKiogVGhlIGZ1bGwgdmVyc2lvbiBzdHJpbmcgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xuICAvKiogV2hldGhlciB0aGlzIHZlcnNpb24gaXMgc3RhYmxlICovXG4gIHJlYWRvbmx5IHN0YWJsZT86IGJvb2xlYW47XG4gIC8qKiBUaGUgTFRTIGNvZGVuYW1lLCBpZiBhcHBsaWNhYmxlICovXG4gIHJlYWRvbmx5IGx0cz86IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -3,6 +3,12 @@ import type { awscdk, cdk, github, GitOptions, GroupRunnerOptions, IgnoreFileOpt
|
|
|
3
3
|
* ConstructProjectOptions
|
|
4
4
|
*/
|
|
5
5
|
export interface ConstructProjectOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Automatically adds an `awscdk.SingletonFunction` for each `.singleton-lambda.ts` handler in your source tree. If this is disabled, you can manually add an `awscdk.AutoDiscover` component to your project.
|
|
8
|
+
* @default true
|
|
9
|
+
* @stability stable
|
|
10
|
+
*/
|
|
11
|
+
readonly singletonLambdaAutoDiscover?: boolean;
|
|
6
12
|
/**
|
|
7
13
|
* Common options for all AWS Lambda functions.
|
|
8
14
|
* @default - default options
|
|
@@ -42,7 +48,7 @@ export interface ConstructProjectOptions {
|
|
|
42
48
|
/**
|
|
43
49
|
* Minimum version of the `constructs` library to depend on.
|
|
44
50
|
* @default - for CDK 1.x the default is "3.2.27", for CDK 2.x the default is
|
|
45
|
-
"10.
|
|
51
|
+
"10.5.1".
|
|
46
52
|
* @stability stable
|
|
47
53
|
*/
|
|
48
54
|
readonly constructsVersion?: string;
|
|
@@ -63,17 +69,9 @@ export interface ConstructProjectOptions {
|
|
|
63
69
|
* @stability stable
|
|
64
70
|
*/
|
|
65
71
|
readonly cdkCliVersion?: string;
|
|
66
|
-
/**
|
|
67
|
-
* Install the assertions library?
|
|
68
|
-
* Only needed for CDK 1.x. If using CDK 2.x then
|
|
69
|
-
* assertions is already included in 'aws-cdk-lib'
|
|
70
|
-
* @default - will be included by default for AWS CDK >= 1.111.0 < 2.0.0
|
|
71
|
-
* @stability stable
|
|
72
|
-
*/
|
|
73
|
-
readonly cdkAssertions?: boolean;
|
|
74
72
|
/**
|
|
75
73
|
* Minimum version of the AWS CDK to depend on.
|
|
76
|
-
* @default "2.1
|
|
74
|
+
* @default "2.189.1"
|
|
77
75
|
* @stability stable
|
|
78
76
|
*/
|
|
79
77
|
readonly cdkVersion: string;
|
|
@@ -91,6 +89,14 @@ export interface ConstructProjectOptions {
|
|
|
91
89
|
* @stability stable
|
|
92
90
|
*/
|
|
93
91
|
readonly catalog?: cdk.Catalog;
|
|
92
|
+
/**
|
|
93
|
+
* Level of tsconfig validation jsii should perform on the user-provided tsconfig.
|
|
94
|
+
* Only relevant when the project synthesizes its own tsconfig
|
|
95
|
+
* (i.e. `disableTsconfig` is not set on the TypeScriptProject).
|
|
96
|
+
* @default ValidateTsconfig.STRICT
|
|
97
|
+
* @stability stable
|
|
98
|
+
*/
|
|
99
|
+
readonly validateTsconfig?: cdk.ValidateTsconfig;
|
|
94
100
|
/**
|
|
95
101
|
* @default "."
|
|
96
102
|
* @stability stable
|
|
@@ -128,9 +134,9 @@ export interface ConstructProjectOptions {
|
|
|
128
134
|
* NOTE: The jsii compiler releases since 5.0.0 are not semantically versioned
|
|
129
135
|
* and should remain on the same minor, so we recommend using a `~` dependency
|
|
130
136
|
* (e.g. `~5.0.0`).
|
|
131
|
-
* @default "~5.
|
|
137
|
+
* @default "~5.9.0"
|
|
132
138
|
* @stability stable
|
|
133
|
-
* @pjnew "~
|
|
139
|
+
* @pjnew "~6.0.0"
|
|
134
140
|
*/
|
|
135
141
|
readonly jsiiVersion?: string;
|
|
136
142
|
/**
|
|
@@ -428,7 +434,7 @@ export interface ConstructProjectOptions {
|
|
|
428
434
|
/**
|
|
429
435
|
* Use tasks and github workflows to handle dependency upgrades.
|
|
430
436
|
* Cannot be used in conjunction with `dependabot`.
|
|
431
|
-
* @default true
|
|
437
|
+
* @default - `true` for root projects, `false` for subprojects
|
|
432
438
|
* @stability stable
|
|
433
439
|
*/
|
|
434
440
|
readonly depsUpgrade?: boolean;
|
|
@@ -445,6 +451,13 @@ export interface ConstructProjectOptions {
|
|
|
445
451
|
* @stability stable
|
|
446
452
|
*/
|
|
447
453
|
readonly dependabot?: boolean;
|
|
454
|
+
/**
|
|
455
|
+
* The name of the main release branch.
|
|
456
|
+
* @default "main"
|
|
457
|
+
* @stability stable
|
|
458
|
+
* @featured true
|
|
459
|
+
*/
|
|
460
|
+
readonly defaultReleaseBranch?: string;
|
|
448
461
|
/**
|
|
449
462
|
* The copyright years to put in the LICENSE file.
|
|
450
463
|
* @default - current year
|
|
@@ -505,7 +518,7 @@ export interface ConstructProjectOptions {
|
|
|
505
518
|
*/
|
|
506
519
|
readonly biome?: boolean;
|
|
507
520
|
/**
|
|
508
|
-
* Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if
|
|
521
|
+
* Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configured).
|
|
509
522
|
* Throw if set to true but `autoApproveOptions` are not defined.
|
|
510
523
|
* @default - true
|
|
511
524
|
* @stability stable
|
|
@@ -532,12 +545,6 @@ export interface ConstructProjectOptions {
|
|
|
532
545
|
* @stability stable
|
|
533
546
|
*/
|
|
534
547
|
readonly artifactsDirectory?: string;
|
|
535
|
-
/**
|
|
536
|
-
* The name of the main release branch.
|
|
537
|
-
* @default "main"
|
|
538
|
-
* @stability stable
|
|
539
|
-
*/
|
|
540
|
-
readonly defaultReleaseBranch: string;
|
|
541
548
|
/**
|
|
542
549
|
* Github Runner Group selection options.
|
|
543
550
|
* @stability stable
|
|
@@ -761,7 +768,7 @@ export interface ConstructProjectOptions {
|
|
|
761
768
|
readonly repository?: string;
|
|
762
769
|
/**
|
|
763
770
|
* The version of PNPM to use if using PNPM as a package manager.
|
|
764
|
-
* @default "
|
|
771
|
+
* @default "10.33.0"
|
|
765
772
|
* @stability stable
|
|
766
773
|
*/
|
|
767
774
|
readonly pnpmVersion?: string;
|
|
@@ -798,8 +805,9 @@ export interface ConstructProjectOptions {
|
|
|
798
805
|
readonly packageName?: string;
|
|
799
806
|
/**
|
|
800
807
|
* The Node Package Manager used to execute scripts.
|
|
801
|
-
* @default
|
|
808
|
+
* @default - Detected from the calling process or `YARN_CLASSIC` if detection fails.
|
|
802
809
|
* @stability stable
|
|
810
|
+
* @pjnew $PACKAGE_MANAGER
|
|
803
811
|
*/
|
|
804
812
|
readonly packageManager?: javascript.NodePackageManager;
|
|
805
813
|
/**
|
|
@@ -897,6 +905,14 @@ export interface ConstructProjectOptions {
|
|
|
897
905
|
* @stability stable
|
|
898
906
|
*/
|
|
899
907
|
readonly entrypoint?: string;
|
|
908
|
+
/**
|
|
909
|
+
* Configure the `devEngines` field in `package.json`.
|
|
910
|
+
* The `devEngines.packageManager` field is automatically populated based on
|
|
911
|
+
* the resolved `packageManager` value. Any fields provided here are merged
|
|
912
|
+
* with the auto-populated `packageManager` entry.
|
|
913
|
+
* @stability stable
|
|
914
|
+
*/
|
|
915
|
+
readonly devEngines?: javascript.DevEngines;
|
|
900
916
|
/**
|
|
901
917
|
* Build dependencies for this module.
|
|
902
918
|
* These dependencies will only be
|
|
@@ -904,11 +920,11 @@ export interface ConstructProjectOptions {
|
|
|
904
920
|
* module is consumed.
|
|
905
921
|
*
|
|
906
922
|
* The recommendation is to only specify the module name here (e.g.
|
|
907
|
-
* `express`). This will behave similar to `
|
|
923
|
+
* `express`). This will behave similar to `pnpm add` or `npm install` in the
|
|
908
924
|
* sense that it will add the module as a dependency to your `package.json`
|
|
909
925
|
* file with the latest version (`^`). You can specify semver requirements in
|
|
910
|
-
* the same syntax passed to `
|
|
911
|
-
* this will be what
|
|
926
|
+
* the same syntax passed to `pnpm add` or `npm i` (e.g. `express@^2`) and
|
|
927
|
+
* this will be what your `package.json` will eventually include.
|
|
912
928
|
* @default []
|
|
913
929
|
* @stability stable
|
|
914
930
|
* @featured true
|
|
@@ -925,16 +941,26 @@ export interface ConstructProjectOptions {
|
|
|
925
941
|
/**
|
|
926
942
|
* Runtime dependencies of this module.
|
|
927
943
|
* The recommendation is to only specify the module name here (e.g.
|
|
928
|
-
* `express`). This will behave similar to `
|
|
944
|
+
* `express`). This will behave similar to `pnpm add` or `npm install` in the
|
|
929
945
|
* sense that it will add the module as a dependency to your `package.json`
|
|
930
946
|
* file with the latest version (`^`). You can specify semver requirements in
|
|
931
|
-
* the same syntax passed to `
|
|
932
|
-
* this will be what
|
|
947
|
+
* the same syntax passed to `pnpm add` or `npm i` (e.g. `express@^2`) and
|
|
948
|
+
* this will be what your `package.json` will eventually include.
|
|
933
949
|
* @default []
|
|
934
950
|
* @stability stable
|
|
935
951
|
* @featured true
|
|
936
952
|
*/
|
|
937
953
|
readonly deps?: Array<string>;
|
|
954
|
+
/**
|
|
955
|
+
* Automatically delete lockfiles from package managers that are not the active one.
|
|
956
|
+
* Only triggered when the lockfile for the configured package
|
|
957
|
+
* manager already exists.
|
|
958
|
+
*
|
|
959
|
+
* This is useful when migrating between package managers to avoid conflicts.
|
|
960
|
+
* @default true
|
|
961
|
+
* @stability stable
|
|
962
|
+
*/
|
|
963
|
+
readonly deleteOrphanedLockFiles?: boolean;
|
|
938
964
|
/**
|
|
939
965
|
* Options for npm packages using AWS CodeArtifact.
|
|
940
966
|
* This is required if publishing packages to, or installing scoped packages from AWS CodeArtifact
|
|
@@ -955,11 +981,11 @@ export interface ConstructProjectOptions {
|
|
|
955
981
|
* your `package.json`.
|
|
956
982
|
*
|
|
957
983
|
* The recommendation is to only specify the module name here (e.g.
|
|
958
|
-
* `express`). This will behave similar to `
|
|
984
|
+
* `express`). This will behave similar to `pnpm add` or `npm install` in the
|
|
959
985
|
* sense that it will add the module as a dependency to your `package.json`
|
|
960
986
|
* file with the latest version (`^`). You can specify semver requirements in
|
|
961
|
-
* the same syntax passed to `
|
|
962
|
-
* this will be what
|
|
987
|
+
* the same syntax passed to `pnpm add` or `npm i` (e.g. `express@^2`) and
|
|
988
|
+
* this will be what your `package.json` will eventually include.
|
|
963
989
|
* @stability stable
|
|
964
990
|
*/
|
|
965
991
|
readonly bundledDeps?: Array<string>;
|
|
@@ -1015,6 +1041,12 @@ export interface ConstructProjectOptions {
|
|
|
1015
1041
|
* @stability stable
|
|
1016
1042
|
*/
|
|
1017
1043
|
readonly allowLibraryDependencies?: boolean;
|
|
1044
|
+
/**
|
|
1045
|
+
* Automatically add the resolved `packageManager` to `devEngines.packageManager` in `package.json`, setting `onFail` to `ignore`.
|
|
1046
|
+
* @default true
|
|
1047
|
+
* @stability stable
|
|
1048
|
+
*/
|
|
1049
|
+
readonly addPackageManagerToDevEngines?: boolean;
|
|
1018
1050
|
/**
|
|
1019
1051
|
* Enable VSCode integration.
|
|
1020
1052
|
* Enabled by default for root projects. Disabled for non-root projects.
|
|
@@ -1132,6 +1164,12 @@ export interface ConstructProjectOptions {
|
|
|
1132
1164
|
* @stability stable
|
|
1133
1165
|
*/
|
|
1134
1166
|
readonly projenCommand?: string;
|
|
1167
|
+
/**
|
|
1168
|
+
* Generate a project tree file (`.projen/tree.json`) that shows all components and their relationships. Useful for understanding your project structure and debugging.
|
|
1169
|
+
* @default false
|
|
1170
|
+
* @stability stable
|
|
1171
|
+
*/
|
|
1172
|
+
readonly projectTree?: boolean;
|
|
1135
1173
|
/**
|
|
1136
1174
|
* The parent project, if this project is part of a bigger project.
|
|
1137
1175
|
* @stability stable
|