@rocketleap/rocketleap-projen 1.0.0 → 1.2.0

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.
@@ -1,5 +1,6 @@
1
- import { awscdk } from 'projen';
1
+ import { awscdk, typescript } from 'projen';
2
2
  import { RocketleapCdkProjectOptions } from './cdk-project-options.generated';
3
+ import { RocketleapLibraryCdkProjectOptions } from './library-cdk-project-options.generated';
3
4
  /**
4
5
  * Base projen project for Rocketleap CDK projects.
5
6
  *
@@ -36,4 +37,13 @@ export declare class RocketleapPlatformCdkProject extends RocketleapBaseCdkProje
36
37
  export declare class RocketleapWorkloadCdkProject extends RocketleapBaseCdkProject {
37
38
  constructor(options: RocketleapCdkProjectOptions);
38
39
  }
40
+ /**
41
+ * Projen project for Rocketleap CDK construct library projects.
42
+ *
43
+ * This is for CDK construct libraries (e.g., building-blocks-cdk).
44
+ * Includes CDK peer dependencies and publishing configuration for GitHub Packages.
45
+ */
46
+ export declare class RocketleapLibraryCdkProject extends typescript.TypeScriptProject {
47
+ constructor(options: RocketleapLibraryCdkProjectOptions);
48
+ }
39
49
  export {};
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
- var _a, _b;
2
+ var _a, _b, _c;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.RocketleapWorkloadCdkProject = exports.RocketleapPlatformCdkProject = void 0;
4
+ exports.RocketleapLibraryCdkProject = exports.RocketleapWorkloadCdkProject = exports.RocketleapPlatformCdkProject = void 0;
5
5
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
6
  const node_fs_1 = require("node:fs");
7
7
  const node_path_1 = require("node:path");
@@ -39,7 +39,6 @@ class RocketleapBaseCdkProject extends projen_1.awscdk.AwsCdkTypeScriptApp {
39
39
  constructsVersion: constructVersion,
40
40
  cdkVersionPinning: true,
41
41
  defaultReleaseBranch: 'main',
42
- projenrcTs: true,
43
42
  githubOptions: {
44
43
  mergify: false,
45
44
  workflows: false,
@@ -53,33 +52,14 @@ class RocketleapBaseCdkProject extends projen_1.awscdk.AwsCdkTypeScriptApp {
53
52
  ...prettier_1.PRETTIER_CONFIGURATION,
54
53
  ...git_1.GIT_CONFIGURATION,
55
54
  ...cdk_1.CDK_CONFIGURATION,
55
+ ...compile_1.SWC_CONFIGURATION,
56
56
  });
57
57
  this.company = company;
58
58
  this.projectName = project;
59
+ (0, compile_1.configureSwc)(this);
59
60
  (0, eslint_1.configureEsLint)(this.eslint);
60
61
  (0, pre_commit_1.createPreCommitConfig)(this, pre_commit_1.CDK_PRE_COMMIT_HOOKS);
61
- (0, package_json_1.configurePackageJson)(this, {
62
- 'format': "prettier --write . '!**/*.{js,d.ts}'",
63
- 'format:ci': "prettier -c . '!**/*.{js,d.ts}'",
64
- 'lint': 'eslint --fix .',
65
- 'lint:ci': 'eslint --max-warnings=0 .',
66
- 'build': 'tsc',
67
- 'clean': 'find bin src test -type f \\( -name "*.js" -o -name "*.d.ts" \\) -delete',
68
- 'watch': 'tsc -w',
69
- 'test': 'jest',
70
- 'test:ci': 'jest --ci',
71
- 'test:update-snapshots': 'jest --updateSnapshot',
72
- 'synth': 'cdk synth --output cdk.out/$0/ --app "yarn ts-node --prefer-ts-exts bin/$0.ts";',
73
- 'list': 'cdk list --output cdk.out/$0/ --app "yarn ts-node --prefer-ts-exts bin/$0.ts";',
74
- 'bootstrap': 'cdk bootstrap --output cdk.out/$0/ --app "yarn ts-node --prefer-ts-exts bin/$0.ts";',
75
- 'bootstrap:compliant': 'cdk bootstrap --output cdk.out/$0/ --bootstrap-kms-key-id $(aws cloudformation list-exports --query "Exports[?Name==\'Platform-CompanyKeyId-v1\'].Value" --output text) --app "yarn ts-node --prefer-ts-exts bin/$0.ts";',
76
- 'diff': 'cdk diff --output cdk.out/$0/ -e --app "yarn ts-node --prefer-ts-exts bin/$0.ts" ${1:---all};',
77
- 'diff:ci': 'cdk diff --ci --app "yarn ts-node --prefer-ts-exts $0";',
78
- 'deploy': 'cdk deploy --concurrency 10 --require-approval never --output cdk.out/$0/ -e --app "yarn ts-node --prefer-ts-exts bin/$0.ts" ${1:---all};',
79
- 'deploy:ci': 'cdk deploy --concurrency 10 --ci --all --app "yarn ts-node --prefer-ts-exts $0";',
80
- 'destroy': 'cdk destroy --output cdk.out/$0/ -e --app "yarn ts-node --prefer-ts-exts bin/$0.ts" ${1:---all};',
81
- 'destroy:ci': 'cdk destroy --ci -f --all --output cdk.out/$0/ --app "yarn ts-node --prefer-ts-exts $0";',
82
- });
62
+ (0, package_json_1.configurePackageJson)(this, package_json_1.CDK_SCRIPTS);
83
63
  this.configureCdkJson();
84
64
  const devDependencies = [
85
65
  '@jest/globals@^30.2.0',
@@ -157,7 +137,7 @@ class RocketleapPlatformCdkProject extends RocketleapBaseCdkProject {
157
137
  }
158
138
  exports.RocketleapPlatformCdkProject = RocketleapPlatformCdkProject;
159
139
  _a = JSII_RTTI_SYMBOL_1;
160
- RocketleapPlatformCdkProject[_a] = { fqn: "@rocketleap/rocketleap-projen.RocketleapPlatformCdkProject", version: "1.0.0" };
140
+ RocketleapPlatformCdkProject[_a] = { fqn: "@rocketleap/rocketleap-projen.RocketleapPlatformCdkProject", version: "1.2.0" };
161
141
  /**
162
142
  * Projen project for customer workload CDK projects.
163
143
  *
@@ -172,5 +152,52 @@ class RocketleapWorkloadCdkProject extends RocketleapBaseCdkProject {
172
152
  }
173
153
  exports.RocketleapWorkloadCdkProject = RocketleapWorkloadCdkProject;
174
154
  _b = JSII_RTTI_SYMBOL_1;
175
- RocketleapWorkloadCdkProject[_b] = { fqn: "@rocketleap/rocketleap-projen.RocketleapWorkloadCdkProject", version: "1.0.0" };
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXByb2plY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2RrLXByb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxxQ0FBcUM7QUFDckMseUNBQW9DO0FBQ3BDLG1DQUFpRTtBQUVqRSxzQ0FBaUQ7QUFDakQsOENBQXlEO0FBQ3pELDRDQUF3RTtBQUN4RSxzQ0FBaUQ7QUFDakQsd0RBQTZEO0FBQzdELG9EQUFrRjtBQUNsRixnREFBMkQ7QUFDM0Qsd0NBQXdEO0FBRXhEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQWUsd0JBQXlCLFNBQVEsZUFBTSxDQUFDLG1CQUFtQjtJQUl4RSxZQUFzQixPQUFvQztRQUN4RCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQ2hDLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDaEMsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsSUFBSSxTQUFTLENBQUM7UUFDbkQsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDO1FBQzlELE1BQU0scUJBQXFCLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixJQUFJLFNBQVMsQ0FBQztRQUV6RSxLQUFLLENBQUM7WUFDSixHQUFHLE9BQU87WUFDVixJQUFJLEVBQUUsR0FBRyxPQUFPLEVBQUU7WUFDbEIsV0FBVyxFQUFFLElBQUksT0FBTyxJQUFJLE9BQU8sRUFBRTtZQUVyQyxVQUFVLEVBQUUsVUFBVTtZQUN0QixpQkFBaUIsRUFBRSxnQkFBZ0I7WUFDbkMsaUJBQWlCLEVBQUUsSUFBSTtZQUV2QixvQkFBb0IsRUFBRSxNQUFNO1lBQzVCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLGFBQWEsRUFBRTtnQkFDYixPQUFPLEVBQUUsS0FBSztnQkFDZCxTQUFTLEVBQUUsS0FBSzthQUNqQjtZQUNELG1CQUFtQixFQUFFLEtBQUs7WUFFMUIsUUFBUSxFQUFFLEtBQUs7WUFDZixhQUFhLEVBQUUsS0FBSztZQUVwQixHQUFHLElBQUEsOEJBQXVCLEVBQUMsT0FBTyxDQUFDO1lBQ25DLEdBQUcsK0JBQXFCO1lBQ3hCLEdBQUcsNkJBQW9CO1lBQ3ZCLEdBQUcsaUNBQXNCO1lBQ3pCLEdBQUcsdUJBQWlCO1lBQ3BCLEdBQUcsdUJBQWlCO1NBQ3JCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDO1FBRTNCLElBQUEsd0JBQWUsRUFBQyxJQUFJLENBQUMsTUFBTyxDQUFDLENBQUM7UUFDOUIsSUFBQSxrQ0FBcUIsRUFBQyxJQUFJLEVBQUUsaUNBQW9CLENBQUMsQ0FBQztRQUNsRCxJQUFBLG1DQUFvQixFQUFDLElBQUksRUFBRTtZQUN6QixRQUFRLEVBQUUsc0NBQXNDO1lBQ2hELFdBQVcsRUFBRSxpQ0FBaUM7WUFDOUMsTUFBTSxFQUFFLGdCQUFnQjtZQUN4QixTQUFTLEVBQUUsMkJBQTJCO1lBQ3RDLE9BQU8sRUFBRSxLQUFLO1lBQ2QsT0FBTyxFQUFFLDBFQUEwRTtZQUNuRixPQUFPLEVBQUUsUUFBUTtZQUNqQixNQUFNLEVBQUUsTUFBTTtZQUNkLFNBQVMsRUFBRSxXQUFXO1lBQ3RCLHVCQUF1QixFQUFFLHVCQUF1QjtZQUNoRCxPQUFPLEVBQUUsaUZBQWlGO1lBQzFGLE1BQU0sRUFBRSxnRkFBZ0Y7WUFDeEYsV0FBVyxFQUFFLHFGQUFxRjtZQUNsRyxxQkFBcUIsRUFDbkIsME5BQTBOO1lBQzVOLE1BQU0sRUFBRSwrRkFBK0Y7WUFDdkcsU0FBUyxFQUFFLHlEQUF5RDtZQUNwRSxRQUFRLEVBQ04sMklBQTJJO1lBQzdJLFdBQVcsRUFBRSxrRkFBa0Y7WUFDL0YsU0FBUyxFQUFFLGtHQUFrRztZQUM3RyxZQUFZLEVBQUUsNEZBQTRGO1NBQzNHLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRXhCLE1BQU0sZUFBZSxHQUFHO1lBQ3RCLHVCQUF1QjtZQUN2QiwrQkFBK0I7WUFDL0IsNEJBQTRCO1lBQzVCLHNCQUFzQjtZQUN0QiwyQkFBMkI7U0FDNUIsQ0FBQztRQUNGLE1BQU0sWUFBWSxHQUFHO1lBQ25CLHdDQUF3QyxPQUFPLHdCQUF3QixxQkFBcUIsRUFBRTtZQUM5RixlQUFlLGdCQUFnQixFQUFFO1lBQ2pDLDRCQUE0QjtTQUM3QixDQUFDO1FBRUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxlQUFlLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFTLENBQUMsR0FBRyxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVTLHNCQUFzQixDQUFDLFlBQW9CO1FBQ25ELE1BQU0sTUFBTSxHQUFHLElBQUEsbUJBQU8sRUFBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3BELElBQUksSUFBQSxvQkFBVSxFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDdkIsT0FBTyxDQUFDLGlCQUFpQjtRQUMzQixDQUFDO1FBRUQsSUFBSSxtQkFBVSxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7WUFDbkMsUUFBUSxFQUFFLFlBQVksWUFBWTs7c0JBRWxCLFlBQVk7Y0FDcEIsSUFBSSxDQUFDLE9BQU87Y0FDWixJQUFJLENBQUMsV0FBVzs7OztDQUk3QjtTQUNJLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQUVEOzs7OztHQUtHO0FBQ0gsTUFBYSw0QkFBNkIsU0FBUSx3QkFBd0I7SUFDeEUsWUFBWSxPQUFvQztRQUM5QyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsc0JBQXNCLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSwyQkFBMkIsQ0FBQyxDQUFDO1FBRTlELElBQUksaUJBQVEsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO1lBQy9CLEtBQUssRUFBRTtnQkFDTCw4REFBOEQ7Z0JBQzlELEVBQUU7Z0JBQ0YsOEJBQThCO2dCQUM5QixFQUFFO2dCQUNGLG9KQUFvSjtnQkFDcEosMkhBQTJIO2dCQUMzSCxFQUFFO2dCQUNGLGdFQUFnRTtnQkFDaEUsRUFBRTtnQkFDRiw2U0FBNlM7Z0JBQzdTLG9NQUFvTTtnQkFDcE0sd2ZBQXdmO2dCQUN4ZixtS0FBbUs7Z0JBQ25LLDJhQUEyYTtnQkFDM2Esc0xBQXNMO2dCQUN0TCx1SUFBdUk7Z0JBQ3ZJLDBNQUEwTTtnQkFDMU0sNk9BQTZPO2FBQzlPO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFqQ0gsb0VBa0NDOzs7QUFFRDs7Ozs7R0FLRztBQUNILE1BQWEsNEJBQTZCLFNBQVEsd0JBQXdCO0lBQ3hFLFlBQVksT0FBb0M7UUFDOUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsSUFBSSxDQUFDLHNCQUFzQixDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDcEQsQ0FBQzs7QUFMSCxvRUFNQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4aXN0c1N5bmMgfSBmcm9tICdub2RlOmZzJztcbmltcG9ydCB7IHJlc29sdmUgfSBmcm9tICdub2RlOnBhdGgnO1xuaW1wb3J0IHsgYXdzY2RrLCBKc29uUGF0Y2gsIFNhbXBsZUZpbGUsIFRleHRGaWxlIH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IFJvY2tldGxlYXBDZGtQcm9qZWN0T3B0aW9ucyB9IGZyb20gJy4vY2RrLXByb2plY3Qtb3B0aW9ucy5nZW5lcmF0ZWQnO1xuaW1wb3J0IHsgQ0RLX0NPTkZJR1VSQVRJT04gfSBmcm9tICcuL2NvbW1vbi9jZGsnO1xuaW1wb3J0IHsgQ09NUElMRV9DT05GSUdVUkFUSU9OIH0gZnJvbSAnLi9jb21tb24vY29tcGlsZSc7XG5pbXBvcnQgeyBjb25maWd1cmVFc0xpbnQsIEVTTElOVF9DT05GSUdVUkFUSU9OIH0gZnJvbSAnLi9jb21tb24vZXNsaW50JztcbmltcG9ydCB7IEdJVF9DT05GSUdVUkFUSU9OIH0gZnJvbSAnLi9jb21tb24vZ2l0JztcbmltcG9ydCB7IGNvbmZpZ3VyZVBhY2thZ2VKc29uIH0gZnJvbSAnLi9jb21tb24vcGFja2FnZS1qc29uJztcbmltcG9ydCB7IENES19QUkVfQ09NTUlUX0hPT0tTLCBjcmVhdGVQcmVDb21taXRDb25maWcgfSBmcm9tICcuL2NvbW1vbi9wcmUtY29tbWl0JztcbmltcG9ydCB7IFBSRVRUSUVSX0NPTkZJR1VSQVRJT04gfSBmcm9tICcuL2NvbW1vbi9wcmV0dGllcic7XG5pbXBvcnQgeyBjcmVhdGVZYXJuQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vY29tbW9uL3lhcm4nO1xuXG4vKipcbiAqIEJhc2UgcHJvamVuIHByb2plY3QgZm9yIFJvY2tldGxlYXAgQ0RLIHByb2plY3RzLlxuICpcbiAqIFRoaXMgcHJvamVjdCB0eXBlIGdlbmVyYXRlcyBhIGZ1bGx5IGNvbmZpZ3VyZWQgQVdTIENESyBUeXBlU2NyaXB0IGFwcGxpY2F0aW9uXG4gKiB3aXRoIFJvY2tldGxlYXAncyBzdGFuZGFyZCBjb25maWd1cmF0aW9uIGluY2x1ZGluZyBFU0xpbnQsIFByZXR0aWVyLCBZYXJuIEJlcnJ5LFxuICogYW5kIHByZS1jb21taXQgaG9va3MuXG4gKlxuICogVXNlIFBsYXRmb3JtQ2RrUHJvamVjdCBmb3IgcGxhdGZvcm0gaW5mcmFzdHJ1Y3R1cmUgKGluY2x1ZGVzIGxpY2Vuc2UpLlxuICogVXNlIFdvcmtsb2FkQ2RrUHJvamVjdCBmb3IgY3VzdG9tZXIgd29ya2xvYWRzIChubyBsaWNlbnNlKS5cbiAqL1xuYWJzdHJhY3QgY2xhc3MgUm9ja2V0bGVhcEJhc2VDZGtQcm9qZWN0IGV4dGVuZHMgYXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHAge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29tcGFueTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcHJvamVjdE5hbWU6IHN0cmluZztcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3Iob3B0aW9uczogUm9ja2V0bGVhcENka1Byb2plY3RPcHRpb25zKSB7XG4gICAgY29uc3QgY29tcGFueSA9IG9wdGlvbnMuY29tcGFueTtcbiAgICBjb25zdCBwcm9qZWN0ID0gb3B0aW9ucy5wcm9qZWN0O1xuICAgIGNvbnN0IGNka1ZlcnNpb24gPSBvcHRpb25zLmNka1ZlcnNpb24gPz8gJzIuMjMyLjEnO1xuICAgIGNvbnN0IGNvbnN0cnVjdFZlcnNpb24gPSBvcHRpb25zLmNvbnN0cnVjdFZlcnNpb24gPz8gJzEwLjQuNCc7XG4gICAgY29uc3QgYnVpbGRpbmdCbG9ja3NWZXJzaW9uID0gb3B0aW9ucy5idWlsZGluZ0Jsb2Nrc1ZlcnNpb24gPz8gJzAuMTA0LjEnO1xuXG4gICAgc3VwZXIoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIG5hbWU6IGAke3Byb2plY3R9YCxcbiAgICAgIHBhY2thZ2VOYW1lOiBgQCR7Y29tcGFueX0vJHtwcm9qZWN0fWAsXG5cbiAgICAgIGNka1ZlcnNpb246IGNka1ZlcnNpb24sXG4gICAgICBjb25zdHJ1Y3RzVmVyc2lvbjogY29uc3RydWN0VmVyc2lvbixcbiAgICAgIGNka1ZlcnNpb25QaW5uaW5nOiB0cnVlLFxuXG4gICAgICBkZWZhdWx0UmVsZWFzZUJyYW5jaDogJ21haW4nLFxuICAgICAgcHJvamVucmNUczogdHJ1ZSxcbiAgICAgIGdpdGh1Yk9wdGlvbnM6IHtcbiAgICAgICAgbWVyZ2lmeTogZmFsc2UsXG4gICAgICAgIHdvcmtmbG93czogZmFsc2UsXG4gICAgICB9LFxuICAgICAgcHVsbFJlcXVlc3RUZW1wbGF0ZTogZmFsc2UsXG5cbiAgICAgIGxpY2Vuc2VkOiBmYWxzZSxcbiAgICAgIGF1dG9EZXRlY3RCaW46IGZhbHNlLFxuXG4gICAgICAuLi5jcmVhdGVZYXJuQ29uZmlndXJhdGlvbihjb21wYW55KSxcbiAgICAgIC4uLkNPTVBJTEVfQ09ORklHVVJBVElPTixcbiAgICAgIC4uLkVTTElOVF9DT05GSUdVUkFUSU9OLFxuICAgICAgLi4uUFJFVFRJRVJfQ09ORklHVVJBVElPTixcbiAgICAgIC4uLkdJVF9DT05GSUdVUkFUSU9OLFxuICAgICAgLi4uQ0RLX0NPTkZJR1VSQVRJT04sXG4gICAgfSk7XG5cbiAgICB0aGlzLmNvbXBhbnkgPSBjb21wYW55O1xuICAgIHRoaXMucHJvamVjdE5hbWUgPSBwcm9qZWN0O1xuXG4gICAgY29uZmlndXJlRXNMaW50KHRoaXMuZXNsaW50ISk7XG4gICAgY3JlYXRlUHJlQ29tbWl0Q29uZmlnKHRoaXMsIENES19QUkVfQ09NTUlUX0hPT0tTKTtcbiAgICBjb25maWd1cmVQYWNrYWdlSnNvbih0aGlzLCB7XG4gICAgICAnZm9ybWF0JzogXCJwcmV0dGllciAtLXdyaXRlIC4gJyEqKi8qLntqcyxkLnRzfSdcIixcbiAgICAgICdmb3JtYXQ6Y2knOiBcInByZXR0aWVyIC1jIC4gJyEqKi8qLntqcyxkLnRzfSdcIixcbiAgICAgICdsaW50JzogJ2VzbGludCAtLWZpeCAuJyxcbiAgICAgICdsaW50OmNpJzogJ2VzbGludCAtLW1heC13YXJuaW5ncz0wIC4nLFxuICAgICAgJ2J1aWxkJzogJ3RzYycsXG4gICAgICAnY2xlYW4nOiAnZmluZCBiaW4gc3JjIHRlc3QgLXR5cGUgZiBcXFxcKCAtbmFtZSBcIiouanNcIiAtbyAtbmFtZSBcIiouZC50c1wiIFxcXFwpIC1kZWxldGUnLFxuICAgICAgJ3dhdGNoJzogJ3RzYyAtdycsXG4gICAgICAndGVzdCc6ICdqZXN0JyxcbiAgICAgICd0ZXN0OmNpJzogJ2plc3QgLS1jaScsXG4gICAgICAndGVzdDp1cGRhdGUtc25hcHNob3RzJzogJ2plc3QgLS11cGRhdGVTbmFwc2hvdCcsXG4gICAgICAnc3ludGgnOiAnY2RrIHN5bnRoIC0tb3V0cHV0IGNkay5vdXQvJDAvIC0tYXBwIFwieWFybiB0cy1ub2RlIC0tcHJlZmVyLXRzLWV4dHMgYmluLyQwLnRzXCI7JyxcbiAgICAgICdsaXN0JzogJ2NkayBsaXN0IC0tb3V0cHV0IGNkay5vdXQvJDAvIC0tYXBwIFwieWFybiB0cy1ub2RlIC0tcHJlZmVyLXRzLWV4dHMgYmluLyQwLnRzXCI7JyxcbiAgICAgICdib290c3RyYXAnOiAnY2RrIGJvb3RzdHJhcCAtLW91dHB1dCBjZGsub3V0LyQwLyAtLWFwcCBcInlhcm4gdHMtbm9kZSAtLXByZWZlci10cy1leHRzIGJpbi8kMC50c1wiOycsXG4gICAgICAnYm9vdHN0cmFwOmNvbXBsaWFudCc6XG4gICAgICAgICdjZGsgYm9vdHN0cmFwIC0tb3V0cHV0IGNkay5vdXQvJDAvIC0tYm9vdHN0cmFwLWttcy1rZXktaWQgJChhd3MgY2xvdWRmb3JtYXRpb24gbGlzdC1leHBvcnRzIC0tcXVlcnkgXCJFeHBvcnRzWz9OYW1lPT1cXCdQbGF0Zm9ybS1Db21wYW55S2V5SWQtdjFcXCddLlZhbHVlXCIgLS1vdXRwdXQgdGV4dCkgLS1hcHAgXCJ5YXJuIHRzLW5vZGUgLS1wcmVmZXItdHMtZXh0cyBiaW4vJDAudHNcIjsnLFxuICAgICAgJ2RpZmYnOiAnY2RrIGRpZmYgLS1vdXRwdXQgY2RrLm91dC8kMC8gLWUgLS1hcHAgXCJ5YXJuIHRzLW5vZGUgLS1wcmVmZXItdHMtZXh0cyBiaW4vJDAudHNcIiAkezE6LS0tYWxsfTsnLFxuICAgICAgJ2RpZmY6Y2knOiAnY2RrIGRpZmYgLS1jaSAtLWFwcCBcInlhcm4gdHMtbm9kZSAtLXByZWZlci10cy1leHRzICQwXCI7JyxcbiAgICAgICdkZXBsb3knOlxuICAgICAgICAnY2RrIGRlcGxveSAtLWNvbmN1cnJlbmN5IDEwIC0tcmVxdWlyZS1hcHByb3ZhbCBuZXZlciAtLW91dHB1dCBjZGsub3V0LyQwLyAtZSAtLWFwcCBcInlhcm4gdHMtbm9kZSAtLXByZWZlci10cy1leHRzIGJpbi8kMC50c1wiICR7MTotLS1hbGx9OycsXG4gICAgICAnZGVwbG95OmNpJzogJ2NkayBkZXBsb3kgLS1jb25jdXJyZW5jeSAxMCAtLWNpIC0tYWxsIC0tYXBwIFwieWFybiB0cy1ub2RlIC0tcHJlZmVyLXRzLWV4dHMgJDBcIjsnLFxuICAgICAgJ2Rlc3Ryb3knOiAnY2RrIGRlc3Ryb3kgLS1vdXRwdXQgY2RrLm91dC8kMC8gLWUgLS1hcHAgXCJ5YXJuIHRzLW5vZGUgLS1wcmVmZXItdHMtZXh0cyBiaW4vJDAudHNcIiAkezE6LS0tYWxsfTsnLFxuICAgICAgJ2Rlc3Ryb3k6Y2knOiAnY2RrIGRlc3Ryb3kgLS1jaSAtZiAtLWFsbCAtLW91dHB1dCBjZGsub3V0LyQwLyAtLWFwcCAgXCJ5YXJuICB0cy1ub2RlIC0tcHJlZmVyLXRzLWV4dHMgJDBcIjsnLFxuICAgIH0pO1xuXG4gICAgdGhpcy5jb25maWd1cmVDZGtKc29uKCk7XG5cbiAgICBjb25zdCBkZXZEZXBlbmRlbmNpZXMgPSBbXG4gICAgICAnQGplc3QvZ2xvYmFsc0BeMzAuMi4wJyxcbiAgICAgICdAcm9ja2V0bGVhcC9yb2NrZXRsZWFwLXByb2plbicsXG4gICAgICAnQHR5cGVzL2F3cy1sYW1iZGFAOC4xMC4xNTknLFxuICAgICAgJ0B0eXBlcy9qcy15YW1sQDQuMC45JyxcbiAgICAgICdqZXN0LW1vY2stZXh0ZW5kZWRAXjQuMC4wJyxcbiAgICBdO1xuICAgIGNvbnN0IGRlcGVuZGVuY2llcyA9IFtcbiAgICAgIGBAcm9ja2V0bGVhcC9idWlsZGluZy1ibG9ja3MtY2RrQG5wbTpAJHtjb21wYW55fS9idWlsZGluZy1ibG9ja3MtY2RrQCR7YnVpbGRpbmdCbG9ja3NWZXJzaW9ufWAsXG4gICAgICBgY29uc3RydWN0c0A9JHtjb25zdHJ1Y3RWZXJzaW9ufWAsXG4gICAgICAnc291cmNlLW1hcC1zdXBwb3J0QF4wLjUuMjEnLFxuICAgIF07XG5cbiAgICB0aGlzLnBhY2thZ2UuYWRkRGV2RGVwcyguLi5kZXZEZXBlbmRlbmNpZXMpO1xuICAgIHRoaXMucGFja2FnZS5hZGREZXBzKC4uLmRlcGVuZGVuY2llcyk7XG4gIH1cblxuICBwcml2YXRlIGNvbmZpZ3VyZUNka0pzb24oKTogdm9pZCB7XG4gICAgdGhpcy5jZGtDb25maWcuanNvbi5wYXRjaChKc29uUGF0Y2guYWRkKCcvdmVyc2lvblJlcG9ydGluZycsIGZhbHNlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2VuZXJhdGVTYW1wbGVQcm9qZW5yYyhwcm9qZWN0Q2xhc3M6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHJjRmlsZSA9IHJlc29sdmUodGhpcy5vdXRkaXIsICcucHJvamVucmMudHMnKTtcbiAgICBpZiAoZXhpc3RzU3luYyhyY0ZpbGUpKSB7XG4gICAgICByZXR1cm47IC8vIGFscmVhZHkgZXhpc3RzXG4gICAgfVxuXG4gICAgbmV3IFNhbXBsZUZpbGUodGhpcywgJy5wcm9qZW5yYy50cycsIHtcbiAgICAgIGNvbnRlbnRzOiBgaW1wb3J0IHsgJHtwcm9qZWN0Q2xhc3N9IH0gZnJvbSAnQHJvY2tldGxlYXAvcm9ja2V0bGVhcC1wcm9qZW4nO1xuXG5jb25zdCBwcm9qZWN0ID0gbmV3ICR7cHJvamVjdENsYXNzfSh7XG4gIGNvbXBhbnk6ICcke3RoaXMuY29tcGFueX0nLFxuICBwcm9qZWN0OiAnJHt0aGlzLnByb2plY3ROYW1lfScsXG59KTtcblxucHJvamVjdC5zeW50aCgpO1xuYCxcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIFByb2plbiBwcm9qZWN0IGZvciBSb2NrZXRsZWFwIFBsYXRmb3JtIENESyBwcm9qZWN0cy5cbiAqXG4gKiBUaGlzIGlzIGZvciBwbGF0Zm9ybSBpbmZyYXN0cnVjdHVyZSBjb2RlIChlLmcuLCByb290LWNkaywgdnBjLWNkaywgaWFtLWNkaykuXG4gKiBJbmNsdWRlcyB0aGUgTm9yYmVyaHVpcyBPbmRlcm5lbWluZyBCLlYuIGxpY2Vuc2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBSb2NrZXRsZWFwUGxhdGZvcm1DZGtQcm9qZWN0IGV4dGVuZHMgUm9ja2V0bGVhcEJhc2VDZGtQcm9qZWN0IHtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogUm9ja2V0bGVhcENka1Byb2plY3RPcHRpb25zKSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG5cbiAgICB0aGlzLmNvbmZpZ3VyZUxpY2Vuc2UoKTtcbiAgICB0aGlzLmdlbmVyYXRlU2FtcGxlUHJvamVucmMoJ1BsYXRmb3JtQ2RrUHJvamVjdCcpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb25maWd1cmVMaWNlbnNlKCk6IHZvaWQge1xuICAgIHRoaXMucGFja2FnZS5hZGRGaWVsZCgnbGljZW5zZScsICdTRUUgTElDRU5TRSBJTiBMSUNFTlNFLm1kJyk7XG5cbiAgICBuZXcgVGV4dEZpbGUodGhpcywgJ0xJQ0VOU0UubWQnLCB7XG4gICAgICBsaW5lczogW1xuICAgICAgICAnTm9yYmVyaHVpcyBPbmRlcm5lbWluZyBCLlYuIC0gSW5mcmFzdHJ1Y3R1cmUgYXMgQ29kZSBMaWNlbnNlJyxcbiAgICAgICAgJycsXG4gICAgICAgICdWZXJzaW9uIDEuNCwgMTggSmFudWFyaSAyMDI0JyxcbiAgICAgICAgJycsXG4gICAgICAgICdBIGxpY2Vuc2UgYWdyZWVtZW50IGlzIGVudGVyZWQgaW50byBiZXR3ZWVuIE5vcmJlcmh1aXMgT25kZXJuZW1pbmcgQi5WLiAoXCJMaWNlbnNvclwiKSBhbmQgdGhlIGluZGl2aWR1YWwgb3IgZW50aXR5IHVzaW5nIHRoZSBzb2Z0d2FyZSAoXCJMaWNlbnNlZVwiKS4nLFxuICAgICAgICAnU2VlIHRoZSBzaWduZWQgY29udHJhY3QgZm9yIHRoZSBmdWxsIGFncmVlbWVudCBhbmQgbGljZW5zZSBwcmluY2lwYWwuIFRoZSBzaWduZWQgY29udHJhY3Qgb3ZlcnJ1bGVzIGFueSBwb2ludHMgbWFkZSBoZXJlLicsXG4gICAgICAgICcnLFxuICAgICAgICAnQmVsb3cgaXMgYSBzdW1tYXJ5IG9mIHRoZSBtYWpvciBwb2ludHMgcmVsYXRlZCB0byB0aGUgbGljZW5zZTonLFxuICAgICAgICAnJyxcbiAgICAgICAgJzEuIFRoZSBMaWNlbnNvciBncmFudHMgdGhlIExpY2Vuc2VlIGEgbm9uLWV4Y2x1c2l2ZSBhbmQgbm9uLXRyYW5zZmVyYWJsZSByaWdodCB0byB1c2UgdGhlIElhQyBwbGF0Zm9ybSBmb3Igc2V0dGluZyB1cCBhIHBsYXRmb3JtIHdpdGhpbiB0aGUgTGljZW5zZWVcXCdzIG93biBlbnZpcm9ubWVudCwgaGVyZWluYWZ0ZXIgcmVmZXJyZWQgdG8gYXMgXCJ0aGUgTGljZW5zZVwiLiBUaGUgTGljZW5zZSBleGNsdXNpdmVseSBpbmNsdWRlcyBhIHJpZ2h0IHRvIHVzZS4gVGhlIExpY2Vuc2VlIGFjY2VwdHMgdGhpcyByaWdodCB0byB1c2UuJyxcbiAgICAgICAgJzIuIFRoZSBMaWNlbnNlZSBpcyBhdXRob3JpemVkIHRvIHVzZSB0aGUgTGljZW5zZSB0byBzZXR1cCB1cCBvbmUgQVdTIE9yZ2FuaXphdGlvbi4gVGhlIExpY2Vuc2UgaXMgZXhjbHVzaXZlbHkgbGltaXRlZCB0byB0aGUgY29uZmlndXJhdGlvbiBvZiBBV1MgQWNjb3VudHMgdGhhdCBhcmUgcGFydCBvZiB0aGlzIEFXUyBPcmdhbml6YXRpb24uJyxcbiAgICAgICAgJzMuIFRoZSBMaWNlbnNvciBvd25zIGFsbCAoaW50ZWxsZWN0dWFsIHByb3BlcnR5KSByaWdodHMgdG8gdGhlIElhQyBQbGF0Zm9ybSBhbmQgd2lsbCByZXRhaW4gYWxsIHJpZ2h0cyAtIGluIHRoZSBicm9hZGVzdCBzZW5zZSBvZiB0aGUgd29yZCAtIGR1cmluZyBhbmQgYWZ0ZXIgdGhpcyBhZ3JlZW1lbnQuIFRoaXMgaW5jbHVkZXMsIGJ1dCBpcyBub3QgbGltaXRlZCB0bywgcmlnaHRzIHRvIHRoZSBzb3VyY2UgY29kZSwgY29tcGlsZWQgY29kZSwgdXNlciBpbnRlcmZhY2VzLCBkb2N1bWVudGF0aW9uLCBpZGVhcywgZGVzaWducywgaW52ZW50aW9ucywgZGlzY292ZXJpZXMsIHRhbmdpYmxlIG9yIGludGFuZ2libGUuIFRoaXMgaW5jbHVkZXMsIGF0IGEgbWluaW11bSwgYWxsIGNvcHlyaWdodHMsIHBhdGVudCByaWdodHMsIHRyYWRlIHNlY3JldCByaWdodHMsIHRyYWRlbWFyayByaWdodHMsIG1vcmFsIHJpZ2h0cyBhbmQgb3RoZXIgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cy4nLFxuICAgICAgICAnNC4gVGhpcyBhZ3JlZW1lbnQgZXhwcmVzc2x5IGRvZXMgbm90IGludGVuZCB0byB0cmFuc2ZlciByaWdodHMgdG8gdGhlIExpY2Vuc2VlIGFuZCBkb2VzIG5vdCBpbXBseSBzdWNoIHRyYW5zZmVyLCBidXQgc29sZWx5IGdyYW50cyB0aGUgTGljZW5zZWUgdGhlIHJpZ2h0IHRvIHVzZS4nLFxuICAgICAgICAnNS4gVGhlIExpY2Vuc29yIGRvZXMgbm90IGdyYW50IGEgTGljZW5zZSB0byBzZWxsLCBkaXN0cmlidXRlLCBvciBwdWJsaXNoIHRoZSBJYUMgUGxhdGZvcm0gb3IgZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgSWFDIFBsYXRmb3JtIHdpdGhvdXQgZXhwbGljaXQgd3JpdHRlbiBjb25zZW50IG9mIHRoZSBMaWNlbnNvci4gVGhlIExpY2Vuc2VlIGlzIGV4cGxpY2l0bHkgcHJvaGliaXRlZCBmcm9tIHNlbGxpbmcsIGRpc3RyaWJ1dGluZywgb3IgcHVibGlzaGluZyB0aGUgTGljZW5zZSwgdGhlIElhQyBwbGF0Zm9ybSwgb3IgZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgSWFDIHBsYXRmb3JtLiBUaGUgTGljZW5zb3IgZG9lcyBub3Qgd2FpdmUgYW55IG1vcmFsIHJpZ2h0cyBhcyBtZW50aW9uZWQgaW4gQXJ0aWNsZSAyNSBvZiB0aGUgQ29weXJpZ2h0IEFjdC4nLFxuICAgICAgICAnNi4gVGhlIExpY2Vuc2UgaXMgbm9uLXRyYW5zZmVyYWJsZSBhbmQgY2FuIG9ubHkgYmUgdXNlZCBieSB0aGUgTGljZW5zZWUgYW5kIGl0cyBzdWJzaWRpYXJpZXMsIHdpdGggdGhlIGV4Y2VwdGlvbiBvZiB0aGUgdHJhbnNmZXIgYXMgZGVzY3JpYmVkIGluIEFydGljbGUgOSBvZiB0aGUgbGljZW5zZSBhZ3JlZW1lbnQuJyxcbiAgICAgICAgJzcuIFRoZSBMaWNlbnNvciByZXRhaW5zIHRoZSByaWdodCBhbmQgYWxzbyBpbnRlbmRzIHRvIHVzZSB0aGUgSWFDIFBsYXRmb3JtIGFuZCB0byBzZWxsIGxpY2Vuc2VzIG9mIHRoZSBJYUMgUGxhdGZvcm0gdG8gdGhpcmQgcGFydGllcy4nLFxuICAgICAgICAnOC4gVGhlIExpY2Vuc2VlIHdhaXZlcyBhbGwgcmlnaHRzIGFuZCwgYXMgbmVjZXNzYXJ5IHVwb24gZmlyc3QgcmVxdWVzdCwgdHJhbnNmZXJzIGFsbCBvd25lcnNoaXAgdG8gdGhlIExpY2Vuc29yIGFyaXNpbmcgZnJvbSBzdWdnZXN0aW9ucywgcmVxdWVzdHMgZm9yIGltcHJvdmVtZW50LCByZWNvbW1lbmRhdGlvbnMsIGFuZCBvdGhlciBmZWVkYmFjay4nLFxuICAgICAgICAnOS4gVGhlIExpY2Vuc2VlIGFjY2VwdHMgdGhhdCBwYXJ0cyBvZiB0aGUgSWFDIFBsYXRmb3JtIG1heSBjb250YWluIG9wZW4tc291cmNlIHNvZnR3YXJlIGFuZCBtYWtlIHVzZSBvZiBpdC4gVGhlIElhQyBwbGF0Zm9ybSBkb2VzIG5vdCBjb250YWluIG9wZW4tc291cmNlIHNvZnR3YXJlIHdpdGggbGljZW5zZXMgdGhhdCBmb3JjZSBvdGhlciBzb2Z0d2FyZSB0byBvcGVuIHNvdXJjZSBpbiBjYXNlIG9mIHVzYWdlLicsXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogUHJvamVuIHByb2plY3QgZm9yIGN1c3RvbWVyIHdvcmtsb2FkIENESyBwcm9qZWN0cy5cbiAqXG4gKiBUaGlzIGlzIGZvciBjdXN0b21lci1zcGVjaWZpYyB3b3JrbG9hZCBjb2RlIHRoYXQgcnVucyBvbiB0aGUgcGxhdGZvcm0uXG4gKiBEb2VzIE5PVCBpbmNsdWRlIHRoZSBwbGF0Zm9ybSBsaWNlbnNlLlxuICovXG5leHBvcnQgY2xhc3MgUm9ja2V0bGVhcFdvcmtsb2FkQ2RrUHJvamVjdCBleHRlbmRzIFJvY2tldGxlYXBCYXNlQ2RrUHJvamVjdCB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFJvY2tldGxlYXBDZGtQcm9qZWN0T3B0aW9ucykge1xuICAgIHN1cGVyKG9wdGlvbnMpO1xuXG4gICAgdGhpcy5nZW5lcmF0ZVNhbXBsZVByb2plbnJjKCdXb3JrbG9hZENka1Byb2plY3QnKTtcbiAgfVxufVxuIl19
155
+ RocketleapWorkloadCdkProject[_b] = { fqn: "@rocketleap/rocketleap-projen.RocketleapWorkloadCdkProject", version: "1.2.0" };
156
+ /**
157
+ * Projen project for Rocketleap CDK construct library projects.
158
+ *
159
+ * This is for CDK construct libraries (e.g., building-blocks-cdk).
160
+ * Includes CDK peer dependencies and publishing configuration for GitHub Packages.
161
+ */
162
+ class RocketleapLibraryCdkProject extends projen_1.typescript.TypeScriptProject {
163
+ constructor(options) {
164
+ const company = options.company;
165
+ const project = options.project;
166
+ const cdkVersion = options.cdkVersion ?? '2.238.0';
167
+ const constructVersion = options.constructVersion ?? '10.4.5';
168
+ super({
169
+ ...options,
170
+ name: `@${company}/${project}`,
171
+ defaultReleaseBranch: 'main',
172
+ githubOptions: {
173
+ mergify: false,
174
+ workflows: false,
175
+ },
176
+ pullRequestTemplate: false,
177
+ licensed: false,
178
+ autoDetectBin: false,
179
+ ...(0, yarn_1.createYarnConfiguration)(company),
180
+ ...compile_1.LIBRARY_COMPILE_CONFIGURATION,
181
+ ...eslint_1.ESLINT_CONFIGURATION,
182
+ ...prettier_1.PRETTIER_CONFIGURATION,
183
+ ...git_1.GIT_CONFIGURATION,
184
+ ...compile_1.SWC_CONFIGURATION,
185
+ });
186
+ (0, compile_1.configureSwc)(this);
187
+ (0, eslint_1.configureEsLint)(this.eslint);
188
+ (0, pre_commit_1.createPreCommitConfig)(this, pre_commit_1.CDK_PRE_COMMIT_HOOKS);
189
+ (0, package_json_1.configurePackageJson)(this, package_json_1.LIBRARY_SCRIPTS);
190
+ this.package.addField('main', 'dist/index.js');
191
+ this.package.addField('types', 'dist/index.d.ts');
192
+ this.package.addField('files', ['API.md', 'dist/']);
193
+ this.package.addField('publishConfig', {
194
+ registry: 'https://npm.pkg.github.com/',
195
+ });
196
+ this.package.addPeerDeps(`aws-cdk-lib@=${cdkVersion}`, `constructs@=${constructVersion}`);
197
+ this.package.addDevDeps(`aws-cdk-lib@${cdkVersion}`, `constructs@${constructVersion}`);
198
+ }
199
+ }
200
+ exports.RocketleapLibraryCdkProject = RocketleapLibraryCdkProject;
201
+ _c = JSII_RTTI_SYMBOL_1;
202
+ RocketleapLibraryCdkProject[_c] = { fqn: "@rocketleap/rocketleap-projen.RocketleapLibraryCdkProject", version: "1.2.0" };
203
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXByb2plY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2RrLXByb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxxQ0FBcUM7QUFDckMseUNBQW9DO0FBQ3BDLG1DQUE2RTtBQUU3RSxzQ0FBaUQ7QUFDakQsOENBSzBCO0FBQzFCLDRDQUF3RTtBQUN4RSxzQ0FBaUQ7QUFDakQsd0RBQTJGO0FBQzNGLG9EQUFrRjtBQUNsRixnREFBMkQ7QUFDM0Qsd0NBQXdEO0FBR3hEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQWUsd0JBQXlCLFNBQVEsZUFBTSxDQUFDLG1CQUFtQjtJQUl4RSxZQUFzQixPQUFvQztRQUN4RCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQ2hDLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDaEMsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsSUFBSSxTQUFTLENBQUM7UUFDbkQsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLElBQUksUUFBUSxDQUFDO1FBQzlELE1BQU0scUJBQXFCLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixJQUFJLFNBQVMsQ0FBQztRQUV6RSxLQUFLLENBQUM7WUFDSixHQUFHLE9BQU87WUFDVixJQUFJLEVBQUUsR0FBRyxPQUFPLEVBQUU7WUFDbEIsV0FBVyxFQUFFLElBQUksT0FBTyxJQUFJLE9BQU8sRUFBRTtZQUVyQyxVQUFVLEVBQUUsVUFBVTtZQUN0QixpQkFBaUIsRUFBRSxnQkFBZ0I7WUFDbkMsaUJBQWlCLEVBQUUsSUFBSTtZQUV2QixvQkFBb0IsRUFBRSxNQUFNO1lBQzVCLGFBQWEsRUFBRTtnQkFDYixPQUFPLEVBQUUsS0FBSztnQkFDZCxTQUFTLEVBQUUsS0FBSzthQUNqQjtZQUNELG1CQUFtQixFQUFFLEtBQUs7WUFFMUIsUUFBUSxFQUFFLEtBQUs7WUFDZixhQUFhLEVBQUUsS0FBSztZ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SUFBQSxrQ0FBcUIsRUFBQyxJQUFJLEVBQUUsaUNBQW9CLENBQUMsQ0FBQztRQUNsRCxJQUFBLG1DQUFvQixFQUFDLElBQUksRUFBRSw4QkFBZSxDQUFDLENBQUM7UUFFNUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRTtZQUNyQyxRQUFRLEVBQUUsNkJBQTZCO1NBQ3hDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLGdCQUFnQixVQUFVLEVBQUUsRUFBRSxlQUFlLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUMxRixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxlQUFlLFVBQVUsRUFBRSxFQUFFLGNBQWMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7O0FBM0NILGtFQTRDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4aXN0c1N5bmMgfSBmcm9tICdub2RlOmZzJztcbmltcG9ydCB7IHJlc29sdmUgfSBmcm9tICdub2RlOnBhdGgnO1xuaW1wb3J0IHsgYXdzY2RrLCBKc29uUGF0Y2gsIFNhbXBsZUZpbGUsIFRleHRGaWxlLCB0eXBlc2NyaXB0IH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IFJvY2tldGxlYXBDZGtQcm9qZWN0T3B0aW9ucyB9IGZyb20gJy4vY2RrLXByb2plY3Qtb3B0aW9ucy5nZW5lcmF0ZWQnO1xuaW1wb3J0IHsgQ0RLX0NPTkZJR1VSQVRJT04gfSBmcm9tICcuL2NvbW1vbi9jZGsnO1xuaW1wb3J0IHtcbiAgQ09NUElMRV9DT05GSUdVUkFUSU9OLFxuICBjb25maWd1cmVTd2MsXG4gIExJQlJBUllfQ09NUElMRV9DT05GSUdVUkFUSU9OLFxuICBTV0NfQ09ORklHVVJBVElPTixcbn0gZnJvbSAnLi9jb21tb24vY29tcGlsZSc7XG5pbXBvcnQgeyBjb25maWd1cmVFc0xpbnQsIEVTTElOVF9DT05GSUdVUkFUSU9OIH0gZnJvbSAnLi9jb21tb24vZXNsaW50JztcbmltcG9ydCB7IEdJVF9DT05GSUdVUkFUSU9OIH0gZnJvbSAnLi9jb21tb24vZ2l0JztcbmltcG9ydCB7IENES19TQ1JJUFRTLCBjb25maWd1cmVQYWNrYWdlSnNvbiwgTElCUkFSWV9TQ1JJUFRTIH0gZnJvbSAnLi9jb21tb24vcGFja2FnZS1qc29uJztcbmltcG9ydCB7IENES19QUkVfQ09NTUlUX0hPT0tTLCBjcmVhdGVQcmVDb21taXRDb25maWcgfSBmcm9tICcuL2NvbW1vbi9wcmUtY29tbWl0JztcbmltcG9ydCB7IFBSRVRUSUVSX0NPTkZJR1VSQVRJT04gfSBmcm9tICcuL2NvbW1vbi9wcmV0dGllcic7XG5pbXBvcnQgeyBjcmVhdGVZYXJuQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vY29tbW9uL3lhcm4nO1xuaW1wb3J0IHsgUm9ja2V0bGVhcExpYnJhcnlDZGtQcm9qZWN0T3B0aW9ucyB9IGZyb20gJy4vbGlicmFyeS1jZGstcHJvamVjdC1vcHRpb25zLmdlbmVyYXRlZCc7XG5cbi8qKlxuICogQmFzZSBwcm9qZW4gcHJvamVjdCBmb3IgUm9ja2V0bGVhcCBDREsgcHJvamVjdHMuXG4gKlxuICogVGhpcyBwcm9qZWN0IHR5cGUgZ2VuZXJhdGVzIGEgZnVsbHkgY29uZmlndXJlZCBBV1MgQ0RLIFR5cGVTY3JpcHQgYXBwbGljYXRpb25cbiAqIHdpdGggUm9ja2V0bGVhcCdzIHN0YW5kYXJkIGNvbmZpZ3VyYXRpb24gaW5jbHVkaW5nIEVTTGludCwgUHJldHRpZXIsIFlhcm4gQmVycnksXG4gKiBhbmQgcHJlLWNvbW1pdCBob29rcy5cbiAqXG4gKiBVc2UgUGxhdGZvcm1DZGtQcm9qZWN0IGZvciBwbGF0Zm9ybSBpbmZyYXN0cnVjdHVyZSAoaW5jbHVkZXMgbGljZW5zZSkuXG4gKiBVc2UgV29ya2xvYWRDZGtQcm9qZWN0IGZvciBjdXN0b21lciB3b3JrbG9hZHMgKG5vIGxpY2Vuc2UpLlxuICovXG5hYnN0cmFjdCBjbGFzcyBSb2NrZXRsZWFwQmFzZUNka1Byb2plY3QgZXh0ZW5kcyBhd3NjZGsuQXdzQ2RrVHlwZVNjcmlwdEFwcCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBjb21wYW55OiBzdHJpbmc7XG4gIHByb3RlY3RlZCByZWFkb25seSBwcm9qZWN0TmFtZTogc3RyaW5nO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihvcHRpb25zOiBSb2NrZXRsZWFwQ2RrUHJvamVjdE9wdGlvbnMpIHtcbiAgICBjb25zdCBjb21wYW55ID0gb3B0aW9ucy5jb21wYW55O1xuICAgIGNvbnN0IHByb2plY3QgPSBvcHRpb25zLnByb2plY3Q7XG4gICAgY29uc3QgY2RrVmVyc2lvbiA9IG9wdGlvbnMuY2RrVmVyc2lvbiA/PyAnMi4yMzIuMSc7XG4gICAgY29uc3QgY29uc3RydWN0VmVyc2lvbiA9IG9wdGlvbnMuY29uc3RydWN0VmVyc2lvbiA/PyAnMTAuNC40JztcbiAgICBjb25zdCBidWlsZGluZ0Jsb2Nrc1ZlcnNpb24gPSBvcHRpb25zLmJ1aWxkaW5nQmxvY2tzVmVyc2lvbiA/PyAnMC4xMDQuMSc7XG5cbiAgICBzdXBlcih7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgbmFtZTogYCR7cHJvamVjdH1gLFxuICAgICAgcGFja2FnZU5hbWU6IGBAJHtjb21wYW55fS8ke3Byb2plY3R9YCxcblxuICAgICAgY2RrVmVyc2lvbjogY2RrVmVyc2lvbixcbiAgICAgIGNvbnN0cnVjdHNWZXJzaW9uOiBjb25zdHJ1Y3RWZXJzaW9uLFxuICAgICAgY2RrVmVyc2lvblBpbm5pbmc6IHRydWUsXG5cbiAgICAgIGRlZmF1bHRSZWxlYXNlQnJhbmNoOiAnbWFpbicsXG4gICAgICBnaXRodWJPcHRpb25zOiB7XG4gICAgICAgIG1lcmdpZnk6IGZhbHNlLFxuICAgICAgICB3b3JrZmxvd3M6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHB1bGxSZXF1ZXN0VGVtcGxhdGU6IGZhbHNlLFxuXG4gICAgICBsaWNlbnNlZDogZmFsc2UsXG4gICAgICBhdXRvRGV0ZWN0QmluOiBmYWxzZSxcblxuICAgICAgLi4uY3JlYXRlWWFybkNvbmZpZ3VyYXRpb24oY29tcGFueSksXG4gICAgICAuLi5DT01QSUxFX0NPTkZJR1VSQVRJT04sXG4gICAgICAuLi5FU0xJTlRfQ09ORklHVVJBVElPTixcbiAgICAgIC4uLlBSRVRUSUVSX0NPTkZJR1VSQVRJT04sXG4gICAgICAuLi5HSVRfQ09ORklHVVJBVElPTixcbiAgICAgIC4uLkNES19DT05GSUdVUkFUSU9OLFxuICAgICAgLi4uU1dDX0NPTkZJR1VSQVRJT04sXG4gICAgfSk7XG5cbiAgICB0aGlzLmNvbXBhbnkgPSBjb21wYW55O1xuICAgIHRoaXMucHJvamVjdE5hbWUgPSBwcm9qZWN0O1xuXG4gICAgY29uZmlndXJlU3djKHRoaXMpO1xuICAgIGNvbmZpZ3VyZUVzTGludCh0aGlzLmVzbGludCEpO1xuICAgIGNyZWF0ZVByZUNvbW1pdENvbmZpZyh0aGlzLCBDREtfUFJFX0NPTU1JVF9IT09LUyk7XG4gICAgY29uZmlndXJlUGFja2FnZUpzb24odGhpcywgQ0RLX1NDUklQVFMpO1xuXG4gICAgdGhpcy5jb25maWd1cmVDZGtKc29uKCk7XG5cbiAgICBjb25zdCBkZXZEZXBlbmRlbmNpZXMgPSBbXG4gICAgICAnQGplc3QvZ2xvYmFsc0BeMzAuMi4wJyxcbiAgICAgICdAcm9ja2V0bGVhcC9yb2NrZXRsZWFwLXByb2plbicsXG4gICAgICAnQHR5cGVzL2F3cy1sYW1iZGFAOC4xMC4xNTknLFxuICAgICAgJ0B0eXBlcy9qcy15YW1sQDQuMC45JyxcbiAgICAgICdqZXN0LW1vY2stZXh0ZW5kZWRAXjQuMC4wJyxcbiAgICBdO1xuICAgIGNvbnN0IGRlcGVuZGVuY2llcyA9IFtcbiAgICAgIGBAcm9ja2V0bGVhcC9idWlsZGluZy1ibG9ja3MtY2RrQG5wbTpAJHtjb21wYW55fS9idWlsZGluZy1ibG9ja3MtY2RrQCR7YnVpbGRpbmdCbG9ja3NWZXJzaW9ufWAsXG4gICAgICBgY29uc3RydWN0c0A9JHtjb25zdHJ1Y3RWZXJzaW9ufWAsXG4gICAgICAnc291cmNlLW1hcC1zdXBwb3J0QF4wLjUuMjEnLFxuICAgIF07XG5cbiAgICB0aGlzLnBhY2thZ2UuYWRkRGV2RGVwcyguLi5kZXZEZXBlbmRlbmNpZXMpO1xuICAgIHRoaXMucGFja2FnZS5hZGREZXBzKC4uLmRlcGVuZGVuY2llcyk7XG4gIH1cblxuICBwcml2YXRlIGNvbmZpZ3VyZUNka0pzb24oKTogdm9pZCB7XG4gICAgdGhpcy5jZGtDb25maWcuanNvbi5wYXRjaChKc29uUGF0Y2guYWRkKCcvdmVyc2lvblJlcG9ydGluZycsIGZhbHNlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2VuZXJhdGVTYW1wbGVQcm9qZW5yYyhwcm9qZWN0Q2xhc3M6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHJjRmlsZSA9IHJlc29sdmUodGhpcy5vdXRkaXIsICcucHJvamVucmMudHMnKTtcbiAgICBpZiAoZXhpc3RzU3luYyhyY0ZpbGUpKSB7XG4gICAgICByZXR1cm47IC8vIGFscmVhZHkgZXhpc3RzXG4gICAgfVxuXG4gICAgbmV3IFNhbXBsZUZpbGUodGhpcywgJy5wcm9qZW5yYy50cycsIHtcbiAgICAgIGNvbnRlbnRzOiBgaW1wb3J0IHsgJHtwcm9qZWN0Q2xhc3N9IH0gZnJvbSAnQHJvY2tldGxlYXAvcm9ja2V0bGVhcC1wcm9qZW4nO1xuXG5jb25zdCBwcm9qZWN0ID0gbmV3ICR7cHJvamVjdENsYXNzfSh7XG4gIGNvbXBhbnk6ICcke3RoaXMuY29tcGFueX0nLFxuICBwcm9qZWN0OiAnJHt0aGlzLnByb2plY3ROYW1lfScsXG59KTtcblxucHJvamVjdC5zeW50aCgpO1xuYCxcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIFByb2plbiBwcm9qZWN0IGZvciBSb2NrZXRsZWFwIFBsYXRmb3JtIENESyBwcm9qZWN0cy5cbiAqXG4gKiBUaGlzIGlzIGZvciBwbGF0Zm9ybSBpbmZyYXN0cnVjdHVyZSBjb2RlIChlLmcuLCByb290LWNkaywgdnBjLWNkaywgaWFtLWNkaykuXG4gKiBJbmNsdWRlcyB0aGUgTm9yYmVyaHVpcyBPbmRlcm5lbWluZyBCLlYuIGxpY2Vuc2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBSb2NrZXRsZWFwUGxhdGZvcm1DZGtQcm9qZWN0IGV4dGVuZHMgUm9ja2V0bGVhcEJhc2VDZGtQcm9qZWN0IHtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogUm9ja2V0bGVhcENka1Byb2plY3RPcHRpb25zKSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG5cbiAgICB0aGlzLmNvbmZpZ3VyZUxpY2Vuc2UoKTtcbiAgICB0aGlzLmdlbmVyYXRlU2FtcGxlUHJvamVucmMoJ1BsYXRmb3JtQ2RrUHJvamVjdCcpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb25maWd1cmVMaWNlbnNlKCk6IHZvaWQge1xuICAgIHRoaXMucGFja2FnZS5hZGRGaWVsZCgnbGljZW5zZScsICdTRUUgTElDRU5TRSBJTiBMSUNFTlNFLm1kJyk7XG5cbiAgICBuZXcgVGV4dEZpbGUodGhpcywgJ0xJQ0VOU0UubWQnLCB7XG4gICAgICBsaW5lczogW1xuICAgICAgICAnTm9yYmVyaHVpcyBPbmRlcm5lbWluZyBCLlYuIC0gSW5mcmFzdHJ1Y3R1cmUgYXMgQ29kZSBMaWNlbnNlJyxcbiAgICAgICAgJycsXG4gICAgICAgICdWZXJzaW9uIDEuNCwgMTggSmFudWFyaSAyMDI0JyxcbiAgICAgICAgJycsXG4gICAgICAgICdBIGxpY2Vuc2UgYWdyZWVtZW50IGlzIGVudGVyZWQgaW50byBiZXR3ZWVuIE5vcmJlcmh1aXMgT25kZXJuZW1pbmcgQi5WLiAoXCJMaWNlbnNvclwiKSBhbmQgdGhlIGluZGl2aWR1YWwgb3IgZW50aXR5IHVzaW5nIHRoZSBzb2Z0d2FyZSAoXCJMaWNlbnNlZVwiKS4nLFxuICAgICAgICAnU2VlIHRoZSBzaWduZWQgY29udHJhY3QgZm9yIHRoZSBmdWxsIGFncmVlbWVudCBhbmQgbGljZW5zZSBwcmluY2lwYWwuIFRoZSBzaWduZWQgY29udHJhY3Qgb3ZlcnJ1bGVzIGFueSBwb2ludHMgbWFkZSBoZXJlLicsXG4gICAgICAgICcnLFxuICAgICAgICAnQmVsb3cgaXMgYSBzdW1tYXJ5IG9mIHRoZSBtYWpvciBwb2ludHMgcmVsYXRlZCB0byB0aGUgbGljZW5zZTonLFxuICAgICAgICAnJyxcbiAgICAgICAgJzEuIFRoZSBMaWNlbnNvciBncmFudHMgdGhlIExpY2Vuc2VlIGEgbm9uLWV4Y2x1c2l2ZSBhbmQgbm9uLXRyYW5zZmVyYWJsZSByaWdodCB0byB1c2UgdGhlIElhQyBwbGF0Zm9ybSBmb3Igc2V0dGluZyB1cCBhIHBsYXRmb3JtIHdpdGhpbiB0aGUgTGljZW5zZWVcXCdzIG93biBlbnZpcm9ubWVudCwgaGVyZWluYWZ0ZXIgcmVmZXJyZWQgdG8gYXMgXCJ0aGUgTGljZW5zZVwiLiBUaGUgTGljZW5zZSBleGNsdXNpdmVseSBpbmNsdWRlcyBhIHJpZ2h0IHRvIHVzZS4gVGhlIExpY2Vuc2VlIGFjY2VwdHMgdGhpcyByaWdodCB0byB1c2UuJyxcbiAgICAgICAgJzIuIFRoZSBMaWNlbnNlZSBpcyBhdXRob3JpemVkIHRvIHVzZSB0aGUgTGljZW5zZSB0byBzZXR1cCB1cCBvbmUgQVdTIE9yZ2FuaXphdGlvbi4gVGhlIExpY2Vuc2UgaXMgZXhjbHVzaXZlbHkgbGltaXRlZCB0byB0aGUgY29uZmlndXJhdGlvbiBvZiBBV1MgQWNjb3VudHMgdGhhdCBhcmUgcGFydCBvZiB0aGlzIEFXUyBPcmdhbml6YXRpb24uJyxcbiAgICAgICAgJzMuIFRoZSBMaWNlbnNvciBvd25zIGFsbCAoaW50ZWxsZWN0dWFsIHByb3BlcnR5KSByaWdodHMgdG8gdGhlIElhQyBQbGF0Zm9ybSBhbmQgd2lsbCByZXRhaW4gYWxsIHJpZ2h0cyAtIGluIHRoZSBicm9hZGVzdCBzZW5zZSBvZiB0aGUgd29yZCAtIGR1cmluZyBhbmQgYWZ0ZXIgdGhpcyBhZ3JlZW1lbnQuIFRoaXMgaW5jbHVkZXMsIGJ1dCBpcyBub3QgbGltaXRlZCB0bywgcmlnaHRzIHRvIHRoZSBzb3VyY2UgY29kZSwgY29tcGlsZWQgY29kZSwgdXNlciBpbnRlcmZhY2VzLCBkb2N1bWVudGF0aW9uLCBpZGVhcywgZGVzaWducywgaW52ZW50aW9ucywgZGlzY292ZXJpZXMsIHRhbmdpYmxlIG9yIGludGFuZ2libGUuIFRoaXMgaW5jbHVkZXMsIGF0IGEgbWluaW11bSwgYWxsIGNvcHlyaWdodHMsIHBhdGVudCByaWdodHMsIHRyYWRlIHNlY3JldCByaWdodHMsIHRyYWRlbWFyayByaWdodHMsIG1vcmFsIHJpZ2h0cyBhbmQgb3RoZXIgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cy4nLFxuICAgICAgICAnNC4gVGhpcyBhZ3JlZW1lbnQgZXhwcmVzc2x5IGRvZXMgbm90IGludGVuZCB0byB0cmFuc2ZlciByaWdodHMgdG8gdGhlIExpY2Vuc2VlIGFuZCBkb2VzIG5vdCBpbXBseSBzdWNoIHRyYW5zZmVyLCBidXQgc29sZWx5IGdyYW50cyB0aGUgTGljZW5zZWUgdGhlIHJpZ2h0IHRvIHVzZS4nLFxuICAgICAgICAnNS4gVGhlIExpY2Vuc29yIGRvZXMgbm90IGdyYW50IGEgTGljZW5zZSB0byBzZWxsLCBkaXN0cmlidXRlLCBvciBwdWJsaXNoIHRoZSBJYUMgUGxhdGZvcm0gb3IgZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgSWFDIFBsYXRmb3JtIHdpdGhvdXQgZXhwbGljaXQgd3JpdHRlbiBjb25zZW50IG9mIHRoZSBMaWNlbnNvci4gVGhlIExpY2Vuc2VlIGlzIGV4cGxpY2l0bHkgcHJvaGliaXRlZCBmcm9tIHNlbGxpbmcsIGRpc3RyaWJ1dGluZywgb3IgcHVibGlzaGluZyB0aGUgTGljZW5zZSwgdGhlIElhQyBwbGF0Zm9ybSwgb3IgZGVyaXZhdGl2ZSB3b3JrcyBvZiB0aGUgSWFDIHBsYXRmb3JtLiBUaGUgTGljZW5zb3IgZG9lcyBub3Qgd2FpdmUgYW55IG1vcmFsIHJpZ2h0cyBhcyBtZW50aW9uZWQgaW4gQXJ0aWNsZSAyNSBvZiB0aGUgQ29weXJpZ2h0IEFjdC4nLFxuICAgICAgICAnNi4gVGhlIExpY2Vuc2UgaXMgbm9uLXRyYW5zZmVyYWJsZSBhbmQgY2FuIG9ubHkgYmUgdXNlZCBieSB0aGUgTGljZW5zZWUgYW5kIGl0cyBzdWJzaWRpYXJpZXMsIHdpdGggdGhlIGV4Y2VwdGlvbiBvZiB0aGUgdHJhbnNmZXIgYXMgZGVzY3JpYmVkIGluIEFydGljbGUgOSBvZiB0aGUgbGljZW5zZSBhZ3JlZW1lbnQuJyxcbiAgICAgICAgJzcuIFRoZSBMaWNlbnNvciByZXRhaW5zIHRoZSByaWdodCBhbmQgYWxzbyBpbnRlbmRzIHRvIHVzZSB0aGUgSWFDIFBsYXRmb3JtIGFuZCB0byBzZWxsIGxpY2Vuc2VzIG9mIHRoZSBJYUMgUGxhdGZvcm0gdG8gdGhpcmQgcGFydGllcy4nLFxuICAgICAgICAnOC4gVGhlIExpY2Vuc2VlIHdhaXZlcyBhbGwgcmlnaHRzIGFuZCwgYXMgbmVjZXNzYXJ5IHVwb24gZmlyc3QgcmVxdWVzdCwgdHJhbnNmZXJzIGFsbCBvd25lcnNoaXAgdG8gdGhlIExpY2Vuc29yIGFyaXNpbmcgZnJvbSBzdWdnZXN0aW9ucywgcmVxdWVzdHMgZm9yIGltcHJvdmVtZW50LCByZWNvbW1lbmRhdGlvbnMsIGFuZCBvdGhlciBmZWVkYmFjay4nLFxuICAgICAgICAnOS4gVGhlIExpY2Vuc2VlIGFjY2VwdHMgdGhhdCBwYXJ0cyBvZiB0aGUgSWFDIFBsYXRmb3JtIG1heSBjb250YWluIG9wZW4tc291cmNlIHNvZnR3YXJlIGFuZCBtYWtlIHVzZSBvZiBpdC4gVGhlIElhQyBwbGF0Zm9ybSBkb2VzIG5vdCBjb250YWluIG9wZW4tc291cmNlIHNvZnR3YXJlIHdpdGggbGljZW5zZXMgdGhhdCBmb3JjZSBvdGhlciBzb2Z0d2FyZSB0byBvcGVuIHNvdXJjZSBpbiBjYXNlIG9mIHVzYWdlLicsXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogUHJvamVuIHByb2plY3QgZm9yIGN1c3RvbWVyIHdvcmtsb2FkIENESyBwcm9qZWN0cy5cbiAqXG4gKiBUaGlzIGlzIGZvciBjdXN0b21lci1zcGVjaWZpYyB3b3JrbG9hZCBjb2RlIHRoYXQgcnVucyBvbiB0aGUgcGxhdGZvcm0uXG4gKiBEb2VzIE5PVCBpbmNsdWRlIHRoZSBwbGF0Zm9ybSBsaWNlbnNlLlxuICovXG5leHBvcnQgY2xhc3MgUm9ja2V0bGVhcFdvcmtsb2FkQ2RrUHJvamVjdCBleHRlbmRzIFJvY2tldGxlYXBCYXNlQ2RrUHJvamVjdCB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFJvY2tldGxlYXBDZGtQcm9qZWN0T3B0aW9ucykge1xuICAgIHN1cGVyKG9wdGlvbnMpO1xuXG4gICAgdGhpcy5nZW5lcmF0ZVNhbXBsZVByb2plbnJjKCdXb3JrbG9hZENka1Byb2plY3QnKTtcbiAgfVxufVxuXG4vKipcbiAqIFByb2plbiBwcm9qZWN0IGZvciBSb2NrZXRsZWFwIENESyBjb25zdHJ1Y3QgbGlicmFyeSBwcm9qZWN0cy5cbiAqXG4gKiBUaGlzIGlzIGZvciBDREsgY29uc3RydWN0IGxpYnJhcmllcyAoZS5nLiwgYnVpbGRpbmctYmxvY2tzLWNkaykuXG4gKiBJbmNsdWRlcyBDREsgcGVlciBkZXBlbmRlbmNpZXMgYW5kIHB1Ymxpc2hpbmcgY29uZmlndXJhdGlvbiBmb3IgR2l0SHViIFBhY2thZ2VzLlxuICovXG5leHBvcnQgY2xhc3MgUm9ja2V0bGVhcExpYnJhcnlDZGtQcm9qZWN0IGV4dGVuZHMgdHlwZXNjcmlwdC5UeXBlU2NyaXB0UHJvamVjdCB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFJvY2tldGxlYXBMaWJyYXJ5Q2RrUHJvamVjdE9wdGlvbnMpIHtcbiAgICBjb25zdCBjb21wYW55ID0gb3B0aW9ucy5jb21wYW55O1xuICAgIGNvbnN0IHByb2plY3QgPSBvcHRpb25zLnByb2plY3Q7XG4gICAgY29uc3QgY2RrVmVyc2lvbiA9IG9wdGlvbnMuY2RrVmVyc2lvbiA/PyAnMi4yMzguMCc7XG4gICAgY29uc3QgY29uc3RydWN0VmVyc2lvbiA9IG9wdGlvbnMuY29uc3RydWN0VmVyc2lvbiA/PyAnMTAuNC41JztcblxuICAgIHN1cGVyKHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBuYW1lOiBgQCR7Y29tcGFueX0vJHtwcm9qZWN0fWAsXG5cbiAgICAgIGRlZmF1bHRSZWxlYXNlQnJhbmNoOiAnbWFpbicsXG4gICAgICBnaXRodWJPcHRpb25zOiB7XG4gICAgICAgIG1lcmdpZnk6IGZhbHNlLFxuICAgICAgICB3b3JrZmxvd3M6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHB1bGxSZXF1ZXN0VGVtcGxhdGU6IGZhbHNlLFxuXG4gICAgICBsaWNlbnNlZDogZmFsc2UsXG4gICAgICBhdXRvRGV0ZWN0QmluOiBmYWxzZSxcblxuICAgICAgLi4uY3JlYXRlWWFybkNvbmZpZ3VyYXRpb24oY29tcGFueSksXG4gICAgICAuLi5MSUJSQVJZX0NPTVBJTEVfQ09ORklHVVJBVElPTixcbiAgICAgIC4uLkVTTElOVF9DT05GSUdVUkFUSU9OLFxuICAgICAgLi4uUFJFVFRJRVJfQ09ORklHVVJBVElPTixcbiAgICAgIC4uLkdJVF9DT05GSUdVUkFUSU9OLFxuICAgICAgLi4uU1dDX0NPTkZJR1VSQVRJT04sXG4gICAgfSk7XG5cbiAgICBjb25maWd1cmVTd2ModGhpcyk7XG4gICAgY29uZmlndXJlRXNMaW50KHRoaXMuZXNsaW50ISk7XG4gICAgY3JlYXRlUHJlQ29tbWl0Q29uZmlnKHRoaXMsIENES19QUkVfQ09NTUlUX0hPT0tTKTtcbiAgICBjb25maWd1cmVQYWNrYWdlSnNvbih0aGlzLCBMSUJSQVJZX1NDUklQVFMpO1xuXG4gICAgdGhpcy5wYWNrYWdlLmFkZEZpZWxkKCdtYWluJywgJ2Rpc3QvaW5kZXguanMnKTtcbiAgICB0aGlzLnBhY2thZ2UuYWRkRmllbGQoJ3R5cGVzJywgJ2Rpc3QvaW5kZXguZC50cycpO1xuICAgIHRoaXMucGFja2FnZS5hZGRGaWVsZCgnZmlsZXMnLCBbJ0FQSS5tZCcsICdkaXN0LyddKTtcbiAgICB0aGlzLnBhY2thZ2UuYWRkRmllbGQoJ3B1Ymxpc2hDb25maWcnLCB7XG4gICAgICByZWdpc3RyeTogJ2h0dHBzOi8vbnBtLnBrZy5naXRodWIuY29tLycsXG4gICAgfSk7XG5cbiAgICB0aGlzLnBhY2thZ2UuYWRkUGVlckRlcHMoYGF3cy1jZGstbGliQD0ke2Nka1ZlcnNpb259YCwgYGNvbnN0cnVjdHNAPSR7Y29uc3RydWN0VmVyc2lvbn1gKTtcbiAgICB0aGlzLnBhY2thZ2UuYWRkRGV2RGVwcyhgYXdzLWNkay1saWJAJHtjZGtWZXJzaW9ufWAsIGBjb25zdHJ1Y3RzQCR7Y29uc3RydWN0VmVyc2lvbn1gKTtcbiAgfVxufVxuIl19
@@ -1,8 +1,99 @@
1
+ import { Transform } from 'projen/lib/javascript';
2
+ import { NodeProject } from 'projen/lib/javascript/node-project';
3
+ export declare const COMPILE_TARGET = "ES2020";
4
+ /**
5
+ * Common compiler options shared across all Rocketleap project types.
6
+ */
7
+ export declare const COMMON_COMPILE_CONFIGURATION: {
8
+ alwaysStrict: boolean;
9
+ declaration: boolean;
10
+ esModuleInterop: boolean;
11
+ experimentalDecorators: boolean;
12
+ inlineSourceMap: boolean;
13
+ inlineSources: boolean;
14
+ lib: string[];
15
+ module: string;
16
+ noEmitOnError: boolean;
17
+ noFallthroughCasesInSwitch: boolean;
18
+ noImplicitAny: boolean;
19
+ noImplicitReturns: boolean;
20
+ noImplicitThis: boolean;
21
+ noUnusedLocals: boolean;
22
+ noUnusedParameters: boolean;
23
+ resolveJsonModule: boolean;
24
+ strict: boolean;
25
+ strictNullChecks: boolean;
26
+ strictPropertyInitialization: boolean;
27
+ stripInternal: boolean;
28
+ target: string;
29
+ };
30
+ /**
31
+ * Compile configuration for CDK application projects.
32
+ */
1
33
  export declare const COMPILE_CONFIGURATION: {
2
34
  tsconfig: {
3
35
  compilerOptions: {
36
+ alwaysStrict: boolean;
37
+ declaration: boolean;
38
+ esModuleInterop: boolean;
39
+ experimentalDecorators: boolean;
40
+ inlineSourceMap: boolean;
41
+ inlineSources: boolean;
42
+ lib: string[];
43
+ module: string;
44
+ noEmitOnError: boolean;
45
+ noFallthroughCasesInSwitch: boolean;
46
+ noImplicitAny: boolean;
47
+ noImplicitReturns: boolean;
48
+ noImplicitThis: boolean;
49
+ noUnusedLocals: boolean;
50
+ noUnusedParameters: boolean;
51
+ resolveJsonModule: boolean;
52
+ strict: boolean;
53
+ strictNullChecks: boolean;
54
+ strictPropertyInitialization: boolean;
55
+ stripInternal: boolean;
56
+ target: string;
4
57
  rootDir: string;
5
58
  outDir: string;
59
+ };
60
+ include: string[];
61
+ exclude: string[];
62
+ };
63
+ tsconfigDev: {
64
+ compilerOptions: {
65
+ sourceMap: boolean;
66
+ alwaysStrict: boolean;
67
+ declaration: boolean;
68
+ esModuleInterop: boolean;
69
+ experimentalDecorators: boolean;
70
+ inlineSourceMap: boolean;
71
+ inlineSources: boolean;
72
+ lib: string[];
73
+ module: string;
74
+ noEmitOnError: boolean;
75
+ noFallthroughCasesInSwitch: boolean;
76
+ noImplicitAny: boolean;
77
+ noImplicitReturns: boolean;
78
+ noImplicitThis: boolean;
79
+ noUnusedLocals: boolean;
80
+ noUnusedParameters: boolean;
81
+ resolveJsonModule: boolean;
82
+ strict: boolean;
83
+ strictNullChecks: boolean;
84
+ strictPropertyInitialization: boolean;
85
+ stripInternal: boolean;
86
+ target: string;
87
+ };
88
+ include: string[];
89
+ };
90
+ };
91
+ /**
92
+ * Compile configuration for CDK library projects.
93
+ */
94
+ export declare const LIBRARY_COMPILE_CONFIGURATION: {
95
+ tsconfig: {
96
+ compilerOptions: {
6
97
  alwaysStrict: boolean;
7
98
  declaration: boolean;
8
99
  esModuleInterop: boolean;
@@ -24,17 +115,19 @@ export declare const COMPILE_CONFIGURATION: {
24
115
  strictPropertyInitialization: boolean;
25
116
  stripInternal: boolean;
26
117
  target: string;
118
+ rootDir: string;
119
+ outDir: string;
27
120
  };
28
121
  include: string[];
29
122
  exclude: string[];
30
123
  };
31
124
  tsconfigDev: {
32
125
  compilerOptions: {
126
+ sourceMap: boolean;
33
127
  alwaysStrict: boolean;
34
128
  declaration: boolean;
35
129
  esModuleInterop: boolean;
36
130
  experimentalDecorators: boolean;
37
- sourceMap: boolean;
38
131
  inlineSourceMap: boolean;
39
132
  inlineSources: boolean;
40
133
  lib: string[];
@@ -56,3 +149,23 @@ export declare const COMPILE_CONFIGURATION: {
56
149
  include: string[];
57
150
  };
58
151
  };
152
+ /**
153
+ * SWC configuration for fast transpilation in Jest tests and CDK commands.
154
+ * SWC only transpiles — type checking remains via tsc in the build step.
155
+ */
156
+ export declare const SWC_CONFIGURATION: {
157
+ projenrcTsOptions: {
158
+ swc: boolean;
159
+ };
160
+ jestOptions: {
161
+ jestConfig: {
162
+ transform: {
163
+ '^.+\\.[t]sx?$': Transform;
164
+ };
165
+ };
166
+ };
167
+ };
168
+ /**
169
+ * Configures SWC-related settings that must be applied after project construction.
170
+ */
171
+ export declare function configureSwc(project: NodeProject): void;
@@ -1,62 +1,98 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.COMPILE_CONFIGURATION = void 0;
3
+ exports.SWC_CONFIGURATION = exports.LIBRARY_COMPILE_CONFIGURATION = exports.COMPILE_CONFIGURATION = exports.COMMON_COMPILE_CONFIGURATION = exports.COMPILE_TARGET = void 0;
4
+ exports.configureSwc = configureSwc;
5
+ const javascript_1 = require("projen/lib/javascript");
6
+ exports.COMPILE_TARGET = 'ES2020';
7
+ /**
8
+ * Common compiler options shared across all Rocketleap project types.
9
+ */
10
+ exports.COMMON_COMPILE_CONFIGURATION = {
11
+ alwaysStrict: true,
12
+ declaration: true,
13
+ esModuleInterop: true,
14
+ experimentalDecorators: true,
15
+ inlineSourceMap: true,
16
+ inlineSources: true,
17
+ lib: ['es2020'],
18
+ module: 'CommonJS',
19
+ noEmitOnError: false,
20
+ noFallthroughCasesInSwitch: true,
21
+ noImplicitAny: true,
22
+ noImplicitReturns: true,
23
+ noImplicitThis: true,
24
+ noUnusedLocals: true,
25
+ noUnusedParameters: true,
26
+ resolveJsonModule: true,
27
+ strict: true,
28
+ strictNullChecks: true,
29
+ strictPropertyInitialization: true,
30
+ stripInternal: true,
31
+ target: exports.COMPILE_TARGET,
32
+ };
33
+ /**
34
+ * Compile configuration for CDK application projects.
35
+ */
4
36
  exports.COMPILE_CONFIGURATION = {
5
37
  tsconfig: {
6
38
  compilerOptions: {
7
39
  rootDir: '',
8
40
  outDir: '',
9
- alwaysStrict: true,
10
- declaration: true,
11
- esModuleInterop: true,
12
- experimentalDecorators: true,
13
- inlineSourceMap: true,
14
- inlineSources: true,
15
- lib: ['es2024'],
16
- module: 'NodeNext',
17
- noEmitOnError: false,
18
- noFallthroughCasesInSwitch: true,
19
- noImplicitAny: true,
20
- noImplicitReturns: true,
21
- noImplicitThis: true,
22
- noUnusedLocals: true,
23
- noUnusedParameters: true,
24
- resolveJsonModule: true,
25
- strict: true,
26
- strictNullChecks: true,
27
- strictPropertyInitialization: true,
28
- stripInternal: true,
29
- target: 'ES2024',
41
+ ...exports.COMMON_COMPILE_CONFIGURATION,
30
42
  },
31
43
  include: ['src/**/*.ts', 'bin/**/*ts'],
32
44
  exclude: ['cdk.out', 'node_modules'],
33
45
  },
34
46
  tsconfigDev: {
35
47
  compilerOptions: {
36
- alwaysStrict: true,
37
- declaration: true,
38
- esModuleInterop: true,
39
- experimentalDecorators: true,
48
+ ...exports.COMMON_COMPILE_CONFIGURATION,
40
49
  sourceMap: true,
41
- inlineSourceMap: true,
42
- inlineSources: true,
43
- lib: ['es2020'],
44
- module: 'CommonJS',
45
- noEmitOnError: false,
46
- noFallthroughCasesInSwitch: true,
47
- noImplicitAny: true,
48
- noImplicitReturns: true,
49
- noImplicitThis: true,
50
- noUnusedLocals: true,
51
- noUnusedParameters: true,
52
- resolveJsonModule: true,
53
- strict: true,
54
- strictNullChecks: true,
55
- strictPropertyInitialization: true,
56
- stripInternal: true,
57
- target: 'ES2020',
58
50
  },
59
51
  include: ['src/**/*.ts', 'bin/**/*ts', 'test/**/*.ts'],
60
52
  },
61
53
  };
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vY29tcGlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLHFCQUFxQixHQUFHO0lBQ25DLFFBQVEsRUFBRTtRQUNSLGVBQWUsRUFBRTtZQUNmLE9BQU8sRUFBRSxFQUFFO1lBQ1gsTUFBTSxFQUFFLEVBQUU7WUFDVixZQUFZLEVBQUUsSUFBSTtZQUNsQixXQUFXLEVBQUUsSUFBSTtZQUNqQixlQUFlLEVBQUUsSUFBSTtZQUNyQixzQkFBc0IsRUFBRSxJQUFJO1lBQzVCLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLGFBQWEsRUFBRSxJQUFJO1lBQ25CLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQUNmLE1BQU0sRUFBRSxVQUFVO1lBQ2xCLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLDBCQUEwQixFQUFFLElBQUk7WUFDaEMsYUFBYSxFQUFFLElBQUk7WUFDbkIsaUJBQWlCLEVBQUUsSUFBSTtZQUN2QixjQUFjLEVBQUUsSUFBSTtZQUNwQixjQUFjLEVBQUUsSUFBSTtZQUNwQixrQkFBa0IsRUFBRSxJQUFJO1lBQ3hCLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsTUFBTSxFQUFFLElBQUk7WUFDWixnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLDRCQUE0QixFQUFFLElBQUk7WUFDbEMsYUFBYSxFQUFFLElBQUk7WUFDbkIsTUFBTSxFQUFFLFFBQVE7U0FDakI7UUFDRCxPQUFPLEVBQUUsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDO1FBQ3RDLE9BQU8sRUFBRSxDQUFDLFNBQVMsRUFBRSxjQUFjLENBQUM7S0FDckM7SUFDRCxXQUFXLEVBQUU7UUFDWCxlQUFlLEVBQUU7WUFDZixZQUFZLEVBQUUsSUFBSTtZQUNsQixXQUFXLEVBQUUsSUFBSTtZQUNqQixlQUFlLEVBQUUsSUFBSTtZQUNyQixzQkFBc0IsRUFBRSxJQUFJO1lBQzVCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsZUFBZSxFQUFFLElBQUk7WUFDckIsYUFBYSxFQUFFLElBQUk7WUFDbkIsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDO1lBQ2YsTUFBTSxFQUFFLFVBQVU7WUFDbEIsYUFBYSxFQUFFLEtBQUs7WUFDcEIsMEJBQTBCLEVBQUUsSUFBSTtZQUNoQyxhQUFhLEVBQUUsSUFBSTtZQUNuQixpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLGtCQUFrQixFQUFFLElBQUk7WUFDeEIsaUJBQWlCLEVBQUUsSUFBSTtZQUN2QixNQUFNLEVBQUUsSUFBSTtZQUNaLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsNEJBQTRCLEVBQUUsSUFBSTtZQUNsQyxhQUFhLEVBQUUsSUFBSTtZQUNuQixNQUFNLEVBQUUsUUFBUTtTQUNqQjtRQUNELE9BQU8sRUFBRSxDQUFDLGFBQWEsRUFBRSxZQUFZLEVBQUUsY0FBYyxDQUFDO0tBQ3ZEO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBDT01QSUxFX0NPTkZJR1VSQVRJT04gPSB7XG4gIHRzY29uZmlnOiB7XG4gICAgY29tcGlsZXJPcHRpb25zOiB7XG4gICAgICByb290RGlyOiAnJyxcbiAgICAgIG91dERpcjogJycsXG4gICAgICBhbHdheXNTdHJpY3Q6IHRydWUsXG4gICAgICBkZWNsYXJhdGlvbjogdHJ1ZSxcbiAgICAgIGVzTW9kdWxlSW50ZXJvcDogdHJ1ZSxcbiAgICAgIGV4cGVyaW1lbnRhbERlY29yYXRvcnM6IHRydWUsXG4gICAgICBpbmxpbmVTb3VyY2VNYXA6IHRydWUsXG4gICAgICBpbmxpbmVTb3VyY2VzOiB0cnVlLFxuICAgICAgbGliOiBbJ2VzMjAyNCddLFxuICAgICAgbW9kdWxlOiAnTm9kZU5leHQnLFxuICAgICAgbm9FbWl0T25FcnJvcjogZmFsc2UsXG4gICAgICBub0ZhbGx0aHJvdWdoQ2FzZXNJblN3aXRjaDogdHJ1ZSxcbiAgICAgIG5vSW1wbGljaXRBbnk6IHRydWUsXG4gICAgICBub0ltcGxpY2l0UmV0dXJuczogdHJ1ZSxcbiAgICAgIG5vSW1wbGljaXRUaGlzOiB0cnVlLFxuICAgICAgbm9VbnVzZWRMb2NhbHM6IHRydWUsXG4gICAgICBub1VudXNlZFBhcmFtZXRlcnM6IHRydWUsXG4gICAgICByZXNvbHZlSnNvbk1vZHVsZTogdHJ1ZSxcbiAgICAgIHN0cmljdDogdHJ1ZSxcbiAgICAgIHN0cmljdE51bGxDaGVja3M6IHRydWUsXG4gICAgICBzdHJpY3RQcm9wZXJ0eUluaXRpYWxpemF0aW9uOiB0cnVlLFxuICAgICAgc3RyaXBJbnRlcm5hbDogdHJ1ZSxcbiAgICAgIHRhcmdldDogJ0VTMjAyNCcsXG4gICAgfSxcbiAgICBpbmNsdWRlOiBbJ3NyYy8qKi8qLnRzJywgJ2Jpbi8qKi8qdHMnXSxcbiAgICBleGNsdWRlOiBbJ2Nkay5vdXQnLCAnbm9kZV9tb2R1bGVzJ10sXG4gIH0sXG4gIHRzY29uZmlnRGV2OiB7XG4gICAgY29tcGlsZXJPcHRpb25zOiB7XG4gICAgICBhbHdheXNTdHJpY3Q6IHRydWUsXG4gICAgICBkZWNsYXJhdGlvbjogdHJ1ZSxcbiAgICAgIGVzTW9kdWxlSW50ZXJvcDogdHJ1ZSxcbiAgICAgIGV4cGVyaW1lbnRhbERlY29yYXRvcnM6IHRydWUsXG4gICAgICBzb3VyY2VNYXA6IHRydWUsXG4gICAgICBpbmxpbmVTb3VyY2VNYXA6IHRydWUsXG4gICAgICBpbmxpbmVTb3VyY2VzOiB0cnVlLFxuICAgICAgbGliOiBbJ2VzMjAyMCddLFxuICAgICAgbW9kdWxlOiAnQ29tbW9uSlMnLFxuICAgICAgbm9FbWl0T25FcnJvcjogZmFsc2UsXG4gICAgICBub0ZhbGx0aHJvdWdoQ2FzZXNJblN3aXRjaDogdHJ1ZSxcbiAgICAgIG5vSW1wbGljaXRBbnk6IHRydWUsXG4gICAgICBub0ltcGxpY2l0UmV0dXJuczogdHJ1ZSxcbiAgICAgIG5vSW1wbGljaXRUaGlzOiB0cnVlLFxuICAgICAgbm9VbnVzZWRMb2NhbHM6IHRydWUsXG4gICAgICBub1VudXNlZFBhcmFtZXRlcnM6IHRydWUsXG4gICAgICByZXNvbHZlSnNvbk1vZHVsZTogdHJ1ZSxcbiAgICAgIHN0cmljdDogdHJ1ZSxcbiAgICAgIHN0cmljdE51bGxDaGVja3M6IHRydWUsXG4gICAgICBzdHJpY3RQcm9wZXJ0eUluaXRpYWxpemF0aW9uOiB0cnVlLFxuICAgICAgc3RyaXBJbnRlcm5hbDogdHJ1ZSxcbiAgICAgIHRhcmdldDogJ0VTMjAyMCcsXG4gICAgfSxcbiAgICBpbmNsdWRlOiBbJ3NyYy8qKi8qLnRzJywgJ2Jpbi8qKi8qdHMnLCAndGVzdC8qKi8qLnRzJ10sXG4gIH0sXG59O1xuIl19
54
+ /**
55
+ * Compile configuration for CDK library projects.
56
+ */
57
+ exports.LIBRARY_COMPILE_CONFIGURATION = {
58
+ tsconfig: {
59
+ compilerOptions: {
60
+ rootDir: 'src',
61
+ outDir: 'dist',
62
+ ...exports.COMMON_COMPILE_CONFIGURATION,
63
+ },
64
+ include: ['src/**/*.ts'],
65
+ exclude: ['cdk.out', 'node_modules'],
66
+ },
67
+ tsconfigDev: {
68
+ compilerOptions: {
69
+ ...exports.COMMON_COMPILE_CONFIGURATION,
70
+ sourceMap: true,
71
+ },
72
+ include: ['src/**/*.ts', 'test/**/*.ts'],
73
+ },
74
+ };
75
+ /**
76
+ * SWC configuration for fast transpilation in Jest tests and CDK commands.
77
+ * SWC only transpiles — type checking remains via tsc in the build step.
78
+ */
79
+ exports.SWC_CONFIGURATION = {
80
+ projenrcTsOptions: { swc: true },
81
+ jestOptions: {
82
+ jestConfig: {
83
+ transform: {
84
+ '^.+\\.[t]sx?$': new javascript_1.Transform('@swc/jest', {
85
+ jsc: { target: exports.COMPILE_TARGET.toLowerCase() },
86
+ }),
87
+ },
88
+ },
89
+ },
90
+ };
91
+ /**
92
+ * Configures SWC-related settings that must be applied after project construction.
93
+ */
94
+ function configureSwc(project) {
95
+ javascript_1.Jest.of(project).config.workerIdleMemoryLimit = '512MB';
96
+ project.addDevDeps('@swc/jest');
97
+ }
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vY29tcGlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFnR0Esb0NBR0M7QUFuR0Qsc0RBQXdEO0FBRzNDLFFBQUEsY0FBYyxHQUFHLFFBQVEsQ0FBQztBQUV2Qzs7R0FFRztBQUNVLFFBQUEsNEJBQTRCLEdBQUc7SUFDMUMsWUFBWSxFQUFFLElBQUk7SUFDbEIsV0FBVyxFQUFFLElBQUk7SUFDakIsZUFBZSxFQUFFLElBQUk7SUFDckIsc0JBQXNCLEVBQUUsSUFBSTtJQUM1QixlQUFlLEVBQUUsSUFBSTtJQUNyQixhQUFhLEVBQUUsSUFBSTtJQUNuQixHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUM7SUFDZixNQUFNLEVBQUUsVUFBVTtJQUNsQixhQUFhLEVBQUUsS0FBSztJQUNwQiwwQkFBMEIsRUFBRSxJQUFJO0lBQ2hDLGFBQWEsRUFBRSxJQUFJO0lBQ25CLGlCQUFpQixFQUFFLElBQUk7SUFDdkIsY0FBYyxFQUFFLElBQUk7SUFDcEIsY0FBYyxFQUFFLElBQUk7SUFDcEIsa0JBQWtCLEVBQUUsSUFBSTtJQUN4QixpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCLE1BQU0sRUFBRSxJQUFJO0lBQ1osZ0JBQWdCLEVBQUUsSUFBSTtJQUN0Qiw0QkFBNEIsRUFBRSxJQUFJO0lBQ2xDLGFBQWEsRUFBRSxJQUFJO0lBQ25CLE1BQU0sRUFBRSxzQkFBYztDQUN2QixDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLHFCQUFxQixHQUFHO0lBQ25DLFFBQVEsRUFBRTtRQUNSLGVBQWUsRUFBRTtZQUNmLE9BQU8sRUFBRSxFQUFFO1lBQ1gsTUFBTSxFQUFFLEVBQUU7WUFDVixHQUFHLG9DQUE0QjtTQUNoQztRQUNELE9BQU8sRUFBRSxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUM7UUFDdEMsT0FBTyxFQUFFLENBQUMsU0FBUyxFQUFFLGNBQWMsQ0FBQztLQUNyQztJQUNELFdBQVcsRUFBRTtRQUNYLGVBQWUsRUFBRTtZQUNmLEdBQUcsb0NBQTRCO1lBQy9CLFNBQVMsRUFBRSxJQUFJO1NBQ2hCO1FBQ0QsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLFlBQVksRUFBRSxjQUFjLENBQUM7S0FDdkQ7Q0FDRixDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLDZCQUE2QixHQUFHO0lBQzNDLFFBQVEsRUFBRTtRQUNSLGVBQWUsRUFBRTtZQUNmLE9BQU8sRUFBRSxLQUFLO1lBQ2QsTUFBTSxFQUFFLE1BQU07WUFDZCxHQUFHLG9DQUE0QjtTQUNoQztRQUNELE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUN4QixPQUFPLEVBQUUsQ0FBQyxTQUFTLEVBQUUsY0FBYyxDQUFDO0tBQ3JDO0lBQ0QsV0FBVyxFQUFFO1FBQ1gsZUFBZSxFQUFFO1lBQ2YsR0FBRyxvQ0FBNEI7WUFDL0IsU0FBUyxFQUFFLElBQUk7U0FDaEI7UUFDRCxPQUFPLEVBQUUsQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDO0tBQ3pDO0NBQ0YsQ0FBQztBQUVGOzs7R0FHRztBQUNVLFFBQUEsaUJBQWlCLEdBQUc7SUFDL0IsaUJBQWlCLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFO0lBQ2hDLFdBQVcsRUFBRTtRQUNYLFVBQVUsRUFBRTtZQUNWLFNBQVMsRUFBRTtnQkFDVCxlQUFlLEVBQUUsSUFBSSxzQkFBUyxDQUFDLFdBQVcsRUFBRTtvQkFDMUMsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLHNCQUFjLENBQUMsV0FBVyxFQUFFLEVBQUU7aUJBQzlDLENBQUM7YUFDSDtTQUNGO0tBQ0Y7Q0FDRixDQUFDO0FBRUY7O0dBRUc7QUFDSCxTQUFnQixZQUFZLENBQUMsT0FBb0I7SUFDL0MsaUJBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFFLENBQUMsTUFBTSxDQUFDLHFCQUFxQixHQUFHLE9BQU8sQ0FBQztJQUN6RCxPQUFPLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ2xDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBKZXN0LCBUcmFuc2Zvcm0gfSBmcm9tICdwcm9qZW4vbGliL2phdmFzY3JpcHQnO1xuaW1wb3J0IHsgTm9kZVByb2plY3QgfSBmcm9tICdwcm9qZW4vbGliL2phdmFzY3JpcHQvbm9kZS1wcm9qZWN0JztcblxuZXhwb3J0IGNvbnN0IENPTVBJTEVfVEFSR0VUID0gJ0VTMjAyMCc7XG5cbi8qKlxuICogQ29tbW9uIGNvbXBpbGVyIG9wdGlvbnMgc2hhcmVkIGFjcm9zcyBhbGwgUm9ja2V0bGVhcCBwcm9qZWN0IHR5cGVzLlxuICovXG5leHBvcnQgY29uc3QgQ09NTU9OX0NPTVBJTEVfQ09ORklHVVJBVElPTiA9IHtcbiAgYWx3YXlzU3RyaWN0OiB0cnVlLFxuICBkZWNsYXJhdGlvbjogdHJ1ZSxcbiAgZXNNb2R1bGVJbnRlcm9wOiB0cnVlLFxuICBleHBlcmltZW50YWxEZWNvcmF0b3JzOiB0cnVlLFxuICBpbmxpbmVTb3VyY2VNYXA6IHRydWUsXG4gIGlubGluZVNvdXJjZXM6IHRydWUsXG4gIGxpYjogWydlczIwMjAnXSxcbiAgbW9kdWxlOiAnQ29tbW9uSlMnLFxuICBub0VtaXRPbkVycm9yOiBmYWxzZSxcbiAgbm9GYWxsdGhyb3VnaENhc2VzSW5Td2l0Y2g6IHRydWUsXG4gIG5vSW1wbGljaXRBbnk6IHRydWUsXG4gIG5vSW1wbGljaXRSZXR1cm5zOiB0cnVlLFxuICBub0ltcGxpY2l0VGhpczogdHJ1ZSxcbiAgbm9VbnVzZWRMb2NhbHM6IHRydWUsXG4gIG5vVW51c2VkUGFyYW1ldGVyczogdHJ1ZSxcbiAgcmVzb2x2ZUpzb25Nb2R1bGU6IHRydWUsXG4gIHN0cmljdDogdHJ1ZSxcbiAgc3RyaWN0TnVsbENoZWNrczogdHJ1ZSxcbiAgc3RyaWN0UHJvcGVydHlJbml0aWFsaXphdGlvbjogdHJ1ZSxcbiAgc3RyaXBJbnRlcm5hbDogdHJ1ZSxcbiAgdGFyZ2V0OiBDT01QSUxFX1RBUkdFVCxcbn07XG5cbi8qKlxuICogQ29tcGlsZSBjb25maWd1cmF0aW9uIGZvciBDREsgYXBwbGljYXRpb24gcHJvamVjdHMuXG4gKi9cbmV4cG9ydCBjb25zdCBDT01QSUxFX0NPTkZJR1VSQVRJT04gPSB7XG4gIHRzY29uZmlnOiB7XG4gICAgY29tcGlsZXJPcHRpb25zOiB7XG4gICAgICByb290RGlyOiAnJyxcbiAgICAgIG91dERpcjogJycsXG4gICAgICAuLi5DT01NT05fQ09NUElMRV9DT05GSUdVUkFUSU9OLFxuICAgIH0sXG4gICAgaW5jbHVkZTogWydzcmMvKiovKi50cycsICdiaW4vKiovKnRzJ10sXG4gICAgZXhjbHVkZTogWydjZGsub3V0JywgJ25vZGVfbW9kdWxlcyddLFxuICB9LFxuICB0c2NvbmZpZ0Rldjoge1xuICAgIGNvbXBpbGVyT3B0aW9uczoge1xuICAgICAgLi4uQ09NTU9OX0NPTVBJTEVfQ09ORklHVVJBVElPTixcbiAgICAgIHNvdXJjZU1hcDogdHJ1ZSxcbiAgICB9LFxuICAgIGluY2x1ZGU6IFsnc3JjLyoqLyoudHMnLCAnYmluLyoqLyp0cycsICd0ZXN0LyoqLyoudHMnXSxcbiAgfSxcbn07XG5cbi8qKlxuICogQ29tcGlsZSBjb25maWd1cmF0aW9uIGZvciBDREsgbGlicmFyeSBwcm9qZWN0cy5cbiAqL1xuZXhwb3J0IGNvbnN0IExJQlJBUllfQ09NUElMRV9DT05GSUdVUkFUSU9OID0ge1xuICB0c2NvbmZpZzoge1xuICAgIGNvbXBpbGVyT3B0aW9uczoge1xuICAgICAgcm9vdERpcjogJ3NyYycsXG4gICAgICBvdXREaXI6ICdkaXN0JyxcbiAgICAgIC4uLkNPTU1PTl9DT01QSUxFX0NPTkZJR1VSQVRJT04sXG4gICAgfSxcbiAgICBpbmNsdWRlOiBbJ3NyYy8qKi8qLnRzJ10sXG4gICAgZXhjbHVkZTogWydjZGsub3V0JywgJ25vZGVfbW9kdWxlcyddLFxuICB9LFxuICB0c2NvbmZpZ0Rldjoge1xuICAgIGNvbXBpbGVyT3B0aW9uczoge1xuICAgICAgLi4uQ09NTU9OX0NPTVBJTEVfQ09ORklHVVJBVElPTixcbiAgICAgIHNvdXJjZU1hcDogdHJ1ZSxcbiAgICB9LFxuICAgIGluY2x1ZGU6IFsnc3JjLyoqLyoudHMnLCAndGVzdC8qKi8qLnRzJ10sXG4gIH0sXG59O1xuXG4vKipcbiAqIFNXQyBjb25maWd1cmF0aW9uIGZvciBmYXN0IHRyYW5zcGlsYXRpb24gaW4gSmVzdCB0ZXN0cyBhbmQgQ0RLIGNvbW1hbmRzLlxuICogU1dDIG9ubHkgdHJhbnNwaWxlcyDigJQgdHlwZSBjaGVja2luZyByZW1haW5zIHZpYSB0c2MgaW4gdGhlIGJ1aWxkIHN0ZXAuXG4gKi9cbmV4cG9ydCBjb25zdCBTV0NfQ09ORklHVVJBVElPTiA9IHtcbiAgcHJvamVucmNUc09wdGlvbnM6IHsgc3djOiB0cnVlIH0sXG4gIGplc3RPcHRpb25zOiB7XG4gICAgamVzdENvbmZpZzoge1xuICAgICAgdHJhbnNmb3JtOiB7XG4gICAgICAgICdeLitcXFxcLlt0XXN4PyQnOiBuZXcgVHJhbnNmb3JtKCdAc3djL2plc3QnLCB7XG4gICAgICAgICAganNjOiB7IHRhcmdldDogQ09NUElMRV9UQVJHRVQudG9Mb3dlckNhc2UoKSB9LFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbn07XG5cbi8qKlxuICogQ29uZmlndXJlcyBTV0MtcmVsYXRlZCBzZXR0aW5ncyB0aGF0IG11c3QgYmUgYXBwbGllZCBhZnRlciBwcm9qZWN0IGNvbnN0cnVjdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbmZpZ3VyZVN3Yyhwcm9qZWN0OiBOb2RlUHJvamVjdCk6IHZvaWQge1xuICBKZXN0Lm9mKHByb2plY3QpIS5jb25maWcud29ya2VySWRsZU1lbW9yeUxpbWl0ID0gJzUxMk1CJztcbiAgcHJvamVjdC5hZGREZXZEZXBzKCdAc3djL2plc3QnKTtcbn1cbiJdfQ==
@@ -1,4 +1,43 @@
1
1
  import { NodeProject } from 'projen/lib/javascript/node-project';
2
- export declare function configurePackageJson(project: NodeProject, additionalScripts: {
2
+ /**
3
+ * npm scripts for CDK application projects.
4
+ */
5
+ export declare const CDK_SCRIPTS: {
6
+ build: string;
7
+ clean: string;
8
+ watch: string;
9
+ synth: string;
10
+ list: string;
11
+ bootstrap: string;
12
+ diff: string;
13
+ 'diff:ci': string;
14
+ deploy: string;
15
+ 'deploy:ci': string;
16
+ destroy: string;
17
+ 'destroy:ci': string;
18
+ format: string;
19
+ 'format:ci': string;
20
+ lint: string;
21
+ 'lint:ci': string;
22
+ test: string;
23
+ 'test:ci': string;
24
+ 'test:update-snapshots': string;
25
+ };
26
+ /**
27
+ * npm scripts for CDK library projects.
28
+ */
29
+ export declare const LIBRARY_SCRIPTS: {
30
+ build: string;
31
+ 'build:dev': string;
32
+ clean: string;
33
+ format: string;
34
+ 'format:ci': string;
35
+ lint: string;
36
+ 'lint:ci': string;
37
+ test: string;
38
+ 'test:ci': string;
39
+ 'test:update-snapshots': string;
40
+ };
41
+ export declare function configurePackageJson(project: NodeProject, scripts: {
3
42
  [name: string]: string;
4
43
  }): void;
@@ -1,16 +1,48 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LIBRARY_SCRIPTS = exports.CDK_SCRIPTS = void 0;
3
4
  exports.configurePackageJson = configurePackageJson;
4
- const DEFAULT_PACKAGE_COMMANDS = {
5
+ /**
6
+ * Common npm scripts shared across all Rocketleap project types.
7
+ */
8
+ const COMMON_SCRIPTS = {
9
+ 'format': "prettier --write . '!**/*.{js,d.ts}'",
10
+ 'format:ci': "prettier -c . '!**/*.{js,d.ts}'",
5
11
  'lint': 'eslint --fix .',
6
12
  'lint:ci': 'eslint --max-warnings=0 .',
13
+ 'test': 'jest',
14
+ 'test:ci': 'jest --ci',
15
+ 'test:update-snapshots': 'jest --updateSnapshot',
16
+ };
17
+ /**
18
+ * npm scripts for CDK application projects.
19
+ */
20
+ exports.CDK_SCRIPTS = {
21
+ ...COMMON_SCRIPTS,
22
+ 'build': 'tsc',
7
23
  'clean': 'find bin src test -type f \\( -name "*.js" -o -name "*.d.ts" \\) -delete',
24
+ 'watch': 'tsc -w',
25
+ 'synth': 'cdk synth --output cdk.out/$0/ --app "yarn ts-node --swc --prefer-ts-exts bin/$0.ts";',
26
+ 'list': 'cdk list --output cdk.out/$0/ --app "yarn ts-node --swc --prefer-ts-exts bin/$0.ts";',
27
+ 'bootstrap': 'cdk bootstrap --output cdk.out/$0/ --app "yarn ts-node --swc --prefer-ts-exts bin/$0.ts";',
28
+ 'diff': 'cdk diff --output cdk.out/$0/ -e --app "yarn ts-node --swc --prefer-ts-exts bin/$0.ts" ${1:---all};',
29
+ 'diff:ci': 'cdk diff --ci --app "yarn ts-node --swc --prefer-ts-exts $0";',
30
+ 'deploy': 'cdk deploy --concurrency 10 --require-approval never --output cdk.out/$0/ -e --app "yarn ts-node --swc --prefer-ts-exts bin/$0.ts" ${1:---all};',
31
+ 'deploy:ci': 'cdk deploy --concurrency 10 --ci --all --app "yarn ts-node --swc --prefer-ts-exts $0";',
32
+ 'destroy': 'cdk destroy --output cdk.out/$0/ -e --app "yarn ts-node --swc --prefer-ts-exts bin/$0.ts" ${1:---all};',
33
+ 'destroy:ci': 'cdk destroy --ci -f --all --output cdk.out/$0/ --app "yarn ts-node --swc --prefer-ts-exts $0";',
34
+ };
35
+ /**
36
+ * npm scripts for CDK library projects.
37
+ */
38
+ exports.LIBRARY_SCRIPTS = {
39
+ ...COMMON_SCRIPTS,
40
+ 'build': 'tsc -p tsconfig.json',
41
+ 'build:dev': 'tsc -p tsconfig.dev.json',
42
+ 'clean': 'find src test -type f \\( -name "*.js" -o -name "*.d.ts" \\) -delete',
8
43
  };
9
- function configurePackageJson(project, additionalScripts) {
10
- project.addScripts({
11
- ...DEFAULT_PACKAGE_COMMANDS,
12
- ...additionalScripts,
13
- });
44
+ function configurePackageJson(project, scripts) {
45
+ project.addScripts(scripts);
14
46
  project.package.addDevDeps(...['eslint@^8', 'eslint-plugin-jest@^28.x.x']);
15
47
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZS1qc29uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1vbi9wYWNrYWdlLWpzb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFRQSxvREFXQztBQWpCRCxNQUFNLHdCQUF3QixHQUFHO0lBQy9CLE1BQU0sRUFBRSxnQkFBZ0I7SUFDeEIsU0FBUyxFQUFFLDJCQUEyQjtJQUN0QyxPQUFPLEVBQUUsMEVBQTBFO0NBQ3BGLENBQUM7QUFFRixTQUFnQixvQkFBb0IsQ0FDbEMsT0FBb0IsRUFDcEIsaUJBRUM7SUFFRCxPQUFPLENBQUMsVUFBVSxDQUFDO1FBQ2pCLEdBQUcsd0JBQXdCO1FBQzNCLEdBQUcsaUJBQWlCO0tBQ3JCLENBQUMsQ0FBQztJQUNILE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsNEJBQTRCLENBQUMsQ0FBQyxDQUFDO0FBQzdFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb2RlUHJvamVjdCB9IGZyb20gJ3Byb2plbi9saWIvamF2YXNjcmlwdC9ub2RlLXByb2plY3QnO1xuXG5jb25zdCBERUZBVUxUX1BBQ0tBR0VfQ09NTUFORFMgPSB7XG4gICdsaW50JzogJ2VzbGludCAtLWZpeCAuJyxcbiAgJ2xpbnQ6Y2knOiAnZXNsaW50IC0tbWF4LXdhcm5pbmdzPTAgLicsXG4gICdjbGVhbic6ICdmaW5kIGJpbiBzcmMgdGVzdCAtdHlwZSBmIFxcXFwoIC1uYW1lIFwiKi5qc1wiIC1vIC1uYW1lIFwiKi5kLnRzXCIgXFxcXCkgLWRlbGV0ZScsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gY29uZmlndXJlUGFja2FnZUpzb24oXG4gIHByb2plY3Q6IE5vZGVQcm9qZWN0LFxuICBhZGRpdGlvbmFsU2NyaXB0czoge1xuICAgIFtuYW1lOiBzdHJpbmddOiBzdHJpbmc7XG4gIH0sXG4pOiB2b2lkIHtcbiAgcHJvamVjdC5hZGRTY3JpcHRzKHtcbiAgICAuLi5ERUZBVUxUX1BBQ0tBR0VfQ09NTUFORFMsXG4gICAgLi4uYWRkaXRpb25hbFNjcmlwdHMsXG4gIH0pO1xuICBwcm9qZWN0LnBhY2thZ2UuYWRkRGV2RGVwcyguLi5bJ2VzbGludEBeOCcsICdlc2xpbnQtcGx1Z2luLWplc3RAXjI4LngueCddKTtcbn1cbiJdfQ==
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZS1qc29uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1vbi9wYWNrYWdlLWpzb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBNkNBLG9EQVFDO0FBbkREOztHQUVHO0FBQ0gsTUFBTSxjQUFjLEdBQUc7SUFDckIsUUFBUSxFQUFFLHNDQUFzQztJQUNoRCxXQUFXLEVBQUUsaUNBQWlDO0lBQzlDLE1BQU0sRUFBRSxnQkFBZ0I7SUFDeEIsU0FBUyxFQUFFLDJCQUEyQjtJQUN0QyxNQUFNLEVBQUUsTUFBTTtJQUNkLFNBQVMsRUFBRSxXQUFXO0lBQ3RCLHVCQUF1QixFQUFFLHVCQUF1QjtDQUNqRCxDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLFdBQVcsR0FBRztJQUN6QixHQUFHLGNBQWM7SUFDakIsT0FBTyxFQUFFLEtBQUs7SUFDZCxPQUFPLEVBQUUsMEVBQTBFO0lBQ25GLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLE9BQU8sRUFBRSx1RkFBdUY7SUFDaEcsTUFBTSxFQUFFLHNGQUFzRjtJQUM5RixXQUFXLEVBQUUsMkZBQTJGO0lBQ3hHLE1BQU0sRUFBRSxxR0FBcUc7SUFDN0csU0FBUyxFQUFFLCtEQUErRDtJQUMxRSxRQUFRLEVBQ04saUpBQWlKO0lBQ25KLFdBQVcsRUFBRSx3RkFBd0Y7SUFDckcsU0FBUyxFQUFFLHdHQUF3RztJQUNuSCxZQUFZLEVBQUUsa0dBQWtHO0NBQ2pILENBQUM7QUFFRjs7R0FFRztBQUNVLFFBQUEsZUFBZSxHQUFHO0lBQzdCLEdBQUcsY0FBYztJQUNqQixPQUFPLEVBQUUsc0JBQXNCO0lBQy9CLFdBQVcsRUFBRSwwQkFBMEI7SUFDdkMsT0FBTyxFQUFFLHNFQUFzRTtDQUNoRixDQUFDO0FBRUYsU0FBZ0Isb0JBQW9CLENBQ2xDLE9BQW9CLEVBQ3BCLE9BRUM7SUFFRCxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVCLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsNEJBQTRCLENBQUMsQ0FBQyxDQUFDO0FBQzdFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb2RlUHJvamVjdCB9IGZyb20gJ3Byb2plbi9saWIvamF2YXNjcmlwdC9ub2RlLXByb2plY3QnO1xuXG4vKipcbiAqIENvbW1vbiBucG0gc2NyaXB0cyBzaGFyZWQgYWNyb3NzIGFsbCBSb2NrZXRsZWFwIHByb2plY3QgdHlwZXMuXG4gKi9cbmNvbnN0IENPTU1PTl9TQ1JJUFRTID0ge1xuICAnZm9ybWF0JzogXCJwcmV0dGllciAtLXdyaXRlIC4gJyEqKi8qLntqcyxkLnRzfSdcIixcbiAgJ2Zvcm1hdDpjaSc6IFwicHJldHRpZXIgLWMgLiAnISoqLyoue2pzLGQudHN9J1wiLFxuICAnbGludCc6ICdlc2xpbnQgLS1maXggLicsXG4gICdsaW50OmNpJzogJ2VzbGludCAtLW1heC13YXJuaW5ncz0wIC4nLFxuICAndGVzdCc6ICdqZXN0JyxcbiAgJ3Rlc3Q6Y2knOiAnamVzdCAtLWNpJyxcbiAgJ3Rlc3Q6dXBkYXRlLXNuYXBzaG90cyc6ICdqZXN0IC0tdXBkYXRlU25hcHNob3QnLFxufTtcblxuLyoqXG4gKiBucG0gc2NyaXB0cyBmb3IgQ0RLIGFwcGxpY2F0aW9uIHByb2plY3RzLlxuICovXG5leHBvcnQgY29uc3QgQ0RLX1NDUklQVFMgPSB7XG4gIC4uLkNPTU1PTl9TQ1JJUFRTLFxuICAnYnVpbGQnOiAndHNjJyxcbiAgJ2NsZWFuJzogJ2ZpbmQgYmluIHNyYyB0ZXN0IC10eXBlIGYgXFxcXCggLW5hbWUgXCIqLmpzXCIgLW8gLW5hbWUgXCIqLmQudHNcIiBcXFxcKSAtZGVsZXRlJyxcbiAgJ3dhdGNoJzogJ3RzYyAtdycsXG4gICdzeW50aCc6ICdjZGsgc3ludGggLS1vdXRwdXQgY2RrLm91dC8kMC8gLS1hcHAgXCJ5YXJuIHRzLW5vZGUgLS1zd2MgLS1wcmVmZXItdHMtZXh0cyBiaW4vJDAudHNcIjsnLFxuICAnbGlzdCc6ICdjZGsgbGlzdCAtLW91dHB1dCBjZGsub3V0LyQwLyAtLWFwcCBcInlhcm4gdHMtbm9kZSAtLXN3YyAtLXByZWZlci10cy1leHRzIGJpbi8kMC50c1wiOycsXG4gICdib290c3RyYXAnOiAnY2RrIGJvb3RzdHJhcCAtLW91dHB1dCBjZGsub3V0LyQwLyAtLWFwcCBcInlhcm4gdHMtbm9kZSAtLXN3YyAtLXByZWZlci10cy1leHRzIGJpbi8kMC50c1wiOycsXG4gICdkaWZmJzogJ2NkayBkaWZmIC0tb3V0cHV0IGNkay5vdXQvJDAvIC1lIC0tYXBwIFwieWFybiB0cy1ub2RlIC0tc3djIC0tcHJlZmVyLXRzLWV4dHMgYmluLyQwLnRzXCIgJHsxOi0tLWFsbH07JyxcbiAgJ2RpZmY6Y2knOiAnY2RrIGRpZmYgLS1jaSAtLWFwcCBcInlhcm4gdHMtbm9kZSAtLXN3YyAtLXByZWZlci10cy1leHRzICQwXCI7JyxcbiAgJ2RlcGxveSc6XG4gICAgJ2NkayBkZXBsb3kgLS1jb25jdXJyZW5jeSAxMCAtLXJlcXVpcmUtYXBwcm92YWwgbmV2ZXIgLS1vdXRwdXQgY2RrLm91dC8kMC8gLWUgLS1hcHAgXCJ5YXJuIHRzLW5vZGUgLS1zd2MgLS1wcmVmZXItdHMtZXh0cyBiaW4vJDAudHNcIiAkezE6LS0tYWxsfTsnLFxuICAnZGVwbG95OmNpJzogJ2NkayBkZXBsb3kgLS1jb25jdXJyZW5jeSAxMCAtLWNpIC0tYWxsIC0tYXBwIFwieWFybiB0cy1ub2RlIC0tc3djIC0tcHJlZmVyLXRzLWV4dHMgJDBcIjsnLFxuICAnZGVzdHJveSc6ICdjZGsgZGVzdHJveSAtLW91dHB1dCBjZGsub3V0LyQwLyAtZSAtLWFwcCBcInlhcm4gdHMtbm9kZSAtLXN3YyAtLXByZWZlci10cy1leHRzIGJpbi8kMC50c1wiICR7MTotLS1hbGx9OycsXG4gICdkZXN0cm95OmNpJzogJ2NkayBkZXN0cm95IC0tY2kgLWYgLS1hbGwgLS1vdXRwdXQgY2RrLm91dC8kMC8gLS1hcHAgIFwieWFybiAgdHMtbm9kZSAtLXN3YyAtLXByZWZlci10cy1leHRzICQwXCI7Jyxcbn07XG5cbi8qKlxuICogbnBtIHNjcmlwdHMgZm9yIENESyBsaWJyYXJ5IHByb2plY3RzLlxuICovXG5leHBvcnQgY29uc3QgTElCUkFSWV9TQ1JJUFRTID0ge1xuICAuLi5DT01NT05fU0NSSVBUUyxcbiAgJ2J1aWxkJzogJ3RzYyAtcCB0c2NvbmZpZy5qc29uJyxcbiAgJ2J1aWxkOmRldic6ICd0c2MgLXAgdHNjb25maWcuZGV2Lmpzb24nLFxuICAnY2xlYW4nOiAnZmluZCBzcmMgdGVzdCAtdHlwZSBmIFxcXFwoIC1uYW1lIFwiKi5qc1wiIC1vIC1uYW1lIFwiKi5kLnRzXCIgXFxcXCkgLWRlbGV0ZScsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gY29uZmlndXJlUGFja2FnZUpzb24oXG4gIHByb2plY3Q6IE5vZGVQcm9qZWN0LFxuICBzY3JpcHRzOiB7XG4gICAgW25hbWU6IHN0cmluZ106IHN0cmluZztcbiAgfSxcbik6IHZvaWQge1xuICBwcm9qZWN0LmFkZFNjcmlwdHMoc2NyaXB0cyk7XG4gIHByb2plY3QucGFja2FnZS5hZGREZXZEZXBzKC4uLlsnZXNsaW50QF44JywgJ2VzbGludC1wbHVnaW4tamVzdEBeMjgueC54J10pO1xufVxuIl19
package/lib/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './cdk-project';
2
2
  export * from './cdk-project-options.generated';
3
+ export * from './library-cdk-project-options.generated';
3
4
  export * as format from './common/prettier';
4
5
  export * as lint from './common/eslint';
5
6
  export * as packages from './common/yarn';