@macedon-technologies/batman 1.9.2 → 1.11.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.
- package/.jsii +19 -112
- package/API.md +51 -10
- package/lib/BatmanProject.js +4 -132
- package/lib/BootcampApplication.js +3 -3
- package/lib/BootcampApplicationStackFile.js +14 -6
- package/lib/BootcampBaseApplicationStackFile.d.ts +5 -0
- package/lib/BootcampBaseApplicationStackFile.js +200 -0
- package/lib/BootcampProject.d.ts +3 -25
- package/lib/BootcampProject.js +6 -133
- package/lib/CodeOwnersFile.js +1 -1
- package/lib/ProductionDeployWorkflow.js +1 -1
- package/lib/StagingDeployWorkflow.js +1 -1
- package/lib/utils.d.ts +1 -0
- package/lib/utils.js +132 -1
- package/package.json +8 -8
package/lib/BootcampProject.js
CHANGED
|
@@ -9,6 +9,7 @@ const BootcampApplication_1 = require("./BootcampApplication");
|
|
|
9
9
|
const CodeOwnersFile_1 = require("./CodeOwnersFile");
|
|
10
10
|
const DataDogAspectFile_1 = require("./DataDogAspectFile");
|
|
11
11
|
const GitHubRolesFile_1 = require("./GitHubRolesFile");
|
|
12
|
+
const utils_1 = require("./utils");
|
|
12
13
|
const ViteReactProject_1 = require("./ViteReactProject");
|
|
13
14
|
class BootcampProject extends awscdk_1.AwsCdkTypeScriptApp {
|
|
14
15
|
constructor(options) {
|
|
@@ -66,136 +67,7 @@ class BootcampProject extends awscdk_1.AwsCdkTypeScriptApp {
|
|
|
66
67
|
},
|
|
67
68
|
},
|
|
68
69
|
readme: {
|
|
69
|
-
contents:
|
|
70
|
-
`# ${options.name}`,
|
|
71
|
-
'',
|
|
72
|
-
'This project was bootstrapped with [Batman](https://github.com/macedon-technologies/platform-common).',
|
|
73
|
-
'',
|
|
74
|
-
'## What Batman Created',
|
|
75
|
-
'',
|
|
76
|
-
'### CDK Infrastructure (`src/`)',
|
|
77
|
-
'',
|
|
78
|
-
'| File | Description |',
|
|
79
|
-
'|------|-------------|',
|
|
80
|
-
'| `src/main.ts` | CDK app entry point — instantiates dev, staging, and prod `ApplicationStack`s |',
|
|
81
|
-
'| `src/LocalDevApp.ts` | Local development CDK app — used by `yarn cdk:dev` |',
|
|
82
|
-
'| `src/GitHubRoles.ts` | CDK app for deploying the GitHub OIDC IAM role (one-time bootstrap) |',
|
|
83
|
-
'| `src/stacks/ApplicationStack.ts` | Your primary stack — extend it to add resources |',
|
|
84
|
-
'| `src/stacks/BaseApplicationStack.ts` | Base stack with VPC, API, static website, Datadog, and Route 53 wired up |',
|
|
85
|
-
'| `src/stacks/GitHubRolesStack.ts` | IAM role stack for GitHub Actions OIDC authentication |',
|
|
86
|
-
'| `src/constructs/Api.ts` | API Gateway + Lambda construct with Clerk JWT authorizer |',
|
|
87
|
-
'| `src/constructs/StaticWebsite.ts` | CloudFront + S3 + ACM + Route 53 construct |',
|
|
88
|
-
'| `src/constructs/handler/Api.Function.ts` | Lambda handler entry point |',
|
|
89
|
-
'| `src/aspects/DataDogAspect.ts` | CDK aspect that wires all Lambda functions to Datadog |',
|
|
90
|
-
'',
|
|
91
|
-
'### Frontend (`web/`)',
|
|
92
|
-
'',
|
|
93
|
-
'| File | Description |',
|
|
94
|
-
'|------|-------------|',
|
|
95
|
-
'| `web/src/main.tsx` | React app entry point with Clerk and React Query providers |',
|
|
96
|
-
'| `web/src/App.tsx` | Root application component |',
|
|
97
|
-
'| `web/src/App.css` / `web/src/index.css` | Base stylesheets (Tailwind CSS v4) |',
|
|
98
|
-
'| `web/src/config.ts` | `useConfig()` hook — loads runtime config from `config.json` |',
|
|
99
|
-
'| `web/src/services/BaseService.ts` | `useBaseQuery()` — authenticated API fetch hook |',
|
|
100
|
-
'| `web/src/services/RootService.ts` | Example service using `useBaseQuery` |',
|
|
101
|
-
'| `web/public/config.json` | Runtime config (API base URL, Clerk publishable key) |',
|
|
102
|
-
'',
|
|
103
|
-
'### GitHub Actions Workflows (`.github/workflows/`)',
|
|
104
|
-
'',
|
|
105
|
-
'| File | Trigger |',
|
|
106
|
-
'|------|---------|',
|
|
107
|
-
'| `pr-deploy.yml` | On pull request open/update — deploys a per-PR dev stack |',
|
|
108
|
-
'| `pr-cleanup.yml` | On pull request close — tears down the per-PR dev stack |',
|
|
109
|
-
'| `staging-deploy.yml` | On push to `main` — deploys to staging |',
|
|
110
|
-
'| `production-deploy.yml` | Manually triggered — deploys to production |',
|
|
111
|
-
'',
|
|
112
|
-
'---',
|
|
113
|
-
'',
|
|
114
|
-
'## Files You Can Edit',
|
|
115
|
-
'',
|
|
116
|
-
'These files are generated once and never overwritten by Batman. Modify them freely.',
|
|
117
|
-
'',
|
|
118
|
-
'| File | What to do with it |',
|
|
119
|
-
'|------|--------------------|',
|
|
120
|
-
'| `src/stacks/ApplicationStack.ts` | **Start here.** Add CDK constructs to build your infrastructure |',
|
|
121
|
-
'| `src/constructs/Api.ts` | Extend the API — add Lambda integrations, routes, or override methods |',
|
|
122
|
-
'| `src/constructs/StaticWebsite.ts` | Customize CloudFront behaviors, S3 settings, or deployment options |',
|
|
123
|
-
'| `src/constructs/handler/Api.Function.ts` | Implement your Lambda handler logic |',
|
|
124
|
-
'| `src/stacks/GitHubRolesStack.ts` | Add IAM permissions needed by GitHub Actions |',
|
|
125
|
-
'| `src/main.ts` | Adjust stack instantiation or add additional stacks |',
|
|
126
|
-
'| `web/src/App.tsx` | Build your UI here |',
|
|
127
|
-
'| `web/src/App.css` / `web/src/index.css` | Style your application |',
|
|
128
|
-
'| `web/src/main.tsx` | Adjust top-level providers or routing |',
|
|
129
|
-
'| `web/src/services/RootService.ts` | Add or replace API service hooks |',
|
|
130
|
-
'| `web/public/config.json` | Update for local development (API URL, Clerk key) |',
|
|
131
|
-
'',
|
|
132
|
-
'## Files You Cannot Edit',
|
|
133
|
-
'',
|
|
134
|
-
'These files are **managed by Batman** and will be overwritten every time `npx projen` runs. Do not edit them directly — make changes in `.projenrc.ts` instead.',
|
|
135
|
-
'',
|
|
136
|
-
'> [!IMPORTANT]',
|
|
137
|
-
'> If you have ANY changes you want to make to these files, notify #team-batman on Slack. ',
|
|
138
|
-
'> We maintain these files as part of the core Batman experience, and your feedback is crucial to ensure they meet your needs.',
|
|
139
|
-
'',
|
|
140
|
-
'| File | Why it\'s managed |',
|
|
141
|
-
'|------|-----------------|',
|
|
142
|
-
'| `src/stacks/BaseApplicationStack.ts` | Core stack wiring — updated with Batman releases |',
|
|
143
|
-
'| `src/aspects/DataDogAspect.ts` | Datadog CDK aspect |',
|
|
144
|
-
'| `web/vite.config.ts` | Vite configuration |',
|
|
145
|
-
'| `web/eslint.config.js` | ESLint configuration |',
|
|
146
|
-
'| `web/postcss.config.js` | PostCSS / Tailwind configuration |',
|
|
147
|
-
'| `web/index.html` | HTML entry point |',
|
|
148
|
-
'| `web/tsconfig.json` / `web/tsconfig.app.json` / `web/tsconfig.node.json` | TypeScript configuration |',
|
|
149
|
-
'| `web/src/vite-env.d.ts` | Vite type declarations |',
|
|
150
|
-
'| `web/src/config.ts` | Runtime config hook — shape driven by `.projenrc.ts` |',
|
|
151
|
-
'| `web/src/services/BaseService.ts` | Base authenticated fetch hook |',
|
|
152
|
-
'| `.github/CODEOWNERS` | Code ownership policy |',
|
|
153
|
-
'| `.github/workflows/*.yml` | All CI/CD workflows |',
|
|
154
|
-
'',
|
|
155
|
-
'> **Tip:** Files with a `~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen". ~~` header are managed files.',
|
|
156
|
-
'',
|
|
157
|
-
'---',
|
|
158
|
-
'',
|
|
159
|
-
'## Where to Start',
|
|
160
|
-
'',
|
|
161
|
-
'1. **`src/stacks/ApplicationStack.ts`** — Add your CDK constructs here. The base stack already provides `this.api`, `this.vpc`, `this.hostedZone`, and `this.datadog` as protected properties.',
|
|
162
|
-
'',
|
|
163
|
-
'2. **`web/`** — Build your frontend. Start with `web/src/App.tsx` and add services alongside `web/src/services/RootService.ts`.',
|
|
164
|
-
'',
|
|
165
|
-
'3. **`src/constructs/handler/Api.Function.ts`** — Implement your backend Lambda handler logic here.',
|
|
166
|
-
'',
|
|
167
|
-
'---',
|
|
168
|
-
'',
|
|
169
|
-
'## Development Workflow',
|
|
170
|
-
'',
|
|
171
|
-
'```bash',
|
|
172
|
-
'# Install dependencies',
|
|
173
|
-
'yarn install',
|
|
174
|
-
'',
|
|
175
|
-
'# Start local dev server (backend Lambda + Vite frontend in parallel)',
|
|
176
|
-
'yarn dev',
|
|
177
|
-
'',
|
|
178
|
-
'# Deploy a personal dev stack to AWS',
|
|
179
|
-
'yarn cdk:dev --context local-dev-prefix=your-handle deploy',
|
|
180
|
-
'',
|
|
181
|
-
'# Run tests',
|
|
182
|
-
'yarn test',
|
|
183
|
-
'',
|
|
184
|
-
'# Re-synthesize project files after editing .projenrc.ts',
|
|
185
|
-
'npx projen',
|
|
186
|
-
'```',
|
|
187
|
-
'',
|
|
188
|
-
'---',
|
|
189
|
-
'',
|
|
190
|
-
'## Upgrading Batman',
|
|
191
|
-
'',
|
|
192
|
-
'```bash',
|
|
193
|
-
'yarn add @macedon-technologies/batman@latest',
|
|
194
|
-
'npx projen',
|
|
195
|
-
'```',
|
|
196
|
-
'',
|
|
197
|
-
'This updates all managed files to the latest Batman standards. Your editable sample files are never touched.',
|
|
198
|
-
].join('\n'),
|
|
70
|
+
contents: (0, utils_1.readmeContents)(options.name),
|
|
199
71
|
},
|
|
200
72
|
});
|
|
201
73
|
// Create standard project files
|
|
@@ -223,10 +95,11 @@ class BootcampProject extends awscdk_1.AwsCdkTypeScriptApp {
|
|
|
223
95
|
});
|
|
224
96
|
new DataDogAspectFile_1.DataDogAspectFile(this);
|
|
225
97
|
const viteReact = new ViteReactProject_1.ViteReactProject({
|
|
226
|
-
name:
|
|
98
|
+
name: options.name,
|
|
227
99
|
defaultReleaseBranch: 'main',
|
|
228
100
|
parent: this,
|
|
229
101
|
outdir: 'web',
|
|
102
|
+
deps: options.websiteDeps,
|
|
230
103
|
});
|
|
231
104
|
viteReact.addConfigField('something', 'number');
|
|
232
105
|
viteReact.addConfigField('somethingElse', 'string');
|
|
@@ -244,5 +117,5 @@ class BootcampProject extends awscdk_1.AwsCdkTypeScriptApp {
|
|
|
244
117
|
}
|
|
245
118
|
exports.BootcampProject = BootcampProject;
|
|
246
119
|
_a = JSII_RTTI_SYMBOL_1;
|
|
247
|
-
BootcampProject[_a] = { fqn: "@macedon-technologies/batman.BootcampProject", version: "1.
|
|
248
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm9vdGNhbXBQcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0Jvb3RjYW1wUHJvamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDhDQUFvRjtBQUNwRiw4Q0FBc0Q7QUFFdEQsK0RBQTREO0FBQzVELHFEQUFrRDtBQUNsRCwyREFBd0Q7QUFDeEQsdURBQW9EO0FBQ3BELHlEQUFzRDtBQStCdEQsTUFBYSxlQUFnQixTQUFRLDRCQUFtQjtJQUN0RCxZQUFZLE9BQStCO1FBQ3pDLEtBQUssQ0FBQztZQUNKLEdBQUcsT0FBTztZQUNWLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxJQUFJLFNBQVM7WUFDM0Msb0JBQW9CLEVBQUUsT0FBTyxDQUFDLG9CQUFvQixJQUFJLE1BQU07WUFDNUQsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ2xCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLElBQUksRUFBRTtnQkFDSixtQkFBbUI7Z0JBQ25CLGdCQUFnQjtnQkFDaEIsV0FBVztnQkFDWCxJQUFJO2dCQUNKLHFCQUFxQjtnQkFDckIsc0JBQXNCO2dCQUN0QiwyQkFBMkI7Z0JBQzNCLDBCQUEwQjtnQkFDMUIsbUNBQW1DO2dCQUNuQyxjQUFjO2dCQUNkLGlDQUFpQztnQkFDakMsU0FBUztnQkFDVCxpQkFBaUI7Z0JBQ2pCLGFBQWE7Z0JBQ2IsR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUU7YUFDdEI7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AscUJBQXFCO2dCQUNyQixTQUFTO2dCQUNULGNBQWM7Z0JBQ2QscUNBQXFDO2dCQUNyQyxHQUFHLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRTthQUN6QjtZQUNELFNBQVMsRUFBRTtnQkFDVCxtREFBbUQ7Z0JBQ25ELGNBQWM7Z0JBQ2QsR0FBRyxPQUFPLENBQUMsU0FBUyxJQUFJLEVBQUU7YUFDM0I7WUFDRCxRQUFRLEVBQUU7Z0JBQ1Is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QU0sRUFBRSxJQUFJO1lBQ1osTUFBTSxFQUFFLEtBQUs7U0FDZCxDQUFDLENBQUM7UUFDSCxTQUFTLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNoRCxTQUFTLENBQUMsY0FBYyxDQUFDLGVBQWUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUVwRCxNQUFNLFlBQVksR0FBRyxDQUFDLEdBQUcsSUFBYyxFQUFFLEVBQUU7WUFDekMsT0FBTyxnQkFBZ0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUM3RCxDQUFDLENBQUM7UUFFRixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRTtZQUNsQixJQUFJLEVBQUUsWUFBWSxDQUNoQixnRkFBZ0YsRUFDaEYsU0FBUyxDQUFDLFVBQVUsQ0FDckI7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUN0QixJQUFJLEVBQUUsZ0ZBQWdGO1lBQ3RGLFdBQVcsRUFBRSxJQUFJO1NBQ2xCLENBQUMsQ0FBQztJQUdMLENBQUM7O0FBclBILDBDQXNQQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF3c0Nka1R5cGVTY3JpcHRBcHAsIEF3c0Nka1R5cGVTY3JpcHRBcHBPcHRpb25zIH0gZnJvbSAncHJvamVuL2xpYi9hd3NjZGsnO1xuaW1wb3J0IHsgR2l0aHViQ3JlZGVudGlhbHMgfSBmcm9tICdwcm9qZW4vbGliL2dpdGh1Yic7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkVudmlyb25tZW50Q29uZmlnIH0gZnJvbSAnLi9BcHBsaWNhdGlvbic7XG5pbXBvcnQgeyBCb290Y2FtcEFwcGxpY2F0aW9uIH0gZnJvbSAnLi9Cb290Y2FtcEFwcGxpY2F0aW9uJztcbmltcG9ydCB7IENvZGVPd25lcnNGaWxlIH0gZnJvbSAnLi9Db2RlT3duZXJzRmlsZSc7XG5pbXBvcnQgeyBEYXRhRG9nQXNwZWN0RmlsZSB9IGZyb20gJy4vRGF0YURvZ0FzcGVjdEZpbGUnO1xuaW1wb3J0IHsgR2l0SHViUm9sZXNGaWxlIH0gZnJvbSAnLi9HaXRIdWJSb2xlc0ZpbGUnO1xuaW1wb3J0IHsgVml0ZVJlYWN0UHJvamVjdCB9IGZyb20gJy4vVml0ZVJlYWN0UHJvamVjdCc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBCb290Y2FtcFByb2plY3RPcHRpb25zIGV4dGVuZHMgQXdzQ2RrVHlwZVNjcmlwdEFwcE9wdGlvbnMge1xuXG4gIC8qKlxuICAgKiBEZXZlbG9wbWVudCBlbnZpcm9ubWVudCBjb25maWd1cmF0aW9uXG4gICAqL1xuICByZWFkb25seSBkZXY6IEFwcGxpY2F0aW9uRW52aXJvbm1lbnRDb25maWc7XG5cbiAgLyoqXG4gICAqIERldmVsb3BtZW50IGVudmlyb25tZW50IGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IHN0YWdpbmc6IEFwcGxpY2F0aW9uRW52aXJvbm1lbnRDb25maWc7XG5cbiAgLyoqXG4gICAqIFByb2R1Y3Rpb24gZW52aXJvbm1lbnQgY29uZmlndXJhdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgcHJvZDogQXBwbGljYXRpb25FbnZpcm9ubWVudENvbmZpZztcblxuICAvKipcbiAgICogQWRkaXRpb25hbCB0YWdzIHRvIGFwcGx5IHRvIGFsbCBzdGFja3NcbiAgICovXG4gIHJlYWRvbmx5IGFkZGl0aW9uYWxUYWdzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBjb2RlIG93bmVycyB0byBhZGQgdG8gdGhlIENPREVPV05FUlMgZmlsZVxuICAgKi9cbiAgcmVhZG9ubHkgYWRkaXRpb25hbENvZGVPd25lcnM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGNsYXNzIEJvb3RjYW1wUHJvamVjdCBleHRlbmRzIEF3c0Nka1R5cGVTY3JpcHRBcHAge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBCb290Y2FtcFByb2plY3RPcHRpb25zKSB7XG4gICAgc3VwZXIoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGNka1ZlcnNpb246IG9wdGlvbnMuY2RrVmVyc2lvbiB8fCAnMi4yMjQuMCcsXG4gICAgICBkZWZhdWx0UmVsZWFzZUJyYW5jaDogb3B0aW9ucy5kZWZhdWx0UmVsZWFzZUJyYW5jaCB8fCAnbWFpbicsXG4gICAgICBuYW1lOiBvcHRpb25zLm5hbWUsXG4gICAgICBwcm9qZW5yY1RzOiB0cnVlLFxuICAgICAgYnVpbGRXb3JrZmxvdzogZmFsc2UsXG4gICAgICBkZXBzOiBbXG4gICAgICAgICdAdHlwZXMvYXdzLWxhbWJkYScsXG4gICAgICAgICdAdHlwZXMvZXhwcmVzcycsXG4gICAgICAgICdAdHlwZXMvcGcnLFxuICAgICAgICAncGcnLFxuICAgICAgICAnQGF3cy1zZGsvcmRzLXNpZ25lcicsXG4gICAgICAgICdAbWF0dGhld2JvbmlnL3NlY3JldCcsXG4gICAgICAgICdkYXRhZG9nLWNkay1jb25zdHJ1Y3RzLXYyJyxcbiAgICAgICAgJ0BjZGtsYWJzL2F3cy1sYW1iZGEtcnVzdCcsXG4gICAgICAgICdAYXdzLWxhbWJkYS1wb3dlcnRvb2xzL3BhcmFtZXRlcnMnLFxuICAgICAgICAnanNvbndlYnRva2VuJyxcbiAgICAgICAgJ0Bhd3Mtc2RrL2NsaWVudC1zZWNyZXRzLW1hbmFnZXInLFxuICAgICAgICAnZXhwcmVzcycsXG4gICAgICAgICdzZXJ2ZXJsZXNzLWh0dHAnLFxuICAgICAgICAnY2RrLXJkcy1zcWwnLFxuICAgICAgICAuLi5vcHRpb25zLmRlcHMgfHwgW10sXG4gICAgICBdLFxuICAgICAgZGV2RGVwczogW1xuICAgICAgICAnQHR5cGVzL2pzb253ZWJ0b2tlbicsXG4gICAgICAgICdub2RlbW9uJyxcbiAgICAgICAgJ2NvbmN1cnJlbnRseScsXG4gICAgICAgICdAbWFjZWRvbi10ZWNobm9sb2dpZXMvYmF0bWFuQF4xLjAuMCcsXG4gICAgICAgIC4uLm9wdGlvbnMuZGV2RGVwcyB8fCBbXSxcbiAgICAgIF0sXG4gICAgICBnaXRpZ25vcmU6IFtcbiAgICAgICAgJ3NyYy9jb25zdHJ1Y3RzL2hhbmRsZXIvY2xlcmstYXV0aG9yaXplci90YXJnZXQvKionLFxuICAgICAgICAnKiovLkRTX1N0b3JlJyxcbiAgICAgICAgLi4ub3B0aW9ucy5naXRpZ25vcmUgfHwgW10sXG4gICAgICBdLFxuICAgICAgdHNjb25maWc6IHtcbiAgICAgICAgLi4ub3B0aW9ucy50c2NvbmZpZyxcbiAgICAgICAgY29tcGlsZXJPcHRpb25zOiB7XG4gICAgICAgICAgLi4ub3B0aW9ucy50c2NvbmZpZz8uY29tcGlsZXJPcHRpb25zLFxuICAgICAgICAgIGlzb2xhdGVkTW9kdWxlczogdHJ1ZSxcbiAgICAgICAgICBhbGxvd0ltcG9ydGluZ1RzRXh0ZW5zaW9uczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzYW1wbGVDb2RlOiBmYWxzZSxcbiAgICAgIG1pbk5vZGVWZXJzaW9uOiBvcHRpb25zLm1pbk5vZGVWZXJzaW9uIHx8ICcyMicsXG4gICAgICBkZXBzVXBncmFkZU9wdGlvbnM6IHtcbiAgICAgICAgd29ya2Zsb3dPcHRpb25zOiB7XG4gICAgICAgICAgcHJvamVuQ3JlZGVudGlhbHM6IEdpdGh1YkNyZWRlbnRpYWxzLmZyb21QZXJzb25hbEFjY2Vzc1Rva2VuKHtcbiAgICAgICAgICAgIHNlY3JldDogJ0dJVEhVQl9UT0tFTicsXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgcmVhZG1lOiB7XG4gICAgICAgIGNvbnRlbnRzOiBbXG4gICAgICAgICAgYCMgJHtvcHRpb25zLm5hbWV9YCxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICAnVGhpcyBwcm9qZWN0IHdhcyBib290c3RyYXBwZWQgd2l0aCBbQmF0bWFuXShodHRwczovL2dpdGh1Yi5jb20vbWFjZWRvbi10ZWNobm9sb2dpZXMvcGxhdGZvcm0tY29tbW9uKS4nLFxuICAgICAgICAgICcnLFxuICAgICAgICAgICcjIyBXaGF0IEJhdG1hbiBDcmVhdGVkJyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICAnIyMjIENESyBJbmZyYXN0cnVjdHVyZSAoYHNyYy9gKScsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgJ3wgRmlsZSB8IERlc2NyaXB0aW9uIHwnLFxuICAgICAgICAgICd8LS0tLS0tfC0tLS0tLS0tLS0tLS18JyxcbiAgICAgICAgICAnfCBgc3JjL21haW4udHNgIHwgQ0RLIGFwcCBlbnRyeSBwb2ludCDigJQgaW5zdGFudGlhdGVzIGRldiwgc3RhZ2luZywgYW5kIHByb2QgYEFwcGxpY2F0aW9uU3RhY2tgcyB8JyxcbiAgICAgICAgICAnfCBgc3JjL0xvY2FsRGV2QXBwLnRzYCB8IExvY2FsIGRldmVsb3BtZW50IENESyBhcHAg4oCUIHVzZWQgYnkgYHlhcm4gY2RrOmRldmAgfCcsXG4gICAgICAgICAgJ3wgYHNyYy9HaXRIdWJSb2xlcy50c2AgfCBDREsgYXBwIGZvciBkZXBsb3lpbmcgdGhlIEdpdEh1YiBPSURDIElBTSByb2xlIChvbmUtdGltZSBib290c3RyYXApIHwnLFxuICAgICAgICAgICd8IGBzcmMvc3RhY2tzL0FwcGxpY2F0aW9uU3RhY2sudHNgIHwgWW91ciBwcmltYXJ5IHN0YWNrIOKAlCBleHRlbmQgaXQgdG8gYWRkIHJlc291cmNlcyB8JyxcbiAgICAgICAgICAnfCBgc3JjL3N0YWNrcy9CYXNlQXBwbGljYXRpb25TdGFjay50c2AgfCBCYXNlIHN0YWNrIHdpdGggVlBDLCBBUEksIHN0YXRpYyB3ZWJzaXRlLCBEYXRhZG9nLCBhbmQgUm91dGUgNTMgd2lyZWQgdXAgfCcsXG4gICAgICAgICAgJ3wgYHNyYy9zdGFja3MvR2l0SHViUm9sZXNTdGFjay50c2AgfCBJQU0gcm9sZSBzdGFjayBmb3IgR2l0SHViIEFjdGlvbnMgT0lEQyBhdXRoZW50aWNhdGlvbiB8JyxcbiAgICAgICAgICAnfCBgc3JjL2NvbnN0cnVjdHMvQXBpLnRzYCB8IEFQSSBHYXRld2F5ICsgTGFtYmRhIGNvbnN0cnVjdCB3aXRoIENsZXJrIEpXVCBhdXRob3JpemVyIHwnLFxuICAgICAgICAgICd8IGBzcmMvY29uc3RydWN0cy9TdGF0aWNXZWJzaXRlLnRzYCB8IENsb3VkRnJvbnQgKyBTMyArIEFDTSArIFJvdXRlIDUzIGNvbnN0cnVjdCB8JyxcbiAgICAgICAgICAnfCBgc3JjL2NvbnN0cnVjdHMvaGFuZGxlci9BcGkuRnVuY3Rpb24udHNgIHwgTGFtYmRhIGhhbmRsZXIgZW50cnkgcG9pbnQgfCcsXG4gICAgICAgICAgJ3wgYHNyYy9hc3BlY3RzL0RhdGFEb2dBc3BlY3QudHNgIHwgQ0RLIGFzcGVjdCB0aGF0IHdpcmVzIGFsbCBMYW1iZGEgZnVuY3Rpb25zIHRvIERhdGFkb2cgfCcsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgJyMjIyBGcm9udGVuZCAoYHdlYi9gKScsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgJ3wgRmlsZSB8IERlc2NyaXB0aW9uIHwnLFxuICAgICAgICAgICd8LS0tLS0tfC0tLS0tLS0tLS0tLS18JyxcbiAgICAgICAgICAnfCBgd2ViL3NyYy9tYWluLnRzeGAgfCBSZWFjdCBhcHAgZW50cnkgcG9pbnQgd2l0aCBDbGVyayBhbmQgUmVhY3QgUXVlcnkgcHJvdmlkZXJzIHwnLFxuICAgICAgICAgICd8IGB3ZWIvc3JjL0FwcC50c3hgIHwgUm9vdCBhcHBsaWNhdGlvbiBjb21wb25lbnQgfCcsXG4gICAgICAgICAgJ3wgYHdlYi9zcmMvQXBwLmNzc2AgLyBgd2ViL3NyYy9pbmRleC5jc3NgIHwgQmFzZSBzdHlsZXNoZWV0cyAoVGFpbHdpbmQgQ1NTIHY0KSB8JyxcbiAgICAgICAgICAnfCBgd2ViL3NyYy9jb25maWcudHNgIHwgYHVzZUNvbmZpZygpYCBob29rIOKAlCBsb2FkcyBydW50aW1lIGNvbmZpZyBmcm9tIGBjb25maWcuanNvbmAgfCcsXG4gICAgICAgICAgJ3wgYHdlYi9zcmMvc2VydmljZXMvQmFzZVNlcnZpY2UudHNgIHwgYHVzZUJhc2VRdWVyeSgpYCDigJQgYXV0aGVudGljYXRlZCBBUEkgZmV0Y2ggaG9vayB8JyxcbiAgICAgICAgICAnfCBgd2ViL3NyYy9zZXJ2aWNlcy9Sb290U2VydmljZS50c2AgfCBFeGFtcGxlIHNlcnZpY2UgdXNpbmcgYHVzZUJhc2VRdWVyeWAgfCcsXG4gICAgICAgICAgJ3wgYHdlYi9wdWJsaWMvY29uZmlnLmpzb25gIHwgUnVudGltZSBjb25maWcgKEFQSSBiYXNlIFVSTCwgQ2xlcmsgcHVibGlzaGFibGUga2V5KSB8JyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICAnIyMjIEdpdEh1YiBBY3Rpb25zIFdvcmtmbG93cyAoYC5naXRodWIvd29ya2Zsb3dzL2ApJyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICAnfCBGaWxlIHwgVHJpZ2dlciB8JyxcbiAgICAgICAgICAnfC0tLS0tLXwtLS0tLS0tLS18JyxcbiAgICAgICAgICAnfCBgcHItZGVwbG95LnltbGAgfCBPbiBwdWxsIHJlcXVlc3Qgb3Blbi91cGRhdGUg4oCUIGRlcGxveXMgYSBwZXItUFIgZGV2IHN0YWNrIHwnLFxuICAgICAgICAgICd8IGBwci1jbGVhbnVwLnltbGAgfCBPbiBwdWxsIHJlcXVlc3QgY2xvc2Ug4oCUIHRlYXJzIGRvd24gdGhlIHBlci1QUiBkZXYgc3RhY2sgfCcsXG4gICAgICAgICAgJ3wgYHN0YWdpbmctZGVwbG95LnltbGAgfCBPbiBwdXNoIHRvIGBtYWluYCDigJQgZGVwbG95cyB0byBzdGFnaW5nIHwnLFxuICAgICAgICAgICd8IGBwcm9kdWN0aW9uLWRlcGxveS55bWxgIHwgTWFudWFsbHkgdHJpZ2dlcmVkIOKAlCBkZXBsb3lzIHRvIHByb2R1Y3Rpb24gfCcsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgJy0tLScsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgJyMjIEZpbGVzIFlvdSBDYW4gRWRpdCcsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgJ1RoZXNlIGZpbGVzIGFyZSBnZW5lcmF0ZWQgb25jZSBhbmQgbmV2ZXIgb3ZlcndyaXR0ZW4gYnkgQmF0bWFuLiBNb2RpZnkgdGhlbSBmcmVlbHkuJyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICAnfCBGaWxlIHwgV2hhdCB0byBkbyB3aXRoIGl0IHwnLFxuICAgICAgICAgICd8LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tfCcsXG4gICAgICAgICAgJ3wgYHNyYy9zdGFja3MvQXBwbGljYXRpb25TdGFjay50c2AgfCAqKlN0YXJ0IGhlcmUuKiogQWRkIENESyBjb25zdHJ1Y3RzIHRvIGJ1aWxkIHlvdXIgaW5mcmFzdHJ1Y3R1cmUgfCcsXG4gICAgICAgICAgJ3wgYHNyYy9jb25zdHJ1Y3RzL0FwaS50c2AgfCBFeHRlbmQgdGhlIEFQSSDigJQgYWRkIExhbWJkYSBpbnRlZ3JhdGlvbnMsIHJvdXRlcywgb3Igb3ZlcnJpZGUgbWV0aG9kcyB8JyxcbiAgICAgICAgICAnfCBgc3JjL2NvbnN0cnVjdHMvU3RhdGljV2Vic2l0ZS50c2AgfCBDdXN0b21pemUgQ2xvdWRGcm9udCBiZWhhdmlvcnMsIFMzIHNldHRpbmdzLCBvciBkZXBsb3ltZW50IG9wdGlvbnMgfCcsXG4gICAgICAgICAgJ3wgYHNyYy9jb25zdHJ1Y3RzL2hhbmRsZXIvQXBpLkZ1bmN0aW9uLnRzYCB8IEltcGxlbWVudCB5b3VyIExhbWJkYSBoYW5kbGVyIGxvZ2ljIHwnLFxuICAgICAgICAgICd8IGBzcmMvc3RhY2tzL0dpdEh1YlJvbGVzU3RhY2sudHNgIHwgQWRkIElBTSBwZXJtaXNzaW9ucyBuZWVkZWQgYnkgR2l0SHViIEFjdGlvbnMgfCcsXG4gICAgICAgICAgJ3wgYHNyYy9tYWluLnRzYCB8IEFkanVzdCBzdGFjayBpbnN0YW50aWF0aW9uIG9yIGFkZCBhZGRpdGlvbmFsIHN0YWNrcyB8JyxcbiAgICAgICAgICAnfCBgd2ViL3NyYy9BcHAudHN4YCB8IEJ1aWxkIHlvdXIgVUkgaGVyZSB8JyxcbiAgICAgICAgICAnfCBgd2ViL3NyYy9BcHAuY3NzYCAvIGB3ZWIvc3JjL2luZGV4LmNzc2AgfCBTdHlsZSB5b3VyIGFwcGxpY2F0aW9uIHwnLFxuICAgICAgICAgICd8IGB3ZWIvc3JjL21haW4udHN4YCB8IEFkanVzdCB0b3AtbGV2ZWwgcHJvdmlkZXJzIG9yIHJvdXRpbmcgfCcsXG4gICAgICAgICAgJ3wgYHdlYi9zcmMvc2VydmljZXMvUm9vdFNlcnZpY2UudHNgIHwgQWRkIG9yIHJlcGxhY2UgQVBJIHNlcnZpY2UgaG9va3MgfCcsXG4gICAgICAgICAgJ3wgYHdlYi9wdWJsaWMvY29uZmlnLmpzb25gIHwgVXBkYXRlIGZvciBsb2NhbCBkZXZlbG9wbWVudCAoQVBJIFVSTCwgQ2xlcmsga2V5KSB8JyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICAnIyMgRmlsZXMgWW91IENhbm5vdCBFZGl0JyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICAnVGhlc2UgZmlsZXMgYXJlICoqbWFuYWdlZCBieSBCYXRtYW4qKiBhbmQgd2lsbCBiZSBvdmVyd3JpdHRlbiBldmVyeSB0aW1lIGBucHggcHJvamVuYCBydW5zLiBEbyBub3QgZWRpdCB0aGVtIGRpcmVjdGx5IOKAlCBtYWtlIGNoYW5nZXMgaW4gYC5wcm9qZW5yYy50c2AgaW5zdGVhZC4nLFxuICAgICAgICAgICcnLFxuICAgICAgICAgICc+IFshSU1QT1JUQU5UXScsXG4gICAgICAgICAgJz4gSWYgeW91IGhhdmUgQU5ZIGNoYW5nZXMgeW91IHdhbnQgdG8gbWFrZSB0byB0aGVzZSBmaWxlcywgbm90aWZ5ICN0ZWFtLWJhdG1hbiBvbiBTbGFjay4gJyxcbiAgICAgICAgICAnPiBXZSBtYWludGFpbiB0aGVzZSBmaWxlcyBhcyBwYXJ0IG9mIHRoZSBjb3JlIEJhdG1hbiBleHBlcmllbmNlLCBhbmQgeW91ciBmZWVkYmFjayBpcyBjcnVjaWFsIHRvIGVuc3VyZSB0aGV5IG1lZXQgeW91ciBuZWVkcy4nLFxuICAgICAgICAgICcnLFxuICAgICAgICAgICd8IEZpbGUgfCBXaHkgaXRcXCdzIG1hbmFnZWQgfCcsXG4gICAgICAgICAgJ3wtLS0tLS18LS0tLS0tLS0tLS0tLS0tLS18JyxcbiAgICAgICAgICAnfCBgc3JjL3N0YWNrcy9CYXNlQXBwbGljYXRpb25TdGFjay50c2AgfCBDb3JlIHN0YWNrIHdpcmluZyDigJQgdXBkYXRlZCB3aXRoIEJhdG1hbiByZWxlYXNlcyB8JyxcbiAgICAgICAgICAnfCBgc3JjL2FzcGVjdHMvRGF0YURvZ0FzcGVjdC50c2AgfCBEYXRhZG9nIENESyBhc3BlY3QgfCcsXG4gICAgICAgICAgJ3wgYHdlYi92aXRlLmNvbmZpZy50c2AgfCBWaXRlIGNvbmZpZ3VyYXRpb24gfCcsXG4gICAgICAgICAgJ3wgYHdlYi9lc2xpbnQuY29uZmlnLmpzYCB8IEVTTGludCBjb25maWd1cmF0aW9uIHwnLFxuICAgICAgICAgICd8IGB3ZWIvcG9zdGNzcy5jb25maWcuanNgIHwgUG9zdENTUyAvIFRhaWx3aW5kIGNvbmZpZ3VyYXRpb24gfCcsXG4gICAgICAgICAgJ3wgYHdlYi9pbmRleC5odG1sYCB8IEhUTUwgZW50cnkgcG9pbnQgfCcsXG4gICAgICAgICAgJ3wgYHdlYi90c2NvbmZpZy5qc29uYCAvIGB3ZWIvdHNjb25maWcuYXBwLmpzb25gIC8gYHdlYi90c2NvbmZpZy5ub2RlLmpzb25gIHwgVHlwZVNjcmlwdCBjb25maWd1cmF0aW9uIHwnLFxuICAgICAgICAgICd8IGB3ZWIvc3JjL3ZpdGUtZW52LmQudHNgIHwgVml0ZSB0eXBlIGRlY2xhcmF0aW9ucyB8JyxcbiAgICAgICAgICAnfCBgd2ViL3NyYy9jb25maWcudHNgIHwgUnVudGltZSBjb25maWcgaG9vayDigJQgc2hhcGUgZHJpdmVuIGJ5IGAucHJvamVucmMudHNgIHwnLFxuICAgICAgICAgICd8IGB3ZWIvc3JjL3NlcnZpY2VzL0Jhc2VTZXJ2aWNlLnRzYCB8IEJhc2UgYXV0aGVudGljYXRlZCBmZXRjaCBob29rIHwnLFxuICAgICAgICAgICd8IGAuZ2l0aHViL0NPREVPV05FUlNgIHwgQ29kZSBvd25lcnNoaXAgcG9saWN5IHwnLFxuICAgICAgICAgICd8IGAuZ2l0aHViL3dvcmtmbG93cy8qLnltbGAgfCBBbGwgQ0kvQ0Qgd29ya2Zsb3dzIHwnLFxuICAgICAgICAgICcnLFxuICAgICAgICAgICc+ICoqVGlwOioqIEZpbGVzIHdpdGggYSBgfn4gR2VuZXJhdGVkIGJ5IHByb2plbi4gVG8gbW9kaWZ5LCBlZGl0IC5wcm9qZW5yYy50cyBhbmQgcnVuIFwibnB4IHByb2plblwiLiB+fmAgaGVhZGVyIGFyZSBtYW5hZ2VkIGZpbGVzLicsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgJy0tLScsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgJyMjIFdoZXJlIHRvIFN0YXJ0JyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICAnMS4gKipgc3JjL3N0YWNrcy9BcHBsaWNhdGlvblN0YWNrLnRzYCoqIOKAlCBBZGQgeW91ciBDREsgY29uc3RydWN0cyBoZXJlLiBUaGUgYmFzZSBzdGFjayBhbHJlYWR5IHByb3ZpZGVzIGB0aGlzLmFwaWAsIGB0aGlzLnZwY2AsIGB0aGlzLmhvc3RlZFpvbmVgLCBhbmQgYHRoaXMuZGF0YWRvZ2AgYXMgcHJvdGVjdGVkIHByb3BlcnRpZXMuJyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICAnMi4gKipgd2ViL2AqKiDigJQgQnVpbGQgeW91ciBmcm9udGVuZC4gU3RhcnQgd2l0aCBgd2ViL3NyYy9BcHAudHN4YCBhbmQgYWRkIHNlcnZpY2VzIGFsb25nc2lkZSBgd2ViL3NyYy9zZXJ2aWNlcy9Sb290U2VydmljZS50c2AuJyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICAnMy4gKipgc3JjL2NvbnN0cnVjdHMvaGFuZGxlci9BcGkuRnVuY3Rpb24udHNgKiog4oCUIEltcGxlbWVudCB5b3VyIGJhY2tlbmQgTGFtYmRhIGhhbmRsZXIgbG9naWMgaGVyZS4nLFxuICAgICAgICAgICcnLFxuICAgICAgICAgICctLS0nLFxuICAgICAgICAgICcnLFxuICAgICAgICAgICcjIyBEZXZlbG9wbWVudCBXb3JrZmxvdycsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgJ2BgYGJhc2gnLFxuICAgICAgICAgICcjIEluc3RhbGwgZGVwZW5kZW5jaWVzJyxcbiAgICAgICAgICAneWFybiBpbnN0YWxsJyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICAnIyBTdGFydCBsb2NhbCBkZXYgc2VydmVyIChiYWNrZW5kIExhbWJkYSArIFZpdGUgZnJvbnRlbmQgaW4gcGFyYWxsZWwpJyxcbiAgICAgICAgICAneWFybiBkZXYnLFxuICAgICAgICAgICcnLFxuICAgICAgICAgICcjIERlcGxveSBhIHBlcnNvbmFsIGRldiBzdGFjayB0byBBV1MnLFxuICAgICAgICAgICd5YXJuIGNkazpkZXYgLS1jb250ZXh0IGxvY2FsLWRldi1wcmVmaXg9eW91ci1oYW5kbGUgZGVwbG95JyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICAnIyBSdW4gdGVzdHMnLFxuICAgICAgICAgICd5YXJuIHRlc3QnLFxuICAgICAgICAgICcnLFxuICAgICAgICAgICcjIFJlLXN5bnRoZXNpemUgcHJvamVjdCBmaWxlcyBhZnRlciBlZGl0aW5nIC5wcm9qZW5yYy50cycsXG4gICAgICAgICAgJ25weCBwcm9qZW4nLFxuICAgICAgICAgICdgYGAnLFxuICAgICAgICAgICcnLFxuICAgICAgICAgICctLS0nLFxuICAgICAgICAgICcnLFxuICAgICAgICAgICcjIyBVcGdyYWRpbmcgQmF0bWFuJyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICAnYGBgYmFzaCcsXG4gICAgICAgICAgJ3lhcm4gYWRkIEBtYWNlZG9uLXRlY2hub2xvZ2llcy9iYXRtYW5AbGF0ZXN0JyxcbiAgICAgICAgICAnbnB4IHByb2plbicsXG4gICAgICAgICAgJ2BgYCcsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgJ1RoaXMgdXBkYXRlcyBhbGwgbWFuYWdlZCBmaWxlcyB0byB0aGUgbGF0ZXN0IEJhdG1hbiBzdGFuZGFyZHMuIFlvdXIgZWRpdGFibGUgc2FtcGxlIGZpbGVzIGFyZSBuZXZlciB0b3VjaGVkLicsXG4gICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICB9LFxuICAgIH0pO1xuXG5cbiAgICAvLyBDcmVhdGUgc3RhbmRhcmQgcHJvamVjdCBmaWxlc1xuICAgIGNvbnN0IFBSSU1BUllfQUNDT1VOVCA9ICcwMTU5NTU4MTcyNjMnO1xuICAgIGNvbnN0IFBSSU1BUllfUkVHSU9OID0gJ3VzLWVhc3QtMSc7XG5cbiAgICBuZXcgQm9vdGNhbXBBcHBsaWNhdGlvbih0aGlzLCB7XG4gICAgICBnaXRodWJSZXBvc2l0b3J5OiBgbWFjZWRvbi10ZWNobm9sb2dpZXMvJHtvcHRpb25zLm5hbWV9YCxcbiAgICAgIGRldjoge1xuICAgICAgICAuLi5vcHRpb25zLmRldixcbiAgICAgIH0sXG4gICAgICBzdGFnaW5nOiB7XG4gICAgICAgIC4uLm9wdGlvbnMuc3RhZ2luZyxcbiAgICAgIH0sXG4gICAgICBwcm9kOiB7XG4gICAgICAgIC4uLm9wdGlvbnMuZGV2LFxuICAgICAgfSxcbiAgICAgIGFkZGl0aW9uYWxUYWdzOiBvcHRpb25zLmFkZGl0aW9uYWxUYWdzLFxuICAgIH0pO1xuXG4gICAgbmV3IEdpdEh1YlJvbGVzRmlsZSh0aGlzLCB7XG4gICAgICBhY2NvdW50OiBQUklNQVJZX0FDQ09VTlQsXG4gICAgICBwcmltYXJ5UmVnaW9uOiBQUklNQVJZX1JFR0lPTixcbiAgICB9KTtcblxuICAgIG5ldyBDb2RlT3duZXJzRmlsZSh0aGlzLCB7XG4gICAgICBhZGRpdGlvbmFsT3duZXJzOiBvcHRpb25zLmFkZGl0aW9uYWxDb2RlT3duZXJzLFxuICAgIH0pO1xuXG4gICAgbmV3IERhdGFEb2dBc3BlY3RGaWxlKHRoaXMpO1xuXG4gICAgY29uc3Qgdml0ZVJlYWN0ID0gbmV3IFZpdGVSZWFjdFByb2plY3Qoe1xuICAgICAgbmFtZTogJ3dlYicsXG4gICAgICBkZWZhdWx0UmVsZWFzZUJyYW5jaDogJ21haW4nLFxuICAgICAgcGFyZW50OiB0aGlzLFxuICAgICAgb3V0ZGlyOiAnd2ViJyxcbiAgICB9KTtcbiAgICB2aXRlUmVhY3QuYWRkQ29uZmlnRmllbGQoJ3NvbWV0aGluZycsICdudW1iZXInKTtcbiAgICB2aXRlUmVhY3QuYWRkQ29uZmlnRmllbGQoJ3NvbWV0aGluZ0Vsc2UnLCAnc3RyaW5nJyk7XG5cbiAgICBjb25zdCBjb25jdXJyZW50bHkgPSAoLi4uYXJnczogc3RyaW5nW10pID0+IHtcbiAgICAgIHJldHVybiBgY29uY3VycmVudGx5ICR7YXJncy5tYXAoYSA9PiBgXCIke2F9XCJgKS5qb2luKCcgJyl9YDtcbiAgICB9O1xuXG4gICAgdGhpcy5hZGRUYXNrKCdkZXYnLCB7XG4gICAgICBleGVjOiBjb25jdXJyZW50bHkoXG4gICAgICAgICdub2RlbW9uIC0td2F0Y2ggLi9zcmMvY29uc3RydWN0cy9oYW5kbGVyIC0td2F0Y2ggLi9sb2NhbC9kZXYudHMgLi9sb2NhbC9kZXYudHMnLFxuICAgICAgICB2aXRlUmVhY3QuZGV2Q29tbWFuZCxcbiAgICAgICksXG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZFRhc2soJ2NkazpkZXYnLCB7XG4gICAgICBleGVjOiAneWFybiBjZGsgLWEgXCJucHggdHMtbm9kZSAtUCB0c2NvbmZpZy5qc29uIC0tcHJlZmVyLXRzLWV4dHMgc3JjL0xvY2FsRGV2QXBwLnRzXCInLFxuICAgICAgcmVjZWl2ZUFyZ3M6IHRydWUsXG4gICAgfSk7XG5cblxuICB9XG59XG4iXX0=
|
|
120
|
+
BootcampProject[_a] = { fqn: "@macedon-technologies/batman.BootcampProject", version: "1.11.0" };
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm9vdGNhbXBQcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0Jvb3RjYW1wUHJvamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDhDQUF3RDtBQUN4RCw4Q0FBc0Q7QUFFdEQsK0RBQTREO0FBQzVELHFEQUFrRDtBQUNsRCwyREFBd0Q7QUFDeEQsdURBQW9EO0FBQ3BELG1DQUF5QztBQUN6Qyx5REFBc0Q7QUFPdEQsTUFBYSxlQUFnQixTQUFRLDRCQUFtQjtJQUN0RCxZQUFZLE9BQStCO1FBQ3pDLEtBQUssQ0FBQztZQUNKLEdBQUcsT0FBTztZQUNWLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxJQUFJLFNBQVM7WUFDM0Msb0JBQW9CLEVBQUUsT0FBTyxDQUFDLG9CQUFvQixJQUFJLE1BQU07WUFDNUQsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ2xCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLElBQUksRUFBRTtnQkFDSixtQkFBbUI7Z0JBQ25CLGdCQUFnQjtnQkFDaEIsV0FBVztnQkFDWCxJQUFJO2dCQUNKLHFCQUFxQjtnQkFDckIsc0JBQXNCO2dCQUN0QiwyQkFBMkI7Z0JBQzNCLDBCQUEwQjtnQkFDMUIsbUNBQW1DO2dCQUNuQyxjQUFjO2dCQUNkLGlDQUFpQztnQkFDakMsU0FBUztnQkFDVCxpQkFBaUI7Z0JBQ2pCLGFBQWE7Z0JBQ2IsR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUU7YUFDdEI7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AscUJBQXFCO2dCQUNyQixTQUFTO2dCQUNULGNBQWM7Z0JBQ2QscUNBQXFDO2dCQUNyQyxHQUFHLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRTthQUN6QjtZQUNELFNBQVMsRUFBRTtnQkFDVCxtREFBbUQ7Z0JBQ25ELGNBQWM7Z0JBQ2QsR0FBRyxPQUFPLENBQUMsU0FBUyxJQUFJLEVBQUU7YUFDM0I7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsR0FBRyxPQUFPLENBQUMsUUFBUTtnQkFDbkIsZUFBZSxFQUFFO29CQUNmLEdBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRSxlQUFlO29CQUNwQyxlQUFlLEVBQUUsSUFBSTtvQkFDckIsMEJBQTBCLEVBQUUsSUFBSTtpQkFDakM7YUFDRjtZQUNELFVBQVUsRUFBRSxLQUFLO1lBQ2pCLGNBQWMsRUFBRSxPQUFPLENBQUMsY0FBYyxJQUFJLElBQUk7WUFDOUMsa0JBQWtCLEVBQUU7Z0JBQ2xCLGVBQWUsRUFBRTtvQkFDZixpQkFBaUIsRUFBRSwwQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQzt3QkFDM0QsTUFBTSxFQUFFLGNBQWM7cUJBQ3ZCLENBQUM7aUJBQ0g7YUFDRjtZQUNELE1BQU0sRUFBRTtnQkFDTixRQUFRLEVBQUUsSUFBQSxzQkFBYyxFQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7YUFDdkM7U0FDRixDQUFDLENBQUM7UUFHSCxnQ0FBZ0M7UUFDaEMsTUFBTSxlQUFlLEdBQUcsY0FBYyxDQUFDO1FBQ3ZDLE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQztRQUVuQyxJQUFJLHlDQUFtQixDQUFDLElBQUksRUFBRTtZQUM1QixnQkFBZ0IsRUFBRSx3QkFBd0IsT0FBTyxDQUFDLElBQUksRUFBRTtZQUN4RCxHQUFHLEVBQUU7Z0JBQ0gsR0FBRyxPQUFPLENBQUMsR0FBRzthQUNmO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLEdBQUcsT0FBTyxDQUFDLE9BQU87YUFDbkI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osR0FBRyxPQUFPLENBQUMsR0FBRzthQUNmO1lBQ0QsY0FBYyxFQUFFLE9BQU8sQ0FBQyxjQUFjO1NBQ3ZDLENBQUMsQ0FBQztRQUVILElBQUksaUNBQWUsQ0FBQyxJQUFJLEVBQUU7WUFDeEIsT0FBTyxFQUFFLGVBQWU7WUFDeEIsYUFBYSxFQUFFLGNBQWM7U0FDOUIsQ0FBQyxDQUFDO1FBRUgsSUFBSSwrQkFBYyxDQUFDLElBQUksRUFBRTtZQUN2QixnQkFBZ0IsRUFBRSxPQUFPLENBQUMsb0JBQW9CO1NBQy9DLENBQUMsQ0FBQztRQUVILElBQUkscUNBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUIsTUFBTSxTQUFTLEdBQUcsSUFBSSxtQ0FBZ0IsQ0FBQztZQUNyQyxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDbEIsb0JBQW9CLEVBQUUsTUFBTTtZQUM1QixNQUFNLEVBQUUsSUFBSTtZQUNaLE1BQU0sRUFBRSxLQUFLO1lBQ2IsSUFBSSxFQUFFLE9BQU8sQ0FBQyxXQUFXO1NBQzFCLENBQUMsQ0FBQztRQUNILFNBQVMsQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELFNBQVMsQ0FBQyxjQUFjLENBQUMsZUFBZSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRXBELE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBRyxJQUFjLEVBQUUsRUFBRTtZQUN6QyxPQUFPLGdCQUFnQixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzdELENBQUMsQ0FBQztRQUVGLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQ2xCLElBQUksRUFBRSxZQUFZLENBQ2hCLGdGQUFnRixFQUNoRixTQUFTLENBQUMsVUFBVSxDQUNyQjtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ3RCLElBQUksRUFBRSxnRkFBZ0Y7WUFDdEYsV0FBVyxFQUFFLElBQUk7U0FDbEIsQ0FBQyxDQUFDO0lBR0wsQ0FBQzs7QUFySEgsMENBc0hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXdzQ2RrVHlwZVNjcmlwdEFwcCB9IGZyb20gJ3Byb2plbi9saWIvYXdzY2RrJztcbmltcG9ydCB7IEdpdGh1YkNyZWRlbnRpYWxzIH0gZnJvbSAncHJvamVuL2xpYi9naXRodWInO1xuaW1wb3J0IHsgQmF0bWFuUHJvamVjdE9wdGlvbnMgfSBmcm9tICcuL0JhdG1hblByb2plY3QnO1xuaW1wb3J0IHsgQm9vdGNhbXBBcHBsaWNhdGlvbiB9IGZyb20gJy4vQm9vdGNhbXBBcHBsaWNhdGlvbic7XG5pbXBvcnQgeyBDb2RlT3duZXJzRmlsZSB9IGZyb20gJy4vQ29kZU93bmVyc0ZpbGUnO1xuaW1wb3J0IHsgRGF0YURvZ0FzcGVjdEZpbGUgfSBmcm9tICcuL0RhdGFEb2dBc3BlY3RGaWxlJztcbmltcG9ydCB7IEdpdEh1YlJvbGVzRmlsZSB9IGZyb20gJy4vR2l0SHViUm9sZXNGaWxlJztcbmltcG9ydCB7IHJlYWRtZUNvbnRlbnRzIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBWaXRlUmVhY3RQcm9qZWN0IH0gZnJvbSAnLi9WaXRlUmVhY3RQcm9qZWN0JztcblxuXG5leHBvcnQgaW50ZXJmYWNlIEJvb3RjYW1wUHJvamVjdE9wdGlvbnMgZXh0ZW5kcyBCYXRtYW5Qcm9qZWN0T3B0aW9ucyB7XG5cbn1cblxuZXhwb3J0IGNsYXNzIEJvb3RjYW1wUHJvamVjdCBleHRlbmRzIEF3c0Nka1R5cGVTY3JpcHRBcHAge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBCb290Y2FtcFByb2plY3RPcHRpb25zKSB7XG4gICAgc3VwZXIoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGNka1ZlcnNpb246IG9wdGlvbnMuY2RrVmVyc2lvbiB8fCAnMi4yMjQuMCcsXG4gICAgICBkZWZhdWx0UmVsZWFzZUJyYW5jaDogb3B0aW9ucy5kZWZhdWx0UmVsZWFzZUJyYW5jaCB8fCAnbWFpbicsXG4gICAgICBuYW1lOiBvcHRpb25zLm5hbWUsXG4gICAgICBwcm9qZW5yY1RzOiB0cnVlLFxuICAgICAgYnVpbGRXb3JrZmxvdzogZmFsc2UsXG4gICAgICBkZXBzOiBbXG4gICAgICAgICdAdHlwZXMvYXdzLWxhbWJkYScsXG4gICAgICAgICdAdHlwZXMvZXhwcmVzcycsXG4gICAgICAgICdAdHlwZXMvcGcnLFxuICAgICAgICAncGcnLFxuICAgICAgICAnQGF3cy1zZGsvcmRzLXNpZ25lcicsXG4gICAgICAgICdAbWF0dGhld2JvbmlnL3NlY3JldCcsXG4gICAgICAgICdkYXRhZG9nLWNkay1jb25zdHJ1Y3RzLXYyJyxcbiAgICAgICAgJ0BjZGtsYWJzL2F3cy1sYW1iZGEtcnVzdCcsXG4gICAgICAgICdAYXdzLWxhbWJkYS1wb3dlcnRvb2xzL3BhcmFtZXRlcnMnLFxuICAgICAgICAnanNvbndlYnRva2VuJyxcbiAgICAgICAgJ0Bhd3Mtc2RrL2NsaWVudC1zZWNyZXRzLW1hbmFnZXInLFxuICAgICAgICAnZXhwcmVzcycsXG4gICAgICAgICdzZXJ2ZXJsZXNzLWh0dHAnLFxuICAgICAgICAnY2RrLXJkcy1zcWwnLFxuICAgICAgICAuLi5vcHRpb25zLmRlcHMgfHwgW10sXG4gICAgICBdLFxuICAgICAgZGV2RGVwczogW1xuICAgICAgICAnQHR5cGVzL2pzb253ZWJ0b2tlbicsXG4gICAgICAgICdub2RlbW9uJyxcbiAgICAgICAgJ2NvbmN1cnJlbnRseScsXG4gICAgICAgICdAbWFjZWRvbi10ZWNobm9sb2dpZXMvYmF0bWFuQF4xLjAuMCcsXG4gICAgICAgIC4uLm9wdGlvbnMuZGV2RGVwcyB8fCBbXSxcbiAgICAgIF0sXG4gICAgICBnaXRpZ25vcmU6IFtcbiAgICAgICAgJ3NyYy9jb25zdHJ1Y3RzL2hhbmRsZXIvY2xlcmstYXV0aG9yaXplci90YXJnZXQvKionLFxuICAgICAgICAnKiovLkRTX1N0b3JlJyxcbiAgICAgICAgLi4ub3B0aW9ucy5naXRpZ25vcmUgfHwgW10sXG4gICAgICBdLFxuICAgICAgdHNjb25maWc6IHtcbiAgICAgICAgLi4ub3B0aW9ucy50c2NvbmZpZyxcbiAgICAgICAgY29tcGlsZXJPcHRpb25zOiB7XG4gICAgICAgICAgLi4ub3B0aW9ucy50c2NvbmZpZz8uY29tcGlsZXJPcHRpb25zLFxuICAgICAgICAgIGlzb2xhdGVkTW9kdWxlczogdHJ1ZSxcbiAgICAgICAgICBhbGxvd0ltcG9ydGluZ1RzRXh0ZW5zaW9uczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzYW1wbGVDb2RlOiBmYWxzZSxcbiAgICAgIG1pbk5vZGVWZXJzaW9uOiBvcHRpb25zLm1pbk5vZGVWZXJzaW9uIHx8ICcyMicsXG4gICAgICBkZXBzVXBncmFkZU9wdGlvbnM6IHtcbiAgICAgICAgd29ya2Zsb3dPcHRpb25zOiB7XG4gICAgICAgICAgcHJvamVuQ3JlZGVudGlhbHM6IEdpdGh1YkNyZWRlbnRpYWxzLmZyb21QZXJzb25hbEFjY2Vzc1Rva2VuKHtcbiAgICAgICAgICAgIHNlY3JldDogJ0dJVEhVQl9UT0tFTicsXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgcmVhZG1lOiB7XG4gICAgICAgIGNvbnRlbnRzOiByZWFkbWVDb250ZW50cyhvcHRpb25zLm5hbWUpLFxuICAgICAgfSxcbiAgICB9KTtcblxuXG4gICAgLy8gQ3JlYXRlIHN0YW5kYXJkIHByb2plY3QgZmlsZXNcbiAgICBjb25zdCBQUklNQVJZX0FDQ09VTlQgPSAnMDE1OTU1ODE3MjYzJztcbiAgICBjb25zdCBQUklNQVJZX1JFR0lPTiA9ICd1cy1lYXN0LTEnO1xuXG4gICAgbmV3IEJvb3RjYW1wQXBwbGljYXRpb24odGhpcywge1xuICAgICAgZ2l0aHViUmVwb3NpdG9yeTogYG1hY2Vkb24tdGVjaG5vbG9naWVzLyR7b3B0aW9ucy5uYW1lfWAsXG4gICAgICBkZXY6IHtcbiAgICAgICAgLi4ub3B0aW9ucy5kZXYsXG4gICAgICB9LFxuICAgICAgc3RhZ2luZzoge1xuICAgICAgICAuLi5vcHRpb25zLnN0YWdpbmcsXG4gICAgICB9LFxuICAgICAgcHJvZDoge1xuICAgICAgICAuLi5vcHRpb25zLmRldixcbiAgICAgIH0sXG4gICAgICBhZGRpdGlvbmFsVGFnczogb3B0aW9ucy5hZGRpdGlvbmFsVGFncyxcbiAgICB9KTtcblxuICAgIG5ldyBHaXRIdWJSb2xlc0ZpbGUodGhpcywge1xuICAgICAgYWNjb3VudDogUFJJTUFSWV9BQ0NPVU5ULFxuICAgICAgcHJpbWFyeVJlZ2lvbjogUFJJTUFSWV9SRUdJT04sXG4gICAgfSk7XG5cbiAgICBuZXcgQ29kZU93bmVyc0ZpbGUodGhpcywge1xuICAgICAgYWRkaXRpb25hbE93bmVyczogb3B0aW9ucy5hZGRpdGlvbmFsQ29kZU93bmVycyxcbiAgICB9KTtcblxuICAgIG5ldyBEYXRhRG9nQXNwZWN0RmlsZSh0aGlzKTtcblxuICAgIGNvbnN0IHZpdGVSZWFjdCA9IG5ldyBWaXRlUmVhY3RQcm9qZWN0KHtcbiAgICAgIG5hbWU6IG9wdGlvbnMubmFtZSxcbiAgICAgIGRlZmF1bHRSZWxlYXNlQnJhbmNoOiAnbWFpbicsXG4gICAgICBwYXJlbnQ6IHRoaXMsXG4gICAgICBvdXRkaXI6ICd3ZWInLFxuICAgICAgZGVwczogb3B0aW9ucy53ZWJzaXRlRGVwcyxcbiAgICB9KTtcbiAgICB2aXRlUmVhY3QuYWRkQ29uZmlnRmllbGQoJ3NvbWV0aGluZycsICdudW1iZXInKTtcbiAgICB2aXRlUmVhY3QuYWRkQ29uZmlnRmllbGQoJ3NvbWV0aGluZ0Vsc2UnLCAnc3RyaW5nJyk7XG5cbiAgICBjb25zdCBjb25jdXJyZW50bHkgPSAoLi4uYXJnczogc3RyaW5nW10pID0+IHtcbiAgICAgIHJldHVybiBgY29uY3VycmVudGx5ICR7YXJncy5tYXAoYSA9PiBgXCIke2F9XCJgKS5qb2luKCcgJyl9YDtcbiAgICB9O1xuXG4gICAgdGhpcy5hZGRUYXNrKCdkZXYnLCB7XG4gICAgICBleGVjOiBjb25jdXJyZW50bHkoXG4gICAgICAgICdub2RlbW9uIC0td2F0Y2ggLi9zcmMvY29uc3RydWN0cy9oYW5kbGVyIC0td2F0Y2ggLi9sb2NhbC9kZXYudHMgLi9sb2NhbC9kZXYudHMnLFxuICAgICAgICB2aXRlUmVhY3QuZGV2Q29tbWFuZCxcbiAgICAgICksXG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZFRhc2soJ2NkazpkZXYnLCB7XG4gICAgICBleGVjOiAneWFybiBjZGsgLWEgXCJucHggdHMtbm9kZSAtUCB0c2NvbmZpZy5qc29uIC0tcHJlZmVyLXRzLWV4dHMgc3JjL0xvY2FsRGV2QXBwLnRzXCInLFxuICAgICAgcmVjZWl2ZUFyZ3M6IHRydWUsXG4gICAgfSk7XG5cblxuICB9XG59XG4iXX0=
|
package/lib/CodeOwnersFile.js
CHANGED
|
@@ -16,5 +16,5 @@ class CodeOwnersFile extends projen_1.TextFile {
|
|
|
16
16
|
}
|
|
17
17
|
exports.CodeOwnersFile = CodeOwnersFile;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
CodeOwnersFile[_a] = { fqn: "@macedon-technologies/batman.CodeOwnersFile", version: "1.
|
|
19
|
+
CodeOwnersFile[_a] = { fqn: "@macedon-technologies/batman.CodeOwnersFile", version: "1.11.0" };
|
|
20
20
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29kZU93bmVyc0ZpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQ29kZU93bmVyc0ZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBa0M7QUFPbEMsTUFBYSxjQUFlLFNBQVEsaUJBQVE7SUFDMUMsWUFBWSxPQUE0QixFQUFFLFVBQWlDLEVBQUU7UUFDM0UsTUFBTSxhQUFhLEdBQUcsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQzNELE1BQU0sU0FBUyxHQUFHLENBQUMsR0FBRyxhQUFhLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUU7WUFDbkMsS0FBSyxFQUFFLFNBQVM7WUFDaEIsTUFBTSxFQUFFLElBQUk7U0FDYixDQUFDLENBQUM7SUFDTCxDQUFDOztBQVRILHdDQVVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGV4dEZpbGUgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgQXdzQ2RrVHlwZVNjcmlwdEFwcCB9IGZyb20gJ3Byb2plbi9saWIvYXdzY2RrJztcblxuZXhwb3J0IGludGVyZmFjZSBDb2RlT3duZXJzRmlsZU9wdGlvbnMge1xuICByZWFkb25seSBhZGRpdGlvbmFsT3duZXJzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBjbGFzcyBDb2RlT3duZXJzRmlsZSBleHRlbmRzIFRleHRGaWxlIHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogQXdzQ2RrVHlwZVNjcmlwdEFwcCwgb3B0aW9uczogQ29kZU93bmVyc0ZpbGVPcHRpb25zID0ge30pIHtcbiAgICBjb25zdCBkZWZhdWx0T3duZXJzID0gWycqIEBtYWNlZG9uLXRlY2hub2xvZ2llcy9wbGF0Zm9ybSddO1xuICAgIGNvbnN0IGFsbE93bmVycyA9IFsuLi5kZWZhdWx0T3duZXJzLCAuLi4ob3B0aW9ucy5hZGRpdGlvbmFsT3duZXJzIHx8IFtdKV07XG5cbiAgICBzdXBlcihwcm9qZWN0LCAnLmdpdGh1Yi9DT0RFT1dORVJTJywge1xuICAgICAgbGluZXM6IGFsbE93bmVycyxcbiAgICAgIG1hcmtlcjogdHJ1ZSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -94,5 +94,5 @@ class ProductionDeployWorkflow extends projen_1.YamlFile {
|
|
|
94
94
|
}
|
|
95
95
|
exports.ProductionDeployWorkflow = ProductionDeployWorkflow;
|
|
96
96
|
_a = JSII_RTTI_SYMBOL_1;
|
|
97
|
-
ProductionDeployWorkflow[_a] = { fqn: "@macedon-technologies/batman.ProductionDeployWorkflow", version: "1.
|
|
97
|
+
ProductionDeployWorkflow[_a] = { fqn: "@macedon-technologies/batman.ProductionDeployWorkflow", version: "1.11.0" };
|
|
98
98
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvZHVjdGlvbkRlcGxveVdvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1Byb2R1Y3Rpb25EZXBsb3lXb3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUFrQztBQVVsQyxNQUFhLHdCQUF5QixTQUFRLGlCQUFRO0lBQ3BELFlBQVksT0FBNEIsRUFBRSxPQUF3QztRQUNoRixLQUFLLENBQUMsT0FBTyxFQUFFLHlDQUF5QyxFQUFFO1lBQ3hELE1BQU0sRUFBRSxJQUFJO1lBQ1osUUFBUSxFQUFFLElBQUk7WUFDZCxHQUFHLEVBQUU7Z0JBQ0gsSUFBSSxFQUFFLG1CQUFtQjtnQkFDekIsRUFBRSxFQUFFO29CQUNGLElBQUksRUFBRTt3QkFDSixJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUM7cUJBQ1o7aUJBQ0Y7Z0JBQ0QsV0FBVyxFQUFFO29CQUNYLFVBQVUsRUFBRSxPQUFPO29CQUNuQixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Z0JBQ0QsSUFBSSxFQUFFO29CQUNKLE1BQU0sRUFBRTt3QkFDTixTQUFTLEVBQUUsZUFBZTt3QkFDMUIsT0FBTyxFQUFFOzRCQUNQO2dDQUNFLElBQUksRUFBRSxVQUFVO2dDQUNoQixJQUFJLEVBQUUscUJBQXFCOzZCQUM1Qjs0QkFDRDtnQ0FDRSxJQUFJLEVBQUUsZUFBZTtnQ0FDckIsSUFBSSxFQUFFLHVCQUF1QjtnQ0FDN0IsSUFBSSxFQUFFO29DQUNKLGNBQWMsRUFBRSxJQUFJO2lDQUNyQjs2QkFDRjs0QkFDRDtnQ0FDRSxJQUFJLEVBQUUsMkJBQTJCO2dDQUNqQyxJQUFJLEVBQUUsMENBQTBDO2dDQUNoRCxJQUFJLEVBQUU7b0NBQ0osZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLE9BQU87b0NBQ2pDLFlBQVksRUFBRSxPQUFPLENBQUMsU0FBUztpQ0FDaEM7NkJBQ0Y7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLHNCQUFzQjtnQ0FDNUIsR0FBRyxFQUFFLGdDQUFnQzs2QkFDdEM7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLG9CQUFvQjtnQ0FDMUIsR0FBRyxFQUFFLCtCQUErQixPQUFPLENBQUMsbUJBQW1CLDRFQUE0RTs2QkFDNUk7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLHNCQUFzQjtnQ0FDNUIsRUFBRSxFQUFFLFFBQVE7Z0NBQ1osR0FBRyxFQUFFLHNCQUFzQixPQUFPLENBQUMsV0FBVyxnRUFBZ0U7NkJBQy9HOzRCQUNEO2dDQUNFLElBQUksRUFBRSxpQkFBaUI7Z0NBQ3ZCLEVBQUUsRUFBRSxTQUFTO2dDQUNiLEdBQUcsRUFBRTtvQ0FDSCxzRUFBc0U7b0NBQ3RFLG1EQUFtRDtvQ0FDbkQsa0NBQWtDO2lDQUNuQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7NkJBQ2I7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLGNBQWM7Z0NBQ3BCLEVBQUUsRUFBRSxVQUFVO2dDQUNkLEdBQUcsRUFBRTtvQ0FDSCw0QkFBNEI7b0NBQzVCLGNBQWM7b0NBQ2QscUNBQXFDO29DQUNyQyxrQkFBa0I7b0NBQ2xCLElBQUk7b0NBQ0osd0RBQXdEO29DQUN4RCxpSUFBaUk7b0NBQ2pJLGdDQUFnQztvQ0FDaEMsNkRBQTZEO29DQUM3RCxJQUFJO29DQUNKLHdEQUF3RDtvQ0FDeEQsZ0VBQWdFO29DQUNoRSw0Q0FBNEM7b0NBQzVDLDJJQUEySTtpQ0FDNUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDOzZCQUNiO3lCQUNGO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOztBQXRGSCw0REF1RkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBZYW1sRmlsZSB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBBd3NDZGtUeXBlU2NyaXB0QXBwIH0gZnJvbSAncHJvamVuL2xpYi9hd3NjZGsnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3Rpb25EZXBsb3lXb3JrZmxvd09wdGlvbnMge1xuICByZWFkb25seSByb2xlQXJuOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGF3c1JlZ2lvbjogc3RyaW5nO1xuICByZWFkb25seSBwcm9qZWN0TmFtZTogc3RyaW5nO1xuICByZWFkb25seSBjbGVya1B1Ymxpc2hhYmxlS2V5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBQcm9kdWN0aW9uRGVwbG95V29ya2Zsb3cgZXh0ZW5kcyBZYW1sRmlsZSB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IEF3c0Nka1R5cGVTY3JpcHRBcHAsIG9wdGlvbnM6IFByb2R1Y3Rpb25EZXBsb3lXb3JrZmxvd09wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0LCAnLmdpdGh1Yi93b3JrZmxvd3MvcHJvZHVjdGlvbi1kZXBsb3kueW1sJywge1xuICAgICAgbWFya2VyOiB0cnVlLFxuICAgICAgcmVhZG9ubHk6IHRydWUsXG4gICAgICBvYmo6IHtcbiAgICAgICAgbmFtZTogJ1Byb2R1Y3Rpb24gRGVwbG95JyxcbiAgICAgICAgb246IHtcbiAgICAgICAgICBwdXNoOiB7XG4gICAgICAgICAgICB0YWdzOiBbJyonXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBwZXJtaXNzaW9uczoge1xuICAgICAgICAgICdpZC10b2tlbic6ICd3cml0ZScsXG4gICAgICAgICAgJ2NvbnRlbnRzJzogJ3JlYWQnLFxuICAgICAgICB9LFxuICAgICAgICBqb2JzOiB7XG4gICAgICAgICAgZGVwbG95OiB7XG4gICAgICAgICAgICAncnVucy1vbic6ICd1YnVudHUtbGF0ZXN0JyxcbiAgICAgICAgICAgICdzdGVwcyc6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdDaGVja291dCcsXG4gICAgICAgICAgICAgICAgdXNlczogJ2FjdGlvbnMvY2hlY2tvdXRAdjUnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ1NldHVwIE5vZGUuanMnLFxuICAgICAgICAgICAgICAgIHVzZXM6ICdhY3Rpb25zL3NldHVwLW5vZGVAdjUnLFxuICAgICAgICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgICAgICAgICdub2RlLXZlcnNpb24nOiAnMjQnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnQ29uZmlndXJlIEFXUyBjcmVkZW50aWFscycsXG4gICAgICAgICAgICAgICAgdXNlczogJ2F3cy1hY3Rpb25zL2NvbmZpZ3VyZS1hd3MtY3JlZGVudGlhbHNAdjQnLFxuICAgICAgICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgICAgICAgICdyb2xlLXRvLWFzc3VtZSc6IG9wdGlvbnMucm9sZUFybixcbiAgICAgICAgICAgICAgICAgICdhd3MtcmVnaW9uJzogb3B0aW9ucy5hd3NSZWdpb24sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdJbnN0YWxsIGRlcGVuZGVuY2llcycsXG4gICAgICAgICAgICAgICAgcnVuOiAneWFybiBpbnN0YWxsIC0tZnJvemVuLWxvY2tmaWxlJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdVcGRhdGUgY29uZmlnLmpzb24nLFxuICAgICAgICAgICAgICAgIHJ1bjogYGpxICcuY2xlcmtQdWJsaXNoYWJsZUtleSA9IFwiJHtvcHRpb25zLmNsZXJrUHVibGlzaGFibGVLZXl9XCInIHdlYi9wdWJsaWMvY29uZmlnLmpzb24gPiB0bXAuanNvbiAmJiBtdiB0bXAuanNvbiB3ZWIvcHVibGljL2NvbmZpZy5qc29uYCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdEZXBsb3kgdG8gcHJvZHVjdGlvbicsXG4gICAgICAgICAgICAgICAgaWQ6ICdkZXBsb3knLFxuICAgICAgICAgICAgICAgIHJ1bjogYHlhcm4gY2RrIGRlcGxveSAtZSAke29wdGlvbnMucHJvamVjdE5hbWV9LXByb2QgLS1yZXF1aXJlLWFwcHJvdmFsIG5ldmVyIC0tb3V0cHV0cy1maWxlIGNkay1vdXRwdXRzLmpzb25gLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ0V4dHJhY3Qgb3V0cHV0cycsXG4gICAgICAgICAgICAgICAgaWQ6ICdvdXRwdXRzJyxcbiAgICAgICAgICAgICAgICBydW46IFtcbiAgICAgICAgICAgICAgICAgICdXRUJTSVRFX1VSTD0kKGpxIC1yIFxcJy5bXSB8IC5XZWJzaXRlVXJsIC8vIGVtcHR5XFwnIGNkay1vdXRwdXRzLmpzb24pJyxcbiAgICAgICAgICAgICAgICAgICdlY2hvIFwid2Vic2l0ZV91cmw9JFdFQlNJVEVfVVJMXCIgPj4gJEdJVEhVQl9PVVRQVVQnLFxuICAgICAgICAgICAgICAgICAgJ2VjaG8gXCJXZWJzaXRlIFVSTDogJFdFQlNJVEVfVVJMXCInLFxuICAgICAgICAgICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnTm90aWZ5IFNsYWNrJyxcbiAgICAgICAgICAgICAgICBpZjogJ2Fsd2F5cygpJyxcbiAgICAgICAgICAgICAgICBydW46IFtcbiAgICAgICAgICAgICAgICAgICdTVEFUVVM9XCIke3sgam9iLnN0YXR1cyB9fVwiJyxcbiAgICAgICAgICAgICAgICAgICdDT0xPUj1cImdvb2RcIicsXG4gICAgICAgICAgICAgICAgICAnaWYgWyBcIiRTVEFUVVNcIiAhPSBcInN1Y2Nlc3NcIiBdOyB0aGVuJyxcbiAgICAgICAgICAgICAgICAgICcgIENPTE9SPVwiZGFuZ2VyXCInLFxuICAgICAgICAgICAgICAgICAgJ2ZpJyxcbiAgICAgICAgICAgICAgICAgICdXRUJTSVRFX1VSTD1cIiR7eyBzdGVwcy5vdXRwdXRzLm91dHB1dHMud2Vic2l0ZV91cmwgfX1cIicsXG4gICAgICAgICAgICAgICAgICAnTUVTU0FHRT1cIlByb2R1Y3Rpb24gRGVwbG95OiAkU1RBVFVTXFxcXG5SZXBvOiAke3sgZ2l0aHViLnJlcG9zaXRvcnkgfX1cXFxcblRhZzogJHt7IGdpdGh1Yi5yZWZfbmFtZSB9fVxcXFxuQ29tbWl0OiAke3sgZ2l0aHViLnNoYSB9fVwiJyxcbiAgICAgICAgICAgICAgICAgICdpZiBbIC1uIFwiJFdFQlNJVEVfVVJMXCIgXTsgdGhlbicsXG4gICAgICAgICAgICAgICAgICAnICBNRVNTQUdFPVwiJE1FU1NBR0VcXFxcbvCfjJAgV2Vic2l0ZTogPCRXRUJTSVRFX1VSTHxWaWV3IFNpdGU+XCInLFxuICAgICAgICAgICAgICAgICAgJ2ZpJyxcbiAgICAgICAgICAgICAgICAgICdjdXJsIC1YIFBPU1QgaHR0cHM6Ly9zbGFjay5jb20vYXBpL2NoYXQucG9zdE1lc3NhZ2UgXFxcXCcsXG4gICAgICAgICAgICAgICAgICAnICAtSCBcIkF1dGhvcml6YXRpb246IEJlYXJlciAke3sgc2VjcmV0cy5TTEFDS19CT1RfVE9LRU4gfX1cIiBcXFxcJyxcbiAgICAgICAgICAgICAgICAgICcgIC1IIFxcJ0NvbnRlbnQtdHlwZTogYXBwbGljYXRpb24vanNvblxcJyBcXFxcJyxcbiAgICAgICAgICAgICAgICAgICcgIC0tZGF0YSBcIntcXFxcXCJjaGFubmVsXFxcXFwiOlxcXFxcIiR7eyBzZWNyZXRzLlNMQUNLX0NIQU5ORUxfSUQgfX1cXFxcXCIsXFxcXFwiYXR0YWNobWVudHNcXFxcXCI6W3tcXFxcXCJjb2xvclxcXFxcIjpcXFxcXCIkQ09MT1JcXFxcXCIsXFxcXFwidGV4dFxcXFxcIjpcXFxcXCIkTUVTU0FHRVxcXFxcIn1dfVwiJyxcbiAgICAgICAgICAgICAgICBdLmpvaW4oJ1xcbicpLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -94,5 +94,5 @@ class StagingDeployWorkflow extends projen_1.YamlFile {
|
|
|
94
94
|
}
|
|
95
95
|
exports.StagingDeployWorkflow = StagingDeployWorkflow;
|
|
96
96
|
_a = JSII_RTTI_SYMBOL_1;
|
|
97
|
-
StagingDeployWorkflow[_a] = { fqn: "@macedon-technologies/batman.StagingDeployWorkflow", version: "1.
|
|
97
|
+
StagingDeployWorkflow[_a] = { fqn: "@macedon-technologies/batman.StagingDeployWorkflow", version: "1.11.0" };
|
|
98
98
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhZ2luZ0RlcGxveVdvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1N0YWdpbmdEZXBsb3lXb3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUFrQztBQVVsQyxNQUFhLHFCQUFzQixTQUFRLGlCQUFRO0lBQ2pELFlBQVksT0FBNEIsRUFBRSxPQUFxQztRQUM3RSxLQUFLLENBQUMsT0FBTyxFQUFFLHNDQUFzQyxFQUFFO1lBQ3JELE1BQU0sRUFBRSxJQUFJO1lBQ1osUUFBUSxFQUFFLElBQUk7WUFDZCxHQUFHLEVBQUU7Z0JBQ0gsSUFBSSxFQUFFLGdCQUFnQjtnQkFDdEIsRUFBRSxFQUFFO29CQUNGLElBQUksRUFBRTt3QkFDSixRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUM7cUJBQ25CO2lCQUNGO2dCQUNELFdBQVcsRUFBRTtvQkFDWCxVQUFVLEVBQUUsT0FBTztvQkFDbkIsVUFBVSxFQUFFLE1BQU07aUJBQ25CO2dCQUNELElBQUksRUFBRTtvQkFDSixNQUFNLEVBQUU7d0JBQ04sU0FBUyxFQUFFLGVBQWU7d0JBQzFCLE9BQU8sRUFBRTs0QkFDUDtnQ0FDRSxJQUFJLEVBQUUsVUFBVTtnQ0FDaEIsSUFBSSxFQUFFLHFCQUFxQjs2QkFDNUI7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLGVBQWU7Z0NBQ3JCLElBQUksRUFBRSx1QkFBdUI7Z0NBQzdCLElBQUksRUFBRTtvQ0FDSixjQUFjLEVBQUUsSUFBSTtpQ0FDckI7NkJBQ0Y7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLDJCQUEyQjtnQ0FDakMsSUFBSSxFQUFFLDBDQUEwQztnQ0FDaEQsSUFBSSxFQUFFO29DQUNKLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxPQUFPO29DQUNqQyxZQUFZLEVBQUUsT0FBTyxDQUFDLFNBQVM7aUNBQ2hDOzZCQUNGOzRCQUNEO2dDQUNFLElBQUksRUFBRSxzQkFBc0I7Z0NBQzVCLEdBQUcsRUFBRSxnQ0FBZ0M7NkJBQ3RDOzRCQUNEO2dDQUNFLElBQUksRUFBRSxvQkFBb0I7Z0NBQzFCLEdBQUcsRUFBRSwrQkFBK0IsT0FBTyxDQUFDLG1CQUFtQiw0RUFBNEU7NkJBQzVJOzRCQUNEO2dDQUNFLElBQUksRUFBRSxtQkFBbUI7Z0NBQ3pCLEVBQUUsRUFBRSxRQUFRO2dDQUNaLEdBQUcsRUFBRSxzQkFBc0IsT0FBTyxDQUFDLFdBQVcsbUVBQW1FOzZCQUNsSDs0QkFDRDtnQ0FDRSxJQUFJLEVBQUUsaUJBQWlCO2dDQUN2QixFQUFFLEVBQUUsU0FBUztnQ0FDYixHQUFHLEVBQUU7b0NBQ0gsc0VBQXNFO29DQUN0RSxtREFBbUQ7b0NBQ25ELGtDQUFrQztpQ0FDbkMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDOzZCQUNiOzRCQUNEO2dDQUNFLElBQUksRUFBRSxjQUFjO2dDQUNwQixFQUFFLEVBQUUsVUFBVTtnQ0FDZCxHQUFHLEVBQUU7b0NBQ0gsNEJBQTRCO29DQUM1QixjQUFjO29DQUNkLHFDQUFxQztvQ0FDckMsa0JBQWtCO29DQUNsQixJQUFJO29DQUNKLHdEQUF3RDtvQ0FDeEQsaUlBQWlJO29DQUNqSSxnQ0FBZ0M7b0NBQ2hDLDZEQUE2RDtvQ0FDN0QsSUFBSTtvQ0FDSix3REFBd0Q7b0NBQ3hELGdFQUFnRTtvQ0FDaEUsNENBQTRDO29DQUM1QywySUFBMkk7aUNBQzVJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzs2QkFDYjt5QkFDRjtxQkFDRjtpQkFDRjthQUNGO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUF0Rkgsc0RBdUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWWFtbEZpbGUgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgQXdzQ2RrVHlwZVNjcmlwdEFwcCB9IGZyb20gJ3Byb2plbi9saWIvYXdzY2RrJztcblxuZXhwb3J0IGludGVyZmFjZSBTdGFnaW5nRGVwbG95V29ya2Zsb3dPcHRpb25zIHtcbiAgcmVhZG9ubHkgcm9sZUFybjogc3RyaW5nO1xuICByZWFkb25seSBhd3NSZWdpb246IHN0cmluZztcbiAgcmVhZG9ubHkgcHJvamVjdE5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgY2xlcmtQdWJsaXNoYWJsZUtleTogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgU3RhZ2luZ0RlcGxveVdvcmtmbG93IGV4dGVuZHMgWWFtbEZpbGUge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBBd3NDZGtUeXBlU2NyaXB0QXBwLCBvcHRpb25zOiBTdGFnaW5nRGVwbG95V29ya2Zsb3dPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCwgJy5naXRodWIvd29ya2Zsb3dzL3N0YWdpbmctZGVwbG95LnltbCcsIHtcbiAgICAgIG1hcmtlcjogdHJ1ZSxcbiAgICAgIHJlYWRvbmx5OiB0cnVlLFxuICAgICAgb2JqOiB7XG4gICAgICAgIG5hbWU6ICdTdGFnaW5nIERlcGxveScsXG4gICAgICAgIG9uOiB7XG4gICAgICAgICAgcHVzaDoge1xuICAgICAgICAgICAgYnJhbmNoZXM6IFsnbWFpbiddLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHBlcm1pc3Npb25zOiB7XG4gICAgICAgICAgJ2lkLXRva2VuJzogJ3dyaXRlJyxcbiAgICAgICAgICAnY29udGVudHMnOiAncmVhZCcsXG4gICAgICAgIH0sXG4gICAgICAgIGpvYnM6IHtcbiAgICAgICAgICBkZXBsb3k6IHtcbiAgICAgICAgICAgICdydW5zLW9uJzogJ3VidW50dS1sYXRlc3QnLFxuICAgICAgICAgICAgJ3N0ZXBzJzogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ0NoZWNrb3V0JyxcbiAgICAgICAgICAgICAgICB1c2VzOiAnYWN0aW9ucy9jaGVja291dEB2NScsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnU2V0dXAgTm9kZS5qcycsXG4gICAgICAgICAgICAgICAgdXNlczogJ2FjdGlvbnMvc2V0dXAtbm9kZUB2NScsXG4gICAgICAgICAgICAgICAgd2l0aDoge1xuICAgICAgICAgICAgICAgICAgJ25vZGUtdmVyc2lvbic6ICcyNCcsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdDb25maWd1cmUgQVdTIGNyZWRlbnRpYWxzJyxcbiAgICAgICAgICAgICAgICB1c2VzOiAnYXdzLWFjdGlvbnMvY29uZmlndXJlLWF3cy1jcmVkZW50aWFsc0B2NCcsXG4gICAgICAgICAgICAgICAgd2l0aDoge1xuICAgICAgICAgICAgICAgICAgJ3JvbGUtdG8tYXNzdW1lJzogb3B0aW9ucy5yb2xlQXJuLFxuICAgICAgICAgICAgICAgICAgJ2F3cy1yZWdpb24nOiBvcHRpb25zLmF3c1JlZ2lvbixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ0luc3RhbGwgZGVwZW5kZW5jaWVzJyxcbiAgICAgICAgICAgICAgICBydW46ICd5YXJuIGluc3RhbGwgLS1mcm96ZW4tbG9ja2ZpbGUnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ1VwZGF0ZSBjb25maWcuanNvbicsXG4gICAgICAgICAgICAgICAgcnVuOiBganEgJy5jbGVya1B1Ymxpc2hhYmxlS2V5ID0gXCIke29wdGlvbnMuY2xlcmtQdWJsaXNoYWJsZUtleX1cIicgd2ViL3B1YmxpYy9jb25maWcuanNvbiA+IHRtcC5qc29uICYmIG12IHRtcC5qc29uIHdlYi9wdWJsaWMvY29uZmlnLmpzb25gLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ0RlcGxveSB0byBzdGFnaW5nJyxcbiAgICAgICAgICAgICAgICBpZDogJ2RlcGxveScsXG4gICAgICAgICAgICAgICAgcnVuOiBgeWFybiBjZGsgZGVwbG95IC1lICR7b3B0aW9ucy5wcm9qZWN0TmFtZX0tc3RhZ2luZyAtLXJlcXVpcmUtYXBwcm92YWwgbmV2ZXIgLS1vdXRwdXRzLWZpbGUgY2RrLW91dHB1dHMuanNvbmAsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnRXh0cmFjdCBvdXRwdXRzJyxcbiAgICAgICAgICAgICAgICBpZDogJ291dHB1dHMnLFxuICAgICAgICAgICAgICAgIHJ1bjogW1xuICAgICAgICAgICAgICAgICAgJ1dFQlNJVEVfVVJMPSQoanEgLXIgXFwnLltdIHwgLldlYnNpdGVVcmwgLy8gZW1wdHlcXCcgY2RrLW91dHB1dHMuanNvbiknLFxuICAgICAgICAgICAgICAgICAgJ2VjaG8gXCJ3ZWJzaXRlX3VybD0kV0VCU0lURV9VUkxcIiA+PiAkR0lUSFVCX09VVFBVVCcsXG4gICAgICAgICAgICAgICAgICAnZWNobyBcIldlYnNpdGUgVVJMOiAkV0VCU0lURV9VUkxcIicsXG4gICAgICAgICAgICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdOb3RpZnkgU2xhY2snLFxuICAgICAgICAgICAgICAgIGlmOiAnYWx3YXlzKCknLFxuICAgICAgICAgICAgICAgIHJ1bjogW1xuICAgICAgICAgICAgICAgICAgJ1NUQVRVUz1cIiR7eyBqb2Iuc3RhdHVzIH19XCInLFxuICAgICAgICAgICAgICAgICAgJ0NPTE9SPVwiZ29vZFwiJyxcbiAgICAgICAgICAgICAgICAgICdpZiBbIFwiJFNUQVRVU1wiICE9IFwic3VjY2Vzc1wiIF07IHRoZW4nLFxuICAgICAgICAgICAgICAgICAgJyAgQ09MT1I9XCJkYW5nZXJcIicsXG4gICAgICAgICAgICAgICAgICAnZmknLFxuICAgICAgICAgICAgICAgICAgJ1dFQlNJVEVfVVJMPVwiJHt7IHN0ZXBzLm91dHB1dHMub3V0cHV0cy53ZWJzaXRlX3VybCB9fVwiJyxcbiAgICAgICAgICAgICAgICAgICdNRVNTQUdFPVwiU3RhZ2luZyBEZXBsb3k6ICRTVEFUVVNcXFxcblJlcG86ICR7eyBnaXRodWIucmVwb3NpdG9yeSB9fVxcXFxuQnJhbmNoOiAke3sgZ2l0aHViLnJlZl9uYW1lIH19XFxcXG5Db21taXQ6ICR7eyBnaXRodWIuc2hhIH19XCInLFxuICAgICAgICAgICAgICAgICAgJ2lmIFsgLW4gXCIkV0VCU0lURV9VUkxcIiBdOyB0aGVuJyxcbiAgICAgICAgICAgICAgICAgICcgIE1FU1NBR0U9XCIkTUVTU0FHRVxcXFxu8J+MkCBXZWJzaXRlOiA8JFdFQlNJVEVfVVJMfFZpZXcgU2l0ZT5cIicsXG4gICAgICAgICAgICAgICAgICAnZmknLFxuICAgICAgICAgICAgICAgICAgJ2N1cmwgLVggUE9TVCBodHRwczovL3NsYWNrLmNvbS9hcGkvY2hhdC5wb3N0TWVzc2FnZSBcXFxcJyxcbiAgICAgICAgICAgICAgICAgICcgIC1IIFwiQXV0aG9yaXphdGlvbjogQmVhcmVyICR7eyBzZWNyZXRzLlNMQUNLX0JPVF9UT0tFTiB9fVwiIFxcXFwnLFxuICAgICAgICAgICAgICAgICAgJyAgLUggXFwnQ29udGVudC10eXBlOiBhcHBsaWNhdGlvbi9qc29uXFwnIFxcXFwnLFxuICAgICAgICAgICAgICAgICAgJyAgLS1kYXRhIFwie1xcXFxcImNoYW5uZWxcXFxcXCI6XFxcXFwiJHt7IHNlY3JldHMuU0xBQ0tfQ0hBTk5FTF9JRCB9fVxcXFxcIixcXFxcXCJhdHRhY2htZW50c1xcXFxcIjpbe1xcXFxcImNvbG9yXFxcXFwiOlxcXFxcIiRDT0xPUlxcXFxcIixcXFxcXCJ0ZXh0XFxcXFwiOlxcXFxcIiRNRVNTQUdFXFxcXFwifV19XCInLFxuICAgICAgICAgICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
package/lib/utils.d.ts
CHANGED
package/lib/utils.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.serializeTs = serializeTs;
|
|
4
|
+
exports.readmeContents = readmeContents;
|
|
4
5
|
function serializeTs(value, depth = 1) {
|
|
5
6
|
const pad = ' '.repeat(depth);
|
|
6
7
|
const innerPad = ' '.repeat(depth + 1);
|
|
@@ -20,4 +21,134 @@ function serializeTs(value, depth = 1) {
|
|
|
20
21
|
}
|
|
21
22
|
return JSON.stringify(value);
|
|
22
23
|
}
|
|
23
|
-
|
|
24
|
+
function readmeContents(projectName) {
|
|
25
|
+
return [
|
|
26
|
+
`# ${projectName}`,
|
|
27
|
+
'',
|
|
28
|
+
'This project was bootstrapped with [Batman](https://github.com/macedon-technologies/platform-common).',
|
|
29
|
+
'',
|
|
30
|
+
'## What Batman Created',
|
|
31
|
+
'',
|
|
32
|
+
'### CDK Infrastructure (`src/`)',
|
|
33
|
+
'',
|
|
34
|
+
'| File | Description |',
|
|
35
|
+
'|------|-------------|',
|
|
36
|
+
'| `src/main.ts` | CDK app entry point — instantiates dev, staging, and prod `ApplicationStack`s |',
|
|
37
|
+
'| `src/LocalDevApp.ts` | Local development CDK app — used by `yarn cdk:dev` - deploys to AWS for slower but more thorough testing |',
|
|
38
|
+
'| `src/GitHubRoles.ts` | CDK app for deploying the GitHub OIDC IAM role (one-time bootstrap) |',
|
|
39
|
+
'| `src/stacks/ApplicationStack.ts` | Your primary stack — extend it to add resources |',
|
|
40
|
+
'| `src/stacks/BaseApplicationStack.ts` | Base stack with VPC, API, static website, Datadog, and Route 53 wired up |',
|
|
41
|
+
'| `src/stacks/GitHubRolesStack.ts` | IAM role stack for GitHub Actions OIDC authentication |',
|
|
42
|
+
'| `src/constructs/Api.ts` | API Gateway + Lambda construct with Clerk JWT authorizer |',
|
|
43
|
+
'| `src/constructs/StaticWebsite.ts` | CloudFront + S3 + ACM + Route 53 construct |',
|
|
44
|
+
'| `src/constructs/handler/Api.Function.ts` | Lambda handler entry point, basic wrapper around Express-compatible app code |',
|
|
45
|
+
'| `src/aspects/DataDogAspect.ts` | CDK aspect that wires all Lambda functions to Datadog |',
|
|
46
|
+
'',
|
|
47
|
+
'### Frontend (`web/`)',
|
|
48
|
+
'',
|
|
49
|
+
'| File | Description |',
|
|
50
|
+
'|------|-------------|',
|
|
51
|
+
'| `web/src/main.tsx` | React app entry point with Clerk and React Query providers |',
|
|
52
|
+
'| `web/src/App.tsx` | Root application component |',
|
|
53
|
+
'| `web/src/App.css` / `web/src/index.css` | Base stylesheets (Tailwind CSS v4) |',
|
|
54
|
+
'| `web/src/config.ts` | `useConfig()` hook — loads runtime config from `config.json` |',
|
|
55
|
+
'| `web/src/services/BaseService.ts` | `useBaseQuery()` — authenticated API fetch hook |',
|
|
56
|
+
'| `web/src/services/RootService.ts` | Example service using `useBaseQuery` |',
|
|
57
|
+
'| `web/public/config.json` | Runtime config (API base URL, Clerk publishable key) |',
|
|
58
|
+
'',
|
|
59
|
+
'### GitHub Actions Workflows (`.github/workflows/`)',
|
|
60
|
+
'',
|
|
61
|
+
'| File | Trigger |',
|
|
62
|
+
'|------|---------|',
|
|
63
|
+
'| `pr-deploy.yml` | On pull request open/update — deploys a per-PR dev stack |',
|
|
64
|
+
'| `pr-cleanup.yml` | On pull request close — tears down the per-PR dev stack |',
|
|
65
|
+
'| `staging-deploy.yml` | On push to `main` — deploys to staging |',
|
|
66
|
+
'| `production-deploy.yml` | Manually triggered — deploys to production |',
|
|
67
|
+
'',
|
|
68
|
+
'---',
|
|
69
|
+
'',
|
|
70
|
+
'## Files You Can Edit',
|
|
71
|
+
'',
|
|
72
|
+
'These files are generated once and never overwritten by Batman. Modify them freely.',
|
|
73
|
+
'',
|
|
74
|
+
'| File | What to do with it |',
|
|
75
|
+
'|------|--------------------|',
|
|
76
|
+
'| `.projenrc.ts | The main Projen configuration file. Additional dependencies for either the API or the Web frontend need to be added here |',
|
|
77
|
+
'| `src/stacks/ApplicationStack.ts` | **Start here.** Add CDK constructs to build your infrastructure |',
|
|
78
|
+
'| `src/constructs/handler/app.ts | The main monolithic API REST server file. Main file you should be modifying |',
|
|
79
|
+
'| `web/src/App.tsx` | Build your UI here |',
|
|
80
|
+
'| `web/src/App.css` / `web/src/index.css` | Style your application |',
|
|
81
|
+
'| `web/src/main.tsx` | Adjust top-level providers or routing |',
|
|
82
|
+
'| `web/src/services/RootService.ts` | Add or replace API service hooks |',
|
|
83
|
+
'| `web/public/config.json` | Update for local development (API URL, Clerk key) |',
|
|
84
|
+
'',
|
|
85
|
+
'## Files You Cannot Edit',
|
|
86
|
+
'',
|
|
87
|
+
'These files are **managed by Batman** and will be overwritten every time `npx projen` runs. Do not edit them directly — make changes in `.projenrc.ts` instead.',
|
|
88
|
+
'',
|
|
89
|
+
'> [!IMPORTANT]',
|
|
90
|
+
'> If you have ANY changes you want to make to these files, notify #team-batman on Slack. ',
|
|
91
|
+
'> We maintain these files as part of the core Batman experience, and your feedback is crucial to ensure they meet your needs.',
|
|
92
|
+
'',
|
|
93
|
+
'| File | Why it\'s managed |',
|
|
94
|
+
'|------|-----------------|',
|
|
95
|
+
'| `src/stacks/BaseApplicationStack.ts` | Core stack wiring — updated with Batman releases |',
|
|
96
|
+
'| `src/aspects/DataDogAspect.ts` | Datadog CDK aspect |',
|
|
97
|
+
'| `web/vite.config.ts` | Vite configuration |',
|
|
98
|
+
'| `web/eslint.config.js` | ESLint configuration |',
|
|
99
|
+
'| `web/postcss.config.js` | PostCSS / Tailwind configuration |',
|
|
100
|
+
'| `web/index.html` | HTML entry point |',
|
|
101
|
+
'| `web/tsconfig.json` / `web/tsconfig.app.json` / `web/tsconfig.node.json` | TypeScript configuration |',
|
|
102
|
+
'| `web/src/vite-env.d.ts` | Vite type declarations |',
|
|
103
|
+
'| `web/src/config.ts` | Runtime config hook — shape driven by `.projenrc.ts` |',
|
|
104
|
+
'| `web/src/services/BaseService.ts` | Base authenticated fetch hook |',
|
|
105
|
+
'| `.github/CODEOWNERS` | Code ownership policy |',
|
|
106
|
+
'| `.github/workflows/*.yml` | All CI/CD workflows |',
|
|
107
|
+
'',
|
|
108
|
+
'> **Tip:** Files with a `~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen". ~~` header are managed files.',
|
|
109
|
+
'',
|
|
110
|
+
'---',
|
|
111
|
+
'',
|
|
112
|
+
'## Where to Start',
|
|
113
|
+
'',
|
|
114
|
+
'1. **`src/stacks/ApplicationStack.ts`** — Add your CDK constructs here. The base stack already provides `this.api`, `this.vpc`, `this.hostedZone`, and `this.datadog` as protected properties.',
|
|
115
|
+
'',
|
|
116
|
+
'2. **`web/`** — Build your frontend. Start with `web/src/App.tsx` and add services alongside `web/src/services/RootService.ts`.',
|
|
117
|
+
'',
|
|
118
|
+
'3. **`src/constructs/handler/app.ts`** — Implement your backend Lambda handler logic here.',
|
|
119
|
+
'',
|
|
120
|
+
'4. **`.projenrc.ts`** - Manages project dependencies and configuration. Run `npx projen` after making any changes to this file.',
|
|
121
|
+
'---',
|
|
122
|
+
'',
|
|
123
|
+
'## Development Workflow',
|
|
124
|
+
'',
|
|
125
|
+
'```bash',
|
|
126
|
+
'# Install dependencies',
|
|
127
|
+
'yarn install',
|
|
128
|
+
'',
|
|
129
|
+
'# Start local dev server (backend Lambda + Vite frontend in parallel)',
|
|
130
|
+
'yarn dev',
|
|
131
|
+
'',
|
|
132
|
+
'# Deploy a personal dev stack to AWS as an alternative to local development, provides more thorough end-to-end testing',
|
|
133
|
+
'yarn cdk:dev --context local-dev-prefix=your-handle deploy',
|
|
134
|
+
'',
|
|
135
|
+
'# Run tests',
|
|
136
|
+
'yarn test',
|
|
137
|
+
'',
|
|
138
|
+
'# Re-synthesize project files after editing .projenrc.ts',
|
|
139
|
+
'npx projen',
|
|
140
|
+
'```',
|
|
141
|
+
'',
|
|
142
|
+
'---',
|
|
143
|
+
'',
|
|
144
|
+
'## Upgrading Batman',
|
|
145
|
+
'',
|
|
146
|
+
'```bash',
|
|
147
|
+
'yarn add @macedon-technologies/batman@latest',
|
|
148
|
+
'npx projen',
|
|
149
|
+
'```',
|
|
150
|
+
'',
|
|
151
|
+
'This updates all managed files to the latest Batman standards. Your editable sample files are never touched.',
|
|
152
|
+
].join('\n');
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxrQ0FnQkM7QUFFRCx3Q0FpSUM7QUFuSkQsU0FBZ0IsV0FBVyxDQUFDLEtBQVUsRUFBRSxLQUFLLEdBQUcsQ0FBQztJQUMvQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUTtRQUFFLE9BQU8sSUFBSSxLQUFLLEdBQUcsQ0FBQztJQUNuRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxPQUFPLEtBQUssS0FBSyxTQUFTO1FBQUUsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEYsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxHQUFHLFdBQVcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEYsT0FBTyxNQUFNLEtBQUssTUFBTSxHQUFHLEdBQUcsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ2hELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO2FBQ2xDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLFFBQVEsR0FBRyxDQUFDLEtB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eHBvcnQgZnVuY3Rpb24gc2VyaWFsaXplVHModmFsdWU6IGFueSwgZGVwdGggPSAxKTogc3RyaW5nIHtcbiAgY29uc3QgcGFkID0gJyAgJy5yZXBlYXQoZGVwdGgpO1xuICBjb25zdCBpbm5lclBhZCA9ICcgICcucmVwZWF0KGRlcHRoICsgMSk7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSByZXR1cm4gYCcke3ZhbHVlfSdgO1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgIGNvbnN0IGl0ZW1zID0gdmFsdWUubWFwKHYgPT4gYCR7aW5uZXJQYWR9JHtzZXJpYWxpemVUcyh2LCBkZXB0aCArIDEpfWApLmpvaW4oJyxcXG4nKTtcbiAgICByZXR1cm4gYFtcXG4ke2l0ZW1zfSxcXG4ke3BhZH1dYDtcbiAgfVxuICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGVudHJpZXMgPSBPYmplY3QuZW50cmllcyh2YWx1ZSlcbiAgICAgIC5tYXAoKFtrLCB2XSkgPT4gYCR7aW5uZXJQYWR9JHtrfTogJHtzZXJpYWxpemVUcyh2LCBkZXB0aCArIDEpfWApXG4gICAgICAuam9pbignLFxcbicpO1xuICAgIHJldHVybiBge1xcbiR7ZW50cmllc30sXFxuJHtwYWR9fWA7XG4gIH1cbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlYWRtZUNvbnRlbnRzKHByb2plY3ROYW1lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIFtcbiAgICBgIyAke3Byb2plY3ROYW1lfWAsXG4gICAgJycsXG4gICAgJ1RoaXMgcHJvamVjdCB3YXMgYm9vdHN0cmFwcGVkIHdpdGggW0JhdG1hbl0oaHR0cHM6Ly9naXRodWIuY29tL21hY2Vkb24tdGVjaG5vbG9naWVzL3BsYXRmb3JtLWNvbW1vbikuJyxcbiAgICAnJyxcbiAgICAnIyMgV2hhdCBCYXRtYW4gQ3JlYXRlZCcsXG4gICAgJycsXG4gICAgJyMjIyBDREsgSW5mcmFzdHJ1Y3R1cmUgKGBzcmMvYCknLFxuICAgICcnLFxuICAgICd8IEZpbGUgfCBEZXNjcmlwdGlvbiB8JyxcbiAgICAnfC0tLS0tLXwtLS0tLS0tLS0tLS0tfCcsXG4gICAgJ3wgYHNyYy9tYWluLnRzYCB8IENESyBhcHAgZW50cnkgcG9pbnQg4oCUIGluc3RhbnRpYXRlcyBkZXYsIHN0YWdpbmcsIGFuZCBwcm9kIGBBcHBsaWNhdGlvblN0YWNrYHMgfCcsXG4gICAgJ3wgYHNyYy9Mb2NhbERldkFwcC50c2AgfCBMb2NhbCBkZXZlbG9wbWVudCBDREsgYXBwIOKAlCB1c2VkIGJ5IGB5YXJuIGNkazpkZXZgIC0gZGVwbG95cyB0byBBV1MgZm9yIHNsb3dlciBidXQgbW9yZSB0aG9yb3VnaCB0ZXN0aW5nIHwnLFxuICAgICd8IGBzcmMvR2l0SHViUm9sZXMudHNgIHwgQ0RLIGFwcCBmb3IgZGVwbG95aW5nIHRoZSBHaXRIdWIgT0lEQyBJQU0gcm9sZSAob25lLXRpbWUgYm9vdHN0cmFwKSB8JyxcbiAgICAnfCBgc3JjL3N0YWNrcy9BcHBsaWNhdGlvblN0YWNrLnRzYCB8IFlvdXIgcHJpbWFyeSBzdGFjayDigJQgZXh0ZW5kIGl0IHRvIGFkZCByZXNvdXJjZXMgfCcsXG4gICAgJ3wgYHNyYy9zdGFja3MvQmFzZUFwcGxpY2F0aW9uU3RhY2sudHNgIHwgQmFzZSBzdGFjayB3aXRoIFZQQywgQVBJLCBzdGF0aWMgd2Vic2l0ZSwgRGF0YWRvZywgYW5kIFJvdXRlIDUzIHdpcmVkIHVwIHwnLFxuICAgICd8IGBzcmMvc3RhY2tzL0dpdEh1YlJvbGVzU3RhY2sudHNgIHwgSUFNIHJvbGUgc3RhY2sgZm9yIEdpdEh1YiBBY3Rpb25zIE9JREMgYXV0aGVudGljYXRpb24gfCcsXG4gICAgJ3wgYHNyYy9jb25zdHJ1Y3RzL0FwaS50c2AgfCBBUEkgR2F0ZXdheSArIExhbWJkYSBjb25zdHJ1Y3Qgd2l0aCBDbGVyayBKV1QgYXV0aG9yaXplciB8JyxcbiAgICAnfCBgc3JjL2NvbnN0cnVjdHMvU3RhdGljV2Vic2l0ZS50c2AgfCBDbG91ZEZyb250ICsgUzMgKyBBQ00gKyBSb3V0ZSA1MyBjb25zdHJ1Y3QgfCcsXG4gICAgJ3wgYHNyYy9jb25zdHJ1Y3RzL2hhbmRsZXIvQXBpLkZ1bmN0aW9uLnRzYCB8IExhbWJkYSBoYW5kbGVyIGVudHJ5IHBvaW50LCBiYXNpYyB3cmFwcGVyIGFyb3VuZCBFeHByZXNzLWNvbXBhdGlibGUgYXBwIGNvZGUgfCcsXG4gICAgJ3wgYHNyYy9hc3BlY3RzL0RhdGFEb2dBc3BlY3QudHNgIHwgQ0RLIGFzcGVjdCB0aGF0IHdpcmVzIGFsbCBMYW1iZGEgZnVuY3Rpb25zIHRvIERhdGFkb2cgfCcsXG4gICAgJycsXG4gICAgJyMjIyBGcm9udGVuZCAoYHdlYi9gKScsXG4gICAgJycsXG4gICAgJ3wgRmlsZSB8IERlc2NyaXB0aW9uIHwnLFxuICAgICd8LS0tLS0tfC0tLS0tLS0tLS0tLS18JyxcbiAgICAnfCBgd2ViL3NyYy9tYWluLnRzeGAgfCBSZWFjdCBhcHAgZW50cnkgcG9pbnQgd2l0aCBDbGVyayBhbmQgUmVhY3QgUXVlcnkgcHJvdmlkZXJzIHwnLFxuICAgICd8IGB3ZWIvc3JjL0FwcC50c3hgIHwgUm9vdCBhcHBsaWNhdGlvbiBjb21wb25lbnQgfCcsXG4gICAgJ3wgYHdlYi9zcmMvQXBwLmNzc2AgLyBgd2ViL3NyYy9pbmRleC5jc3NgIHwgQmFzZSBzdHlsZXNoZWV0cyAoVGFpbHdpbmQgQ1NTIHY0KSB8JyxcbiAgICAnfCBgd2ViL3NyYy9jb25maWcudHNgIHwgYHVzZUNvbmZpZygpYCBob29rIOKAlCBsb2FkcyBydW50aW1lIGNvbmZpZyBmcm9tIGBjb25maWcuanNvbmAgfCcsXG4gICAgJ3wgYHdlYi9zcmMvc2VydmljZXMvQmFzZVNlcnZpY2UudHNgIHwgYHVzZUJhc2VRdWVyeSgpYCDigJQgYXV0aGVudGljYXRlZCBBUEkgZmV0Y2ggaG9vayB8JyxcbiAgICAnfCBgd2ViL3NyYy9zZXJ2aWNlcy9Sb290U2VydmljZS50c2AgfCBFeGFtcGxlIHNlcnZpY2UgdXNpbmcgYHVzZUJhc2VRdWVyeWAgfCcsXG4gICAgJ3wgYHdlYi9wdWJsaWMvY29uZmlnLmpzb25gIHwgUnVudGltZSBjb25maWcgKEFQSSBiYXNlIFVSTCwgQ2xlcmsgcHVibGlzaGFibGUga2V5KSB8JyxcbiAgICAnJyxcbiAgICAnIyMjIEdpdEh1YiBBY3Rpb25zIFdvcmtmbG93cyAoYC5naXRodWIvd29ya2Zsb3dzL2ApJyxcbiAgICAnJyxcbiAgICAnfCBGaWxlIHwgVHJpZ2dlciB8JyxcbiAgICAnfC0tLS0tLXwtLS0tLS0tLS18JyxcbiAgICAnfCBgcHItZGVwbG95LnltbGAgfCBPbiBwdWxsIHJlcXVlc3Qgb3Blbi91cGRhdGUg4oCUIGRlcGxveXMgYSBwZXItUFIgZGV2IHN0YWNrIHwnLFxuICAgICd8IGBwci1jbGVhbnVwLnltbGAgfCBPbiBwdWxsIHJlcXVlc3QgY2xvc2Ug4oCUIHRlYXJzIGRvd24gdGhlIHBlci1QUiBkZXYgc3RhY2sgfCcsXG4gICAgJ3wgYHN0YWdpbmctZGVwbG95LnltbGAgfCBPbiBwdXNoIHRvIGBtYWluYCDigJQgZGVwbG95cyB0byBzdGFnaW5nIHwnLFxuICAgICd8IGBwcm9kdWN0aW9uLWRlcGxveS55bWxgIHwgTWFudWFsbHkgdHJpZ2dlcmVkIOKAlCBkZXBsb3lzIHRvIHByb2R1Y3Rpb24gfCcsXG4gICAgJycsXG4gICAgJy0tLScsXG4gICAgJycsXG4gICAgJyMjIEZpbGVzIFlvdSBDYW4gRWRpdCcsXG4gICAgJycsXG4gICAgJ1RoZXNlIGZpbGVzIGFyZSBnZW5lcmF0ZWQgb25jZSBhbmQgbmV2ZXIgb3ZlcndyaXR0ZW4gYnkgQmF0bWFuLiBNb2RpZnkgdGhlbSBmcmVlbHkuJyxcbiAgICAnJyxcbiAgICAnfCBGaWxlIHwgV2hhdCB0byBkbyB3aXRoIGl0IHwnLFxuICAgICd8LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tfCcsXG4gICAgJ3wgYC5wcm9qZW5yYy50cyB8IFRoZSBtYWluIFByb2plbiBjb25maWd1cmF0aW9uIGZpbGUuIEFkZGl0aW9uYWwgZGVwZW5kZW5jaWVzIGZvciBlaXRoZXIgdGhlIEFQSSBvciB0aGUgV2ViIGZyb250ZW5kIG5lZWQgdG8gYmUgYWRkZWQgaGVyZSB8JyxcbiAgICAnfCBgc3JjL3N0YWNrcy9BcHBsaWNhdGlvblN0YWNrLnRzYCB8ICoqU3RhcnQgaGVyZS4qKiBBZGQgQ0RLIGNvbnN0cnVjdHMgdG8gYnVpbGQgeW91ciBpbmZyYXN0cnVjdHVyZSB8JyxcbiAgICAnfCBgc3JjL2NvbnN0cnVjdHMvaGFuZGxlci9hcHAudHMgfCBUaGUgbWFpbiBtb25vbGl0aGljIEFQSSBSRVNUIHNlcnZlciBmaWxlLiBNYWluIGZpbGUgeW91IHNob3VsZCBiZSBtb2RpZnlpbmcgfCcsXG4gICAgJ3wgYHdlYi9zcmMvQXBwLnRzeGAgfCBCdWlsZCB5b3VyIFVJIGhlcmUgfCcsXG4gICAgJ3wgYHdlYi9zcmMvQXBwLmNzc2AgLyBgd2ViL3NyYy9pbmRleC5jc3NgIHwgU3R5bGUgeW91ciBhcHBsaWNhdGlvbiB8JyxcbiAgICAnfCBgd2ViL3NyYy9tYWluLnRzeGAgfCBBZGp1c3QgdG9wLWxldmVsIHByb3ZpZGVycyBvciByb3V0aW5nIHwnLFxuICAgICd8IGB3ZWIvc3JjL3NlcnZpY2VzL1Jvb3RTZXJ2aWNlLnRzYCB8IEFkZCBvciByZXBsYWNlIEFQSSBzZXJ2aWNlIGhvb2tzIHwnLFxuICAgICd8IGB3ZWIvcHVibGljL2NvbmZpZy5qc29uYCB8IFVwZGF0ZSBmb3IgbG9jYWwgZGV2ZWxvcG1lbnQgKEFQSSBVUkwsIENsZXJrIGtleSkgfCcsXG4gICAgJycsXG4gICAgJyMjIEZpbGVzIFlvdSBDYW5ub3QgRWRpdCcsXG4gICAgJycsXG4gICAgJ1RoZXNlIGZpbGVzIGFyZSAqKm1hbmFnZWQgYnkgQmF0bWFuKiogYW5kIHdpbGwgYmUgb3ZlcndyaXR0ZW4gZXZlcnkgdGltZSBgbnB4IHByb2plbmAgcnVucy4gRG8gbm90IGVkaXQgdGhlbSBkaXJlY3RseSDigJQgbWFrZSBjaGFuZ2VzIGluIGAucHJvamVucmMudHNgIGluc3RlYWQuJyxcbiAgICAnJyxcbiAgICAnPiBbIUlNUE9SVEFOVF0nLFxuICAgICc+IElmIHlvdSBoYXZlIEFOWSBjaGFuZ2VzIHlvdSB3YW50IHRvIG1ha2UgdG8gdGhlc2UgZmlsZXMsIG5vdGlmeSAjdGVhbS1iYXRtYW4gb24gU2xhY2suICcsXG4gICAgJz4gV2UgbWFpbnRhaW4gdGhlc2UgZmlsZXMgYXMgcGFydCBvZiB0aGUgY29yZSBCYXRtYW4gZXhwZXJpZW5jZSwgYW5kIHlvdXIgZmVlZGJhY2sgaXMgY3J1Y2lhbCB0byBlbnN1cmUgdGhleSBtZWV0IHlvdXIgbmVlZHMuJyxcbiAgICAnJyxcbiAgICAnfCBGaWxlIHwgV2h5IGl0XFwncyBtYW5hZ2VkIHwnLFxuICAgICd8LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tfCcsXG4gICAgJ3wgYHNyYy9zdGFja3MvQmFzZUFwcGxpY2F0aW9uU3RhY2sudHNgIHwgQ29yZSBzdGFjayB3aXJpbmcg4oCUIHVwZGF0ZWQgd2l0aCBCYXRtYW4gcmVsZWFzZXMgfCcsXG4gICAgJ3wgYHNyYy9hc3BlY3RzL0RhdGFEb2dBc3BlY3QudHNgIHwgRGF0YWRvZyBDREsgYXNwZWN0IHwnLFxuICAgICd8IGB3ZWIvdml0ZS5jb25maWcudHNgIHwgVml0ZSBjb25maWd1cmF0aW9uIHwnLFxuICAgICd8IGB3ZWIvZXNsaW50LmNvbmZpZy5qc2AgfCBFU0xpbnQgY29uZmlndXJhdGlvbiB8JyxcbiAgICAnfCBgd2ViL3Bvc3Rjc3MuY29uZmlnLmpzYCB8IFBvc3RDU1MgLyBUYWlsd2luZCBjb25maWd1cmF0aW9uIHwnLFxuICAgICd8IGB3ZWIvaW5kZXguaHRtbGAgfCBIVE1MIGVudHJ5IHBvaW50IHwnLFxuICAgICd8IGB3ZWIvdHNjb25maWcuanNvbmAgLyBgd2ViL3RzY29uZmlnLmFwcC5qc29uYCAvIGB3ZWIvdHNjb25maWcubm9kZS5qc29uYCB8IFR5cGVTY3JpcHQgY29uZmlndXJhdGlvbiB8JyxcbiAgICAnfCBgd2ViL3NyYy92aXRlLWVudi5kLnRzYCB8IFZpdGUgdHlwZSBkZWNsYXJhdGlvbnMgfCcsXG4gICAgJ3wgYHdlYi9zcmMvY29uZmlnLnRzYCB8IFJ1bnRpbWUgY29uZmlnIGhvb2sg4oCUIHNoYXBlIGRyaXZlbiBieSBgLnByb2plbnJjLnRzYCB8JyxcbiAgICAnfCBgd2ViL3NyYy9zZXJ2aWNlcy9CYXNlU2VydmljZS50c2AgfCBCYXNlIGF1dGhlbnRpY2F0ZWQgZmV0Y2ggaG9vayB8JyxcbiAgICAnfCBgLmdpdGh1Yi9DT0RFT1dORVJTYCB8IENvZGUgb3duZXJzaGlwIHBvbGljeSB8JyxcbiAgICAnfCBgLmdpdGh1Yi93b3JrZmxvd3MvKi55bWxgIHwgQWxsIENJL0NEIHdvcmtmbG93cyB8JyxcbiAgICAnJyxcbiAgICAnPiAqKlRpcDoqKiBGaWxlcyB3aXRoIGEgYH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMudHMgYW5kIHJ1biBcIm5weCBwcm9qZW5cIi4gfn5gIGhlYWRlciBhcmUgbWFuYWdlZCBmaWxlcy4nLFxuICAgICcnLFxuICAgICctLS0nLFxuICAgICcnLFxuICAgICcjIyBXaGVyZSB0byBTdGFydCcsXG4gICAgJycsXG4gICAgJzEuICoqYHNyYy9zdGFja3MvQXBwbGljYXRpb25TdGFjay50c2AqKiDigJQgQWRkIHlvdXIgQ0RLIGNvbnN0cnVjdHMgaGVyZS4gVGhlIGJhc2Ugc3RhY2sgYWxyZWFkeSBwcm92aWRlcyBgdGhpcy5hcGlgLCBgdGhpcy52cGNgLCBgdGhpcy5ob3N0ZWRab25lYCwgYW5kIGB0aGlzLmRhdGFkb2dgIGFzIHByb3RlY3RlZCBwcm9wZXJ0aWVzLicsXG4gICAgJycsXG4gICAgJzIuICoqYHdlYi9gKiog4oCUIEJ1aWxkIHlvdXIgZnJvbnRlbmQuIFN0YXJ0IHdpdGggYHdlYi9zcmMvQXBwLnRzeGAgYW5kIGFkZCBzZXJ2aWNlcyBhbG9uZ3NpZGUgYHdlYi9zcmMvc2VydmljZXMvUm9vdFNlcnZpY2UudHNgLicsXG4gICAgJycsXG4gICAgJzMuICoqYHNyYy9jb25zdHJ1Y3RzL2hhbmRsZXIvYXBwLnRzYCoqIOKAlCBJbXBsZW1lbnQgeW91ciBiYWNrZW5kIExhbWJkYSBoYW5kbGVyIGxvZ2ljIGhlcmUuJyxcbiAgICAnJyxcbiAgICAnNC4gKipgLnByb2plbnJjLnRzYCoqIC0gTWFuYWdlcyBwcm9qZWN0IGRlcGVuZGVuY2llcyBhbmQgY29uZmlndXJhdGlvbi4gUnVuIGBucHggcHJvamVuYCBhZnRlciBtYWtpbmcgYW55IGNoYW5nZXMgdG8gdGhpcyBmaWxlLicsXG4gICAgJy0tLScsXG4gICAgJycsXG4gICAgJyMjIERldmVsb3BtZW50IFdvcmtmbG93JyxcbiAgICAnJyxcbiAgICAnYGBgYmFzaCcsXG4gICAgJyMgSW5zdGFsbCBkZXBlbmRlbmNpZXMnLFxuICAgICd5YXJuIGluc3RhbGwnLFxuICAgICcnLFxuICAgICcjIFN0YXJ0IGxvY2FsIGRldiBzZXJ2ZXIgKGJhY2tlbmQgTGFtYmRhICsgVml0ZSBmcm9udGVuZCBpbiBwYXJhbGxlbCknLFxuICAgICd5YXJuIGRldicsXG4gICAgJycsXG4gICAgJyMgRGVwbG95IGEgcGVyc29uYWwgZGV2IHN0YWNrIHRvIEFXUyBhcyBhbiBhbHRlcm5hdGl2ZSB0byBsb2NhbCBkZXZlbG9wbWVudCwgcHJvdmlkZXMgbW9yZSB0aG9yb3VnaCBlbmQtdG8tZW5kIHRlc3RpbmcnLFxuICAgICd5YXJuIGNkazpkZXYgLS1jb250ZXh0IGxvY2FsLWRldi1wcmVmaXg9eW91ci1oYW5kbGUgZGVwbG95JyxcbiAgICAnJyxcbiAgICAnIyBSdW4gdGVzdHMnLFxuICAgICd5YXJuIHRlc3QnLFxuICAgICcnLFxuICAgICcjIFJlLXN5bnRoZXNpemUgcHJvamVjdCBmaWxlcyBhZnRlciBlZGl0aW5nIC5wcm9qZW5yYy50cycsXG4gICAgJ25weCBwcm9qZW4nLFxuICAgICdgYGAnLFxuICAgICcnLFxuICAgICctLS0nLFxuICAgICcnLFxuICAgICcjIyBVcGdyYWRpbmcgQmF0bWFuJyxcbiAgICAnJyxcbiAgICAnYGBgYmFzaCcsXG4gICAgJ3lhcm4gYWRkIEBtYWNlZG9uLXRlY2hub2xvZ2llcy9iYXRtYW5AbGF0ZXN0JyxcbiAgICAnbnB4IHByb2plbicsXG4gICAgJ2BgYCcsXG4gICAgJycsXG4gICAgJ1RoaXMgdXBkYXRlcyBhbGwgbWFuYWdlZCBmaWxlcyB0byB0aGUgbGF0ZXN0IEJhdG1hbiBzdGFuZGFyZHMuIFlvdXIgZWRpdGFibGUgc2FtcGxlIGZpbGVzIGFyZSBuZXZlciB0b3VjaGVkLicsXG4gIF0uam9pbignXFxuJyk7XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -40,32 +40,32 @@
|
|
|
40
40
|
"@typescript-eslint/eslint-plugin": "^8",
|
|
41
41
|
"@typescript-eslint/parser": "^8",
|
|
42
42
|
"commit-and-tag-version": "^12",
|
|
43
|
-
"constructs": "
|
|
43
|
+
"constructs": "10.4.3",
|
|
44
44
|
"eslint": "^9",
|
|
45
45
|
"eslint-import-resolver-typescript": "^4.4.4",
|
|
46
46
|
"eslint-plugin-import": "^2.32.0",
|
|
47
47
|
"jest": "^30.2.0",
|
|
48
48
|
"jest-junit": "^16",
|
|
49
|
-
"jsii": "~5.
|
|
49
|
+
"jsii": "~5.9.0",
|
|
50
50
|
"jsii-diff": "^1.119.0",
|
|
51
51
|
"jsii-docgen": "^10.5.0",
|
|
52
52
|
"jsii-pacmak": "^1.119.0",
|
|
53
|
-
"jsii-rosetta": "~5.
|
|
54
|
-
"projen": "0.
|
|
53
|
+
"jsii-rosetta": "~5.9.0",
|
|
54
|
+
"projen": "0.99.18",
|
|
55
55
|
"ts-jest": "^29.4.5",
|
|
56
56
|
"ts-node": "^10.9.2",
|
|
57
57
|
"typescript": "^5.9.3"
|
|
58
58
|
},
|
|
59
59
|
"peerDependencies": {
|
|
60
|
-
"constructs": "
|
|
61
|
-
"projen": "^0.
|
|
60
|
+
"constructs": "10.4.3",
|
|
61
|
+
"projen": "^0.99.18"
|
|
62
62
|
},
|
|
63
63
|
"dependencies": {
|
|
64
|
-
"projen": "^0.
|
|
64
|
+
"projen": "^0.99.18"
|
|
65
65
|
},
|
|
66
66
|
"main": "lib/index.js",
|
|
67
67
|
"license": "Apache-2.0",
|
|
68
|
-
"version": "1.
|
|
68
|
+
"version": "1.11.0",
|
|
69
69
|
"jest": {
|
|
70
70
|
"coverageProvider": "v8",
|
|
71
71
|
"testMatch": [
|