@mrgrain/cdk-esbuild 3.0.0-rc.0 → 3.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.
package/.projenrc.ts CHANGED
@@ -1,23 +1,18 @@
1
1
  import {
2
- AwsCdkConstructLibrary,
3
- IgnoreFile,
2
+ awscdk,
3
+ javascript,
4
4
  JsonFile,
5
- NodePackageManager,
6
5
  release,
7
6
  vscode,
8
7
  } from 'projen';
9
8
  import { SourceFile } from 'ts-morph';
10
9
  import { TypeScriptSourceFile } from './projenrc/TypeScriptSourceFile';
11
10
 
12
- const project = new AwsCdkConstructLibrary({
11
+ const project = new awscdk.AwsCdkConstructLibrary({
13
12
  projenrcTs: true,
14
13
  projenrcTsOptions: {
15
14
  filename: '.projenrc.ts',
16
15
  },
17
- eslintOptions: {
18
- lintProjenRc: false,
19
- dirs: ['src', 'projenrc', '.projenrc.ts'],
20
- },
21
16
  depsUpgradeOptions: {
22
17
  workflow: false,
23
18
  },
@@ -54,33 +49,52 @@ const project = new AwsCdkConstructLibrary({
54
49
  },
55
50
  },
56
51
  },
52
+ jestOptions: {
53
+ jestConfig: {
54
+ testPathIgnorePatterns: ['/node_modules/', '/examples/'],
55
+ coveragePathIgnorePatterns: ['/node_modules/', '/examples/'],
56
+ },
57
+ },
58
+ eslintOptions: {
59
+ lintProjenRc: false,
60
+ dirs: ['src', 'projenrc', '.projenrc.ts'],
61
+ ignorePatterns: [
62
+ '*.js',
63
+ '*.d.ts',
64
+ 'node_modules/',
65
+ '*.generated.ts',
66
+ 'coverage',
67
+ 'examples/',
68
+ ],
69
+ },
57
70
 
58
71
  // Release
59
- packageManager: NodePackageManager.NPM,
60
- npmDistTag: 'next',
61
- defaultReleaseBranch: 'next',
72
+ packageManager: javascript.NodePackageManager.NPM,
73
+ npmDistTag: 'latest',
74
+ defaultReleaseBranch: 'main',
62
75
  majorVersion: 3,
63
- prerelease: 'rc',
64
76
  releaseTrigger: release.ReleaseTrigger.manual(),
65
77
  catalog: {
66
78
  twitter: '@mrgrain',
67
79
  },
68
80
  workflowContainerImage: 'jsii/superchain:1-buster-slim-node14',
81
+ workflowBootstrapSteps: [{
82
+ name: 'Update npm',
83
+ run: 'sudo npm i -g npm',
84
+ }],
69
85
 
70
86
  // Dependencies
71
87
  cdkVersion: '2.0.0',
72
88
  peerDeps: [
73
89
  'aws-cdk-lib@^2.0.0',
74
90
  ],
75
- cdkDependencies: [],
76
- cdkTestDependencies: [],
77
- cdkAssert: false,
78
91
  devDeps: [
79
92
  '@aws-cdk/aws-synthetics-alpha',
80
93
  '@types/eslint',
81
94
  'aws-cdk-lib@2.0.0',
82
95
  'constructs@10.0.5',
83
96
  'esbuild@^0.14.0',
97
+ 'jest-mock',
84
98
  'ts-morph',
85
99
  ],
86
100
 
@@ -93,6 +107,7 @@ const project = new AwsCdkConstructLibrary({
93
107
  '.cdk.staging',
94
108
  'examples/template',
95
109
  '!/.github/workflows/manual-release.yml',
110
+ '!/examples/**',
96
111
  ],
97
112
  npmignore: [
98
113
  '.npmrc',
@@ -109,27 +124,8 @@ const project = new AwsCdkConstructLibrary({
109
124
  ],
110
125
  });
111
126
 
112
- const packageJson = project.tryFindObjectFile('package.json');
113
- packageJson?.addOverride('optionalDependencies', {
114
- esbuild: '^0.14.0',
115
- });
116
- packageJson?.addOverride('jest.testPathIgnorePatterns.1', '/examples/');
117
-
118
- const eslintRc = project.tryFindObjectFile('.eslintrc.json');
119
- eslintRc?.addOverride('ignorePatterns', [
120
- '*.js',
121
- '*.d.ts',
122
- 'node_modules/',
123
- 'examples/',
124
- '*.generated.ts',
125
- 'coverage',
126
- '!.projenrc.ts',
127
- ]);
128
-
129
- (project.tryFindFile('.gitignore') as IgnoreFile).addPatterns(
130
- '!/examples/**',
131
- );
132
127
 
128
+ // VSCode config
133
129
  new JsonFile(project, '.vscode/extensions.json', {
134
130
  readonly: false,
135
131
  marker: false,
@@ -166,6 +162,15 @@ new vscode.VsCode(project).launchConfiguration.addConfiguration({
166
162
  });
167
163
 
168
164
 
165
+ // esbuild
166
+ project.tryFindObjectFile('package.json')?.addOverride('optionalDependencies', {
167
+ esbuild: '^0.14.0',
168
+ });
169
+
170
+ project.eslint?.addRules({
171
+ '@typescript-eslint/member-ordering': 'off',
172
+ });
173
+
169
174
  new TypeScriptSourceFile(project, 'src/esbuild-types.ts', {
170
175
  source: 'node_modules/esbuild/lib/main.d.ts',
171
176
  editGitignore: false,
@@ -183,8 +188,12 @@ new TypeScriptSourceFile(project, 'src/esbuild-types.ts', {
183
188
 
184
189
  ['CommonOptions', 'BuildOptions', 'TransformOptions'].forEach(readonlyInterface);
185
190
  removeFromInterface('BuildOptions', ['entryPoints', 'stdin', 'plugins', 'watch']);
191
+ esbuildTypes.getInterface('CommonOptions')?.getProperty('mangleProps')?.setType('any');
192
+ esbuildTypes.getInterface('CommonOptions')?.getProperty('reserveProps')?.setType('any');
186
193
  esbuildTypes.getInterface('TransformOptions')?.getProperty('tsconfigRaw')?.setType('string');
187
194
  },
188
195
  });
189
196
 
197
+
198
+ // Synth project
190
199
  project.synth();
package/API.md CHANGED
@@ -229,6 +229,18 @@ Documentation: https://esbuild.github.io/api/#define.
229
229
 
230
230
  ---
231
231
 
232
+ ##### `drop`<sup>Optional</sup> <a name="@mrgrain/cdk-esbuild.BuildOptions.property.drop"></a>
233
+
234
+ ```typescript
235
+ public readonly drop: string[];
236
+ ```
237
+
238
+ - *Type:* `string`[]
239
+
240
+ Documentation: https://esbuild.github.io/api/#drop.
241
+
242
+ ---
243
+
232
244
  ##### `entryNames`<sup>Optional</sup> <a name="@mrgrain/cdk-esbuild.BuildOptions.property.entryNames"></a>
233
245
 
234
246
  ```typescript
@@ -433,6 +445,30 @@ Documentation: https://esbuild.github.io/api/#mainFields.
433
445
 
434
446
  ---
435
447
 
448
+ ##### `mangleCache`<sup>Optional</sup> <a name="@mrgrain/cdk-esbuild.BuildOptions.property.mangleCache"></a>
449
+
450
+ ```typescript
451
+ public readonly mangleCache: {[ key: string ]: string | boolean};
452
+ ```
453
+
454
+ - *Type:* {[ key: string ]: `string` | `boolean`}
455
+
456
+ Documentation: https://esbuild.github.io/api/#mangle-props.
457
+
458
+ ---
459
+
460
+ ##### `mangleProps`<sup>Optional</sup> <a name="@mrgrain/cdk-esbuild.BuildOptions.property.mangleProps"></a>
461
+
462
+ ```typescript
463
+ public readonly mangleProps: any;
464
+ ```
465
+
466
+ - *Type:* `any`
467
+
468
+ Documentation: https://esbuild.github.io/api/#mangle-props.
469
+
470
+ ---
471
+
436
472
  ##### `metafile`<sup>Optional</sup> <a name="@mrgrain/cdk-esbuild.BuildOptions.property.metafile"></a>
437
473
 
438
474
  ```typescript
@@ -601,6 +637,18 @@ Documentation: https://esbuild.github.io/api/#pure.
601
637
 
602
638
  ---
603
639
 
640
+ ##### `reserveProps`<sup>Optional</sup> <a name="@mrgrain/cdk-esbuild.BuildOptions.property.reserveProps"></a>
641
+
642
+ ```typescript
643
+ public readonly reserveProps: any;
644
+ ```
645
+
646
+ - *Type:* `any`
647
+
648
+ Documentation: https://esbuild.github.io/api/#mangle-props.
649
+
650
+ ---
651
+
604
652
  ##### `resolveExtensions`<sup>Optional</sup> <a name="@mrgrain/cdk-esbuild.BuildOptions.property.resolveExtensions"></a>
605
653
 
606
654
  ```typescript
@@ -1059,6 +1107,18 @@ Documentation: https://esbuild.github.io/api/#define.
1059
1107
 
1060
1108
  ---
1061
1109
 
1110
+ ##### `drop`<sup>Optional</sup> <a name="@mrgrain/cdk-esbuild.TransformOptions.property.drop"></a>
1111
+
1112
+ ```typescript
1113
+ public readonly drop: string[];
1114
+ ```
1115
+
1116
+ - *Type:* `string`[]
1117
+
1118
+ Documentation: https://esbuild.github.io/api/#drop.
1119
+
1120
+ ---
1121
+
1062
1122
  ##### `footer`<sup>Optional</sup> <a name="@mrgrain/cdk-esbuild.TransformOptions.property.footer"></a>
1063
1123
 
1064
1124
  ```typescript
@@ -1199,6 +1259,30 @@ Documentation: https://esbuild.github.io/api/#log-limit.
1199
1259
 
1200
1260
  ---
1201
1261
 
1262
+ ##### `mangleCache`<sup>Optional</sup> <a name="@mrgrain/cdk-esbuild.TransformOptions.property.mangleCache"></a>
1263
+
1264
+ ```typescript
1265
+ public readonly mangleCache: {[ key: string ]: string | boolean};
1266
+ ```
1267
+
1268
+ - *Type:* {[ key: string ]: `string` | `boolean`}
1269
+
1270
+ Documentation: https://esbuild.github.io/api/#mangle-props.
1271
+
1272
+ ---
1273
+
1274
+ ##### `mangleProps`<sup>Optional</sup> <a name="@mrgrain/cdk-esbuild.TransformOptions.property.mangleProps"></a>
1275
+
1276
+ ```typescript
1277
+ public readonly mangleProps: any;
1278
+ ```
1279
+
1280
+ - *Type:* `any`
1281
+
1282
+ Documentation: https://esbuild.github.io/api/#mangle-props.
1283
+
1284
+ ---
1285
+
1202
1286
  ##### `minify`<sup>Optional</sup> <a name="@mrgrain/cdk-esbuild.TransformOptions.property.minify"></a>
1203
1287
 
1204
1288
  ```typescript
@@ -1259,6 +1343,18 @@ Documentation: https://esbuild.github.io/api/#pure.
1259
1343
 
1260
1344
  ---
1261
1345
 
1346
+ ##### `reserveProps`<sup>Optional</sup> <a name="@mrgrain/cdk-esbuild.TransformOptions.property.reserveProps"></a>
1347
+
1348
+ ```typescript
1349
+ public readonly reserveProps: any;
1350
+ ```
1351
+
1352
+ - *Type:* `any`
1353
+
1354
+ Documentation: https://esbuild.github.io/api/#mangle-props.
1355
+
1356
+ ---
1357
+
1262
1358
  ##### `sourcefile`<sup>Optional</sup> <a name="@mrgrain/cdk-esbuild.TransformOptions.property.sourcefile"></a>
1263
1359
 
1264
1360
  ```typescript
package/CHANGELOG.md CHANGED
@@ -1,38 +1,7 @@
1
- ## [2.2.0](https://github.com/mrgrain/cdk-esbuild/compare/v2.1.0...v2.2.0) (2021-12-04)
2
1
 
3
- **This release contains an upgrade of esbuild with backwards-incompatible changes.** This is inline with the versioning strategy for this package, which is to release esbuild upgrades with minor versions as long as esbuild has not reached version 1.0.0. The backwards-incompatible changes are fairly obscure this time around, but please make sure to read the [0.14.0 release notes](https://github.com/evanw/esbuild/releases/tag/v0.14.0).
2
+ ## [3.2.0](https://github.com/mrgrain/cdk-esbuild/compare/v3.1.0...v3.2.0) (2022-02-04)
4
3
 
5
- ### Features
6
-
7
- - upgrade esbuild to [^0.14.0](https://github.com/evanw/esbuild/releases/tag/v0.14.0) ([#143](https://github.com/mrgrain/cdk-esbuild/issues/143)) ([4568b92](https://github.com/mrgrain/cdk-esbuild/commit/4568b92011a3e38f23d85998dcbbca1afa06918e))
8
- - **examples/esbuild-with-plugins:** example of how to use the escape hatch to run esbuild with plugins ([#142](https://github.com/mrgrain/cdk-esbuild/issues/142)) ([0876f0e](https://github.com/mrgrain/cdk-esbuild/commit/0876f0e4d4bd65a792deef8adf43229568ab899b))
9
-
10
- ## [2.1.0](https://github.com/mrgrain/cdk-esbuild/compare/v2.0.0...v2.1.0) (2021-11-25)
11
-
12
- ### Features
13
-
14
- - escape hatch to provide a custom build or transform function ([#141](https://github.com/mrgrain/cdk-esbuild/issues/141)) ([aacfac1](https://github.com/mrgrain/cdk-esbuild/commit/aacfac1b71f1de78fbfdc1161c6e8cf32fd0629e))
15
- - `Inline*Code` now takes `TransformerProps` as second parameter, passing in `TransformOptions` is still supported but deprecated ([#141](https://github.com/mrgrain/cdk-esbuild/issues/141)) ([aacfac1](https://github.com/mrgrain/cdk-esbuild/commit/aacfac1b71f1de78fbfdc1161c6e8cf32fd0629e))
16
-
17
- ## [2.0.0](https://github.com/mrgrain/cdk-esbuild/compare/v1.129.0...v2.0.0) (2021-11-07)
18
-
19
- ### ⚠ BREAKING CHANGES
20
-
21
- - Major release of this package to make it JSII compatible (#114) ([727c78a](https://github.com/mrgrain/cdk-esbuild/commit/727c78aefa2079d0f561b8b664d75eb6c669e46b)), closes [#114](https://github.com/mrgrain/cdk-esbuild/issues/114) [#117](https://github.com/mrgrain/cdk-esbuild/issues/117) [#119](https://github.com/mrgrain/cdk-esbuild/issues/119) [#120](https://github.com/mrgrain/cdk-esbuild/issues/120) [#123](https://github.com/mrgrain/cdk-esbuild/issues/123)
22
-
23
- - Deprecated features from v1 have been removed. Please see upgrading instructions below.
24
-
25
- ### Upgrading to v2
26
-
27
- - Update the package dependency to v2: `npm install --save @mrgrain/cdk-esbuild@^2.0.0`
28
- - `esbuild` is now installed as an optional dependency. If your setup does not automatically install optional dependencies, add it as an explicit dependency.
29
- - Remove any use of `bundlerPriority`.
30
- - Unstable construct `EsbuildBundling` has been renamed to `EsbuildBundler` and its interface has slightly changed. Like most other constructs, it now takes `entryPoints` as first parameter, with an optional `props` object as the second.
31
4
 
32
5
  ### Features
33
6
 
34
- - JSII compatibility & v2 GA (#114) ([727c78a](https://github.com/mrgrain/cdk-esbuild/commit/727c78aefa2079d0f561b8b664d75eb6c669e46b)), closes [#114](https://github.com/mrgrain/cdk-esbuild/issues/114) [#117](https://github.com/mrgrain/cdk-esbuild/issues/117) [#119](https://github.com/mrgrain/cdk-esbuild/issues/119) [#120](https://github.com/mrgrain/cdk-esbuild/issues/120) [#123](https://github.com/mrgrain/cdk-esbuild/issues/123)
35
-
36
- - Synthesize `esbuild` types from source ([#117](https://github.com/mrgrain/cdk-esbuild/issues/117)) ([af44d55](https://github.com/mrgrain/cdk-esbuild/commit/af44d55e97db6fd8fbda916eb0f25dae55513cba))
37
-
38
- - Generated docs now contain links to esbuild documentation ([#123](https://github.com/mrgrain/cdk-esbuild/issues/123)) ([95f2fd0](https://github.com/mrgrain/cdk-esbuild/commit/95f2fd07330cf9624dd05f23345bfe0f5754fc57))
7
+ * support esbuild mangle-props ([a2566d1](https://github.com/mrgrain/cdk-esbuild/commit/a2566d1ebdb3ed8fabecdda31de413d64075f441))
package/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2021 Moritz Kornher
1
+ Copyright (c) 2022 Moritz Kornher
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  _CDK constructs for [esbuild](https://github.com/evanw/esbuild), an extremely fast JavaScript bundler_
4
4
 
5
+ > ⚠️ This version is compatible with AWS CDK v2. For the previous, AWS CDK v1 compatible release, see [cdk-esbuild@v2](https://github.com/mrgrain/cdk-esbuild/tree/v2)
6
+
5
7
  [Getting started](#getting-started) | [Migrating to v3](#migrating-to-v3) |
6
8
  [Documentation](#documentation) | [API Reference](#api-reference) | [Versioning](#versioning)
7
9
 
@@ -25,23 +27,23 @@ Notably upgrades of the _esbuild_ minimum version requirement will be introduced
25
27
  Install `cdk-esbuild`:
26
28
 
27
29
  ```
28
- npm install @mrgrain/cdk-esbuild@^3.0.0
30
+ npm install @mrgrain/cdk-esbuild@3
29
31
  ```
30
32
 
31
33
  If _peer_ and _optional dependencies_ are not installed automatically (e.g. when using npm v4-6), please use this command to install all of them:
32
34
 
33
35
  ```
34
- npm install @mrgrain/cdk-esbuild@^3.0.0 esbuild
36
+ npm install @mrgrain/cdk-esbuild@3 esbuild
35
37
  ```
36
38
 
37
39
  ### AWS Lambda: Serverless function
38
40
 
39
41
  > 💡 See [Lambda Function](examples/lambda) for a complete working example of a how to deploy a lambda function.
40
42
 
41
- Use `TypeScriptCode` as the `code` of a [lambda function](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Function.html#code):
43
+ Use `TypeScriptCode` as the `code` of a [lambda function](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda.Function.html#code):
42
44
 
43
45
  ```ts
44
- import * as lambda from "@aws-cdk/aws-lambda";
46
+ import * as lambda from "aws-cdk-lib/aws-lambda";
45
47
  import { TypeScriptCode } from "@mrgrain/cdk-esbuild";
46
48
 
47
49
  const bundledCode = new TypeScriptCode("src/index.ts");
@@ -60,8 +62,8 @@ const fn = new lambda.Function(stack, "MyFunction", {
60
62
  Use `TypeScriptSource` as one of the `sources` of a [static website deployment](https://docs.aws.amazon.com/cdk/api/latest/docs/aws-s3-deployment-readme.html#roadmap):
61
63
 
62
64
  ```ts
63
- import * as s3 from "@aws-cdk/aws-s3";
64
- import * as s3deploy from "@aws-cdk/aws-s3-deployment";
65
+ import * as s3 from "aws-cdk-lib/aws-s3";
66
+ import * as s3deploy from "aws-cdk-lib/aws-s3-deployment";
65
67
  import { TypeScriptSource } from "@mrgrain/cdk-esbuild";
66
68
 
67
69
  const websiteBundle = new TypeScriptSource("src/index.tsx");
@@ -85,8 +87,14 @@ new s3deploy.BucketDeployment(stack, "DeployWebsite", {
85
87
 
86
88
  Synthetics runs a canary to produce traffic to an application for monitoring purposes. Use `TypeScriptCode` as the `code` of a Canary test:
87
89
 
90
+ > ℹ️ This feature depends on the `@aws-cdk/aws-synthetics-alpha` package which is a developer preview. You may need to update your source code when upgrading to a newer version of this package.
91
+ >
92
+ > ```
93
+ > npm i @aws-cdk/aws-synthetics-alpha
94
+ > ```
95
+
88
96
  ```ts
89
- import * as synthetics from "@aws-cdk/aws-synthetics";
97
+ import * as synthetics from "@aws-cdk/aws-synthetics-alpha";
90
98
  import { TypeScriptCode } from "@mrgrain/cdk-esbuild";
91
99
 
92
100
  const bundledCode = new TypeScriptCode("src/index.ts", {
@@ -108,7 +116,7 @@ const canary = new synthetics.Canary(stack, "MyCanary", {
108
116
 
109
117
  The package exports various different constructs for use with existing CDK features. A major guiding design principal for this package is to _extend, don't replace_. Expect constructs that you can provide as props, not complete replacements.
110
118
 
111
- For use in **Lambda Functions** and **Synthetic Canaries**, the following classes implement `lambda.Code` ([reference](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-lambda.Code.html)) and `synthetics.Code` ([reference](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-synthetics.Code.html)):
119
+ For use in **Lambda Functions** and **Synthetic Canaries**, the following classes implement `lambda.Code` ([reference](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda.Code.html)) and `synthetics.Code` ([reference](https://docs.aws.amazon.com/cdk/api/v2/docs/@aws-cdk_aws-synthetics-alpha.Code.html)):
112
120
 
113
121
  - `TypeScriptCode` & `JavaScriptCode`
114
122
 
@@ -119,16 +127,16 @@ Inline code is only supported by **Lambda**:
119
127
 
120
128
  For use with **S3 bucket deployments**, classes implementing `s3deploy.ISource` ([reference](https://docs.aws.amazon.com/cdk/api/latest/docs/aws-s3-deployment-readme.html)):
121
129
 
122
- - 🧺 `TypeScriptSource` & `JavaScriptSource`
130
+ - `TypeScriptSource` & `JavaScriptSource`
123
131
 
124
132
  > _Code and Source constructs seamlessly plugin to high-level CDK features. They share the same set of parameters, props and build options._
125
133
 
126
134
  Underlying classes power the other features. You normally won't have to use them, but they are there if you need them:
127
135
 
128
- - `TypeScriptAsset` & `JavaScriptAsset` implements `s3.Asset` ([reference](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3-assets.Asset.html)) \
136
+ - `TypeScriptAsset` & `JavaScriptAsset` implements `s3.Asset` ([reference](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3_assets.Asset.html)) \
129
137
  creates an asset uploaded to S3 which can be referenced by other constructs
130
138
 
131
- - `EsbuildBundler` implements `core.BundlingOptions` ([reference](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.BundlingOptions.html)) \
139
+ - `EsbuildBundler` implements `core.BundlingOptions` ([reference](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.BundlingOptions.html)) \
132
140
  provides an interface for a _esbuild_ bundler wherever needed
133
141
 
134
142
  ## [API Reference](API.md)
package/lib/asset.js CHANGED
@@ -54,7 +54,7 @@ class JavaScriptAsset extends Asset {
54
54
  }
55
55
  exports.JavaScriptAsset = JavaScriptAsset;
56
56
  _a = JSII_RTTI_SYMBOL_1;
57
- JavaScriptAsset[_a] = { fqn: "@mrgrain/cdk-esbuild.JavaScriptAsset", version: "3.0.0-rc.0" };
57
+ JavaScriptAsset[_a] = { fqn: "@mrgrain/cdk-esbuild.JavaScriptAsset", version: "3.2.0" };
58
58
  /**
59
59
  * Bundles the entry points and creates a CDK asset which is uploaded to the bootstrapped CDK S3 bucket during deployment.
60
60
  *
@@ -66,5 +66,5 @@ class TypeScriptAsset extends Asset {
66
66
  }
67
67
  exports.TypeScriptAsset = TypeScriptAsset;
68
68
  _b = JSII_RTTI_SYMBOL_1;
69
- TypeScriptAsset[_b] = { fqn: "@mrgrain/cdk-esbuild.TypeScriptAsset", version: "3.0.0-rc.0" };
69
+ TypeScriptAsset[_b] = { fqn: "@mrgrain/cdk-esbuild.TypeScriptAsset", version: "3.2.0" };
70
70
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYXNzZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQkFBa0M7QUFDbEMsNkNBQTRDO0FBQzVDLDZEQUE2RDtBQUM3RCwyQ0FBNkM7QUFDN0MsdUNBQXNFO0FBa0J0RTs7R0FFRztBQUNILE1BQWUsS0FBZ0MsU0FBUSxxQkFBTzs7OztJQUU1RCxZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUFZOztRQUVaLE1BQU0sRUFDSixTQUFTLEVBQ1QsT0FBTyxFQUNQLFlBQVksRUFBRSxPQUFPLEdBQUcsRUFBRSxFQUMxQixPQUFPLEdBQ1IsR0FBRyxLQUFLLENBQUM7UUFDVixNQUFNLFdBQVcsR0FDZixPQUFPLEtBQUssQ0FBQyxXQUFXLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUVsRixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxpQkFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFFbEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFrQixFQUFFLEVBQUU7WUFDeEQsSUFBSSxpQkFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUMxQixNQUFNLElBQUksS0FBSyxDQUNiLEdBQUcsSUFBSSx3SUFBd0ksQ0FDaEosQ0FBQzthQUNIO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLGFBQWEsU0FBRyxPQUFPLENBQUMsYUFBYSxtQ0FBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFN0QsTUFBTSxZQUFZLEdBQUc7WUFDbkIsTUFBTSxFQUFFLElBQUk7WUFDWixHQUFHLE9BQU87WUFDVixhQUFhO1NBQ2QsQ0FBQztRQUVGLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsSUFBSSxFQUFFLGFBQWE7WUFDbkIsU0FBUztZQUNULGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLDJCQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQywyQkFBYSxDQUFDLE1BQU07WUFDdEUsUUFBUSxFQUFFLElBQUksd0JBQWMsQ0FDMUIsV0FBVyxFQUNYO2dCQUNFLFlBQVk7Z0JBQ1osT0FBTztnQkFDUCxPQUFPO2FBQ1IsQ0FDRjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjs7Ozs7Ozs7QUFHRCxNQUFhLGVBQWdCLFNBQVEsS0FBMkI7O0FBQWhFLDBDQUFtRTs7Ozs7Ozs7OztBQUduRSxNQUFhLGVBQWdCLFNBQVEsS0FBMkI7O0FBQWhFLDBDQUFtRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzQWJzb2x1dGUgfSBmcm9tICdwYXRoJztcbmltcG9ydCB7IEFzc2V0SGFzaFR5cGUgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBBc3NldCBhcyBTM0Fzc2V0IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzLWFzc2V0cyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QsIE5vZGUgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IEVzYnVpbGRCdW5kbGVyLCBCdW5kbGVyUHJvcHMsIEVudHJ5UG9pbnRzIH0gZnJvbSAnLi9idW5kbGVyJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBc3NldEJhc2VQcm9wcyBleHRlbmRzIEJ1bmRsZXJQcm9wcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGFzc2V0SGFzaD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBc3NldFByb3BzIGV4dGVuZHMgQXNzZXRCYXNlUHJvcHMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGVudHJ5UG9pbnRzOiBFbnRyeVBvaW50cztcbn1cblxudHlwZSBKYXZhU2NyaXB0QXNzZXRQcm9wcyA9IEFzc2V0UHJvcHM7XG50eXBlIFR5cGVTY3JpcHRBc3NldFByb3BzID0gQXNzZXRQcm9wcztcblxuLyoqXG4gKiBAc3RhYmlsaXR5IHN0YWJsZVxuICovXG5hYnN0cmFjdCBjbGFzcyBBc3NldDxQcm9wcyBleHRlbmRzIEFzc2V0UHJvcHM+IGV4dGVuZHMgUzNBc3NldCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IFByb3BzLFxuICApIHtcbiAgICBjb25zdCB7XG4gICAgICBhc3NldEhhc2gsXG4gICAgICBjb3B5RGlyLFxuICAgICAgYnVpbGRPcHRpb25zOiBvcHRpb25zID0ge30sXG4gICAgICBidWlsZEZuLFxuICAgIH0gPSBwcm9wcztcbiAgICBjb25zdCBlbnRyeVBvaW50czogc3RyaW5nW10gfCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID1cbiAgICAgIHR5cGVvZiBwcm9wcy5lbnRyeVBvaW50cyA9PT0gJ3N0cmluZycgPyBbcHJvcHMuZW50cnlQb2ludHNdIDogcHJvcHMuZW50cnlQb2ludHM7XG5cbiAgICBjb25zdCBuYW1lID0gc2NvcGUubm9kZS5wYXRoICsgTm9kZS5QQVRIX1NFUCArIGlkO1xuXG4gICAgT2JqZWN0LnZhbHVlcyhlbnRyeVBvaW50cykuZm9yRWFjaCgoZW50cnlQb2ludDogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAoaXNBYnNvbHV0ZShlbnRyeVBvaW50KSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYCR7bmFtZX06IEVudHJ5IHBvaW50cyBtdXN0IGJlIGEgcmVsYXRpdmUgcGF0aC4gSWYgeW91IG5lZWQgdG8gZGVmaW5lIGFuIGFic29sdXRlIHBhdGgsIHBsZWFzZSB1c2UgXFxgYnVpbGRPcHRpb25zLmFic1dvcmtpbmdEaXJcXGAgYWNjb3JkaW5nbHkuYCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IGFic1dvcmtpbmdEaXIgPSBvcHRpb25zLmFic1dvcmtpbmdEaXIgPz8gcHJvY2Vzcy5jd2QoKTtcblxuICAgIGNvbnN0IGJ1aWxkT3B0aW9ucyA9IHtcbiAgICAgIGJ1bmRsZTogdHJ1ZSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBhYnNXb3JraW5nRGlyLFxuICAgIH07XG5cbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHBhdGg6IGFic1dvcmtpbmdEaXIsXG4gICAgICBhc3NldEhhc2gsXG4gICAgICBhc3NldEhhc2hUeXBlOiBhc3NldEhhc2ggPyBBc3NldEhhc2hUeXBlLkNVU1RPTSA6IEFzc2V0SGFzaFR5cGUuT1VUUFVULFxuICAgICAgYnVuZGxpbmc6IG5ldyBFc2J1aWxkQnVuZGxlcihcbiAgICAgICAgZW50cnlQb2ludHMsXG4gICAgICAgIHtcbiAgICAgICAgICBidWlsZE9wdGlvbnMsXG4gICAgICAgICAgY29weURpcixcbiAgICAgICAgICBidWlsZEZuLFxuICAgICAgICB9LFxuICAgICAgKSxcbiAgICB9KTtcbiAgfVxufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIEphdmFTY3JpcHRBc3NldCBleHRlbmRzIEFzc2V0PEphdmFTY3JpcHRBc3NldFByb3BzPiB7fVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIFR5cGVTY3JpcHRBc3NldCBleHRlbmRzIEFzc2V0PFR5cGVTY3JpcHRBc3NldFByb3BzPiB7fVxuIl19
package/lib/bundler.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { DockerImage, ILocalBundling } from 'aws-cdk-lib/core';
1
+ import { DockerImage, ILocalBundling } from 'aws-cdk-lib';
2
2
  import { BuildOptions } from './esbuild-types';
3
3
  /**
4
4
  * A relative path or list or map of relative paths to the entry points of your code from the root of the project. E.g. `src/index.ts`.
package/lib/bundler.js CHANGED
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.EsbuildBundler = void 0;
5
5
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
6
  const path_1 = require("path");
7
- const core_1 = require("aws-cdk-lib/core");
7
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
8
8
  const esbuild_wrapper_1 = require("./esbuild-wrapper");
9
9
  const formatMessages_1 = require("./formatMessages");
10
10
  /**
@@ -40,7 +40,7 @@ class EsbuildBundler {
40
40
  /**
41
41
  * @deprecated This value is ignored since the bundler is always using a locally installed version of esbuild. However the property is required to comply with the `BundlingOptions` interface.
42
42
  */
43
- this.image = core_1.DockerImage.fromRegistry('scratch');
43
+ this.image = aws_cdk_lib_1.DockerImage.fromRegistry('scratch');
44
44
  if (((_b = props === null || props === void 0 ? void 0 : props.buildOptions) === null || _b === void 0 ? void 0 : _b.outfile) && ((_c = props === null || props === void 0 ? void 0 : props.buildOptions) === null || _c === void 0 ? void 0 : _c.outdir)) {
45
45
  throw new Error('Cannot use both "outfile" and "outdir"');
46
46
  }
@@ -50,7 +50,7 @@ class EsbuildBundler {
50
50
  var _b, _c, _d, _e;
51
51
  try {
52
52
  if (this.props.copyDir) {
53
- core_1.FileSystem.copyDirectory(path_1.resolve((_d = (_c = (_b = this.props) === null || _b === void 0 ? void 0 : _b.buildOptions) === null || _c === void 0 ? void 0 : _c.absWorkingDir) !== null && _d !== void 0 ? _d : process.cwd(), this.props.copyDir), outputDir);
53
+ aws_cdk_lib_1.FileSystem.copyDirectory(path_1.resolve((_d = (_c = (_b = this.props) === null || _b === void 0 ? void 0 : _b.buildOptions) === null || _c === void 0 ? void 0 : _c.absWorkingDir) !== null && _d !== void 0 ? _d : process.cwd(), this.props.copyDir), outputDir);
54
54
  }
55
55
  const buildResult = buildFn({
56
56
  entryPoints,
@@ -82,5 +82,5 @@ class EsbuildBundler {
82
82
  }
83
83
  exports.EsbuildBundler = EsbuildBundler;
84
84
  _a = JSII_RTTI_SYMBOL_1;
85
- EsbuildBundler[_a] = { fqn: "@mrgrain/cdk-esbuild.EsbuildBundler", version: "3.0.0-rc.0" };
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9idW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0JBQXFFO0FBQ3JFLDJDQUswQjtBQUUxQix1REFBOEM7QUFDOUMscURBQXNEOzs7Ozs7OztBQXVCdEQsTUFBYSxjQUFjOzs7Ozs7SUFRekI7SUFDRTs7Ozs7T0FLRztJQUNhLFdBQXdCO0lBRXhDOzs7O09BSUc7SUFDYSxLQUFtQjs7UUFQbkIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFPeEIsVUFBSyxHQUFMLEtBQUssQ0FBYzs7OztRQWpCckIsVUFBSyxHQUFHLGtCQUFXLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBbUIxRCxJQUFJLE9BQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFlBQVksMENBQUUsT0FBTyxZQUFJLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxZQUFZLDBDQUFFLE1BQU0sQ0FBQSxFQUFFO1lBQy9ELE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQztTQUMzRDtRQUVELE1BQU0sRUFBRSxPQUFPLEdBQUcsMkJBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFM0MsSUFBSSxDQUFDLEtBQUssR0FBRztZQUNYLFNBQVMsRUFBRSxDQUFDLFNBQWlCLEVBQUUsUUFBeUIsRUFBVyxFQUFFOztnQkFDbkUsSUFBSTtvQkFDRixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFO3dCQUN0QixpQkFBVSxDQUFDLGFBQWEsQ0FDdEIsY0FBTyxtQkFDTCxJQUFJLENBQUMsS0FBSywwQ0FBRSxZQUFZLDBDQUFFLGFBQWEsbUNBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUN4RCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDbkIsRUFDRCxTQUFTLENBQ1YsQ0FBQztxQkFDSDtvQkFFRCxNQUFNLFdBQVcsR0FBZ0IsT0FBTyxDQUFDO3dCQUN2QyxXQUFXO3dCQUNYLEdBQUcsQ0FBQyxPQUFBLElBQUksQ0FBQyxLQUFLLDBDQUFFLFlBQVksS0FBSSxFQUFFLENBQUM7d0JBQ25DLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxFQUFFLFNBQVMsRUFBVCxnQkFBUyxFQUFFLElBQUksRUFBSixXQUFJLEVBQUUsQ0FBQztxQkFDekQsQ0FBQyxDQUFDO29CQUVILG1DQUFrQixDQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO2lCQUN2RDtnQkFBQyxPQUFPLEtBQUssRUFBRTtvQkFDZCxtQ0FBa0IsQ0FBQyxLQUFxQixFQUFFLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7aUJBQ2pFO2dCQUVELE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztTQUNGLENBQUM7SUFDSixDQUFDO0lBRU8sZ0JBQWdCLENBQ3RCLFlBQW9CLEVBQ3BCLE9BQWlELFlBQUs7O1FBRXRELGdCQUFJLElBQUksQ0FBQyxLQUFLLDBDQUFFLFlBQVksMENBQUUsT0FBTyxFQUFFO1lBQ3JDLE9BQU87Z0JBQ0wsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUNyQixJQUFJLENBQUMsSUFBSSxDQUNQLEdBQUksQ0FBQyxZQUFZLGNBQUUsSUFBSSxDQUFDLEtBQUssMENBQUUsWUFBWSwwQ0FBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQzFELE9BQU8sQ0FDSyxDQUNmLENBQ0Y7YUFDRixDQUFDO1NBQ0g7UUFFRCxPQUFPO1lBQ0wsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQ3BCLElBQUksQ0FBQyxJQUFJLENBQ1AsR0FBSSxDQUFDLFlBQVksY0FBRSxJQUFJLENBQUMsS0FBSywwQ0FBRSxZQUFZLDBDQUFFLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FDekQsT0FBTyxDQUNLLENBQ2YsQ0FDRjtZQUNELE9BQU8sRUFBRSxTQUFTO1NBQ25CLENBQUM7SUFDSixDQUFDOztBQXRGSCx3Q0F1RkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqb2luLCBub3JtYWxpemUsIHJlc29sdmUsIHBvc2l4LCBQbGF0Zm9ybVBhdGggfSBmcm9tICdwYXRoJztcbmltcG9ydCB7XG4gIEJ1bmRsaW5nT3B0aW9ucyxcbiAgRG9ja2VySW1hZ2UsXG4gIEZpbGVTeXN0ZW0sXG4gIElMb2NhbEJ1bmRsaW5nLFxufSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IEJ1aWxkRmFpbHVyZSwgQnVpbGRPcHRpb25zLCBCdWlsZFJlc3VsdCB9IGZyb20gJy4vZXNidWlsZC10eXBlcyc7XG5pbXBvcnQgeyBidWlsZFN5bmMgfSBmcm9tICcuL2VzYnVpbGQtd3JhcHBlcic7XG5pbXBvcnQgeyBwcmludEJ1aWxkTWVzc2FnZXMgfSBmcm9tICcuL2Zvcm1hdE1lc3NhZ2VzJztcblxuLyoqXG4gKiBBIHJlbGF0aXZlIHBhdGggb3IgbGlzdCBvciBtYXAgb2YgcmVsYXRpdmUgcGF0aHMgdG8gdGhlIGVudHJ5IHBvaW50cyBvZiB5b3VyIGNvZGUgZnJvbSB0aGUgcm9vdCBvZiB0aGUgcHJvamVjdC4gRS5nLiBgc3JjL2luZGV4LnRzYC5cbiAqXG4gKiBAc3RhYmlsaXR5IHN0YWJsZVxuICovXG5leHBvcnQgdHlwZSBFbnRyeVBvaW50cyA9IHN0cmluZyB8IHN0cmluZ1tdIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGludGVyZmFjZSBCdW5kbGVyUHJvcHMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgYnVpbGRPcHRpb25zPzogQnVpbGRPcHRpb25zO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBjb3B5RGlyPzogc3RyaW5nO1xuXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBidWlsZEZuPzogYW55O1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgRXNidWlsZEJ1bmRsZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgbG9jYWw6IElMb2NhbEJ1bmRsaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IGltYWdlID0gRG9ja2VySW1hZ2UuZnJvbVJlZ2lzdHJ5KCdzY3JhdGNoJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIC8qKlxuICAgICAqIEEgcmVsYXRpdmUgcGF0aCBvciBsaXN0IG9yIG1hcCBvZiByZWxhdGl2ZSBwYXRocyB0byB0aGUgZW50cnkgcG9pbnRzIG9mIHlvdXIgY29kZSBmcm9tIHRoZSByb290IG9mIHRoZSBwcm9qZWN0LlxuICAgICAqIEUuZy4gYHNyYy9pbmRleC50c2AuXG4gICAgICpcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBlbnRyeVBvaW50czogRW50cnlQb2ludHMsXG5cbiAgICAvKipcbiAgICAgKiBQcm9wcyB0byBjaGFuZ2UgdGhlIGJlaGF2aW91ciBvZiB0aGUgYnVuZGxlci5cbiAgICAgKlxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHByb3BzOiBCdW5kbGVyUHJvcHMsXG4gICkge1xuICAgIGlmIChwcm9wcz8uYnVpbGRPcHRpb25zPy5vdXRmaWxlICYmIHByb3BzPy5idWlsZE9wdGlvbnM/Lm91dGRpcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgdXNlIGJvdGggXCJvdXRmaWxlXCIgYW5kIFwib3V0ZGlyXCInKTtcbiAgICB9XG5cbiAgICBjb25zdCB7IGJ1aWxkRm4gPSBidWlsZFN5bmMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICB0aGlzLmxvY2FsID0ge1xuICAgICAgdHJ5QnVuZGxlOiAob3V0cHV0RGlyOiBzdHJpbmcsIF9vcHRpb25zOiBCdW5kbGluZ09wdGlvbnMpOiBib29sZWFuID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBpZiAodGhpcy5wcm9wcy5jb3B5RGlyKSB7XG4gICAgICAgICAgICBGaWxlU3lzdGVtLmNvcHlEaXJlY3RvcnkoXG4gICAgICAgICAgICAgIHJlc29sdmUoXG4gICAgICAgICAgICAgICAgdGhpcy5wcm9wcz8uYnVpbGRPcHRpb25zPy5hYnNXb3JraW5nRGlyID8/IHByb2Nlc3MuY3dkKCksXG4gICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5jb3B5RGlyLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICBvdXRwdXREaXIsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IGJ1aWxkUmVzdWx0OiBCdWlsZFJlc3VsdCA9IGJ1aWxkRm4oe1xuICAgICAgICAgICAgZW50cnlQb2ludHMsXG4gICAgICAgICAgICAuLi4odGhpcy5wcm9wcz8uYnVpbGRPcHRpb25zIHx8IHt9KSxcbiAgICAgICAgICAgIC4uLnRoaXMuZ2V0T3V0cHV0T3B0aW9ucyhvdXRwdXREaXIsIHsgbm9ybWFsaXplLCBqb2luIH0pLFxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgcHJpbnRCdWlsZE1lc3NhZ2VzKGJ1aWxkUmVzdWx0LCB7IHByZWZpeDogJ0J1aWxkICcgfSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgcHJpbnRCdWlsZE1lc3NhZ2VzKGVycm9yIGFzIEJ1aWxkRmFpbHVyZSwgeyBwcmVmaXg6ICdCdWlsZCAnIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldE91dHB1dE9wdGlvbnMoXG4gICAgY2RrT3V0cHV0RGlyOiBzdHJpbmcsXG4gICAgcGF0aDogUGljazxQbGF0Zm9ybVBhdGgsICdub3JtYWxpemUnIHwgJ2pvaW4nPiA9IHBvc2l4LFxuICApOiBCdWlsZE9wdGlvbnMge1xuICAgIGlmICh0aGlzLnByb3BzPy5idWlsZE9wdGlvbnM/Lm91dGZpbGUpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG91dGRpcjogdW5kZWZpbmVkLFxuICAgICAgICBvdXRmaWxlOiBwYXRoLm5vcm1hbGl6ZShcbiAgICAgICAgICBwYXRoLmpvaW4oXG4gICAgICAgICAgICAuLi4oW2Nka091dHB1dERpciwgdGhpcy5wcm9wcz8uYnVpbGRPcHRpb25zPy5vdXRmaWxlXS5maWx0ZXIoXG4gICAgICAgICAgICAgIEJvb2xlYW4sXG4gICAgICAgICAgICApIGFzIHN0cmluZ1tdKSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgb3V0ZGlyOiBwYXRoLm5vcm1hbGl6ZShcbiAgICAgICAgcGF0aC5qb2luKFxuICAgICAgICAgIC4uLihbY2RrT3V0cHV0RGlyLCB0aGlzLnByb3BzPy5idWlsZE9wdGlvbnM/Lm91dGRpcl0uZmlsdGVyKFxuICAgICAgICAgICAgQm9vbGVhbixcbiAgICAgICAgICApIGFzIHN0cmluZ1tdKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgICBvdXRmaWxlOiB1bmRlZmluZWQsXG4gICAgfTtcbiAgfVxufVxuIl19
85
+ EsbuildBundler[_a] = { fqn: "@mrgrain/cdk-esbuild.EsbuildBundler", version: "3.2.0" };
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9idW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0JBQXVEO0FBQ3ZELDZDQUtxQjtBQUVyQix1REFBOEM7QUFDOUMscURBQXNEOzs7Ozs7OztBQXVCdEQsTUFBYSxjQUFjOzs7Ozs7SUFRekI7SUFDRTs7Ozs7T0FLRztJQUNhLFdBQXdCO0lBRXhDOzs7O09BSUc7SUFDYSxLQUFtQjs7UUFQbkIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFPeEIsVUFBSyxHQUFMLEtBQUssQ0FBYzs7OztRQWpCckIsVUFBSyxHQUFHLHlCQUFXLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBbUIxRCxJQUFJLE9BQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFlBQVksMENBQUUsT0FBTyxZQUFJLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxZQUFZLDBDQUFFLE1BQU0sQ0FBQSxFQUFFO1lBQy9ELE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQztTQUMzRDtRQUVELE1BQU0sRUFBRSxPQUFPLEdBQUcsMkJBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFM0MsSUFBSSxDQUFDLEtBQUssR0FBRztZQUNYLFNBQVMsRUFBRSxDQUFDLFNBQWlCLEVBQUUsUUFBeUIsRUFBVyxFQUFFOztnQkFDbkUsSUFBSTtvQkFDRixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFO3dCQUN0Qix3QkFBVSxDQUFDLGFBQWEsQ0FDdEIsY0FBTyxtQkFDTCxJQUFJLENBQUMsS0FBSywwQ0FBRSxZQUFZLDBDQUFFLGFBQWEsbUNBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUN4RCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDbkIsRUFDRCxTQUFTLENBQ1YsQ0FBQztxQkFDSDtvQkFFRCxNQUFNLFdBQVcsR0FBZ0IsT0FBTyxDQUFDO3dCQUN2QyxXQUFXO3dCQUNYLEdBQUcsQ0FBQyxPQUFBLElBQUksQ0FBQyxLQUFLLDBDQUFFLFlBQVksS0FBSSxFQUFFLENBQUM7d0JBQ25DLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxFQUFFLFNBQVMsRUFBVCxnQkFBUyxFQUFFLElBQUksRUFBSixXQUFJLEVBQUUsQ0FBQztxQkFDekQsQ0FBQyxDQUFDO29CQUVILG1DQUFrQixDQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO2lCQUN2RDtnQkFBQyxPQUFPLEtBQUssRUFBRTtvQkFDZCxtQ0FBa0IsQ0FBQyxLQUFxQixFQUFFLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7aUJBQ2pFO2dCQUVELE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztTQUNGLENBQUM7SUFDSixDQUFDO0lBRU8sZ0JBQWdCLENBQ3RCLFlBQW9CLEVBQ3BCLE9BQWlELFlBQUs7O1FBRXRELGdCQUFJLElBQUksQ0FBQyxLQUFLLDBDQUFFLFlBQVksMENBQUUsT0FBTyxFQUFFO1lBQ3JDLE9BQU87Z0JBQ0wsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUNyQixJQUFJLENBQUMsSUFBSSxDQUNQLEdBQUksQ0FBQyxZQUFZLGNBQUUsSUFBSSxDQUFDLEtBQUssMENBQUUsWUFBWSwwQ0FBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQzFELE9BQU8sQ0FDSyxDQUNmLENBQ0Y7YUFDRixDQUFDO1NBQ0g7UUFFRCxPQUFPO1lBQ0wsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQ3BCLElBQUksQ0FBQyxJQUFJLENBQ1AsR0FBSSxDQUFDLFlBQVksY0FBRSxJQUFJLENBQUMsS0FBSywwQ0FBRSxZQUFZLDBDQUFFLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FDekQsT0FBTyxDQUNLLENBQ2YsQ0FDRjtZQUNELE9BQU8sRUFBRSxTQUFTO1NBQ25CLENBQUM7SUFDSixDQUFDOztBQXRGSCx3Q0F1RkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqb2luLCBub3JtYWxpemUsIHJlc29sdmUsIHBvc2l4IH0gZnJvbSAncGF0aCc7XG5pbXBvcnQge1xuICBCdW5kbGluZ09wdGlvbnMsXG4gIERvY2tlckltYWdlLFxuICBGaWxlU3lzdGVtLFxuICBJTG9jYWxCdW5kbGluZyxcbn0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQnVpbGRGYWlsdXJlLCBCdWlsZE9wdGlvbnMsIEJ1aWxkUmVzdWx0IH0gZnJvbSAnLi9lc2J1aWxkLXR5cGVzJztcbmltcG9ydCB7IGJ1aWxkU3luYyB9IGZyb20gJy4vZXNidWlsZC13cmFwcGVyJztcbmltcG9ydCB7IHByaW50QnVpbGRNZXNzYWdlcyB9IGZyb20gJy4vZm9ybWF0TWVzc2FnZXMnO1xuXG4vKipcbiAqIEEgcmVsYXRpdmUgcGF0aCBvciBsaXN0IG9yIG1hcCBvZiByZWxhdGl2ZSBwYXRocyB0byB0aGUgZW50cnkgcG9pbnRzIG9mIHlvdXIgY29kZSBmcm9tIHRoZSByb290IG9mIHRoZSBwcm9qZWN0LiBFLmcuIGBzcmMvaW5kZXgudHNgLlxuICpcbiAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gKi9cbmV4cG9ydCB0eXBlIEVudHJ5UG9pbnRzID0gc3RyaW5nIHwgc3RyaW5nW10gfCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIEJ1bmRsZXJQcm9wcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBidWlsZE9wdGlvbnM/OiBCdWlsZE9wdGlvbnM7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGNvcHlEaXI/OiBzdHJpbmc7XG5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGJ1aWxkRm4/OiBhbnk7XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBjbGFzcyBFc2J1aWxkQnVuZGxlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBsb2NhbDogSUxvY2FsQnVuZGxpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgaW1hZ2UgPSBEb2NrZXJJbWFnZS5mcm9tUmVnaXN0cnkoJ3NjcmF0Y2gnKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgLyoqXG4gICAgICogQSByZWxhdGl2ZSBwYXRoIG9yIGxpc3Qgb3IgbWFwIG9mIHJlbGF0aXZlIHBhdGhzIHRvIHRoZSBlbnRyeSBwb2ludHMgb2YgeW91ciBjb2RlIGZyb20gdGhlIHJvb3Qgb2YgdGhlIHByb2plY3QuXG4gICAgICogRS5nLiBgc3JjL2luZGV4LnRzYC5cbiAgICAgKlxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGVudHJ5UG9pbnRzOiBFbnRyeVBvaW50cyxcblxuICAgIC8qKlxuICAgICAqIFByb3BzIHRvIGNoYW5nZSB0aGUgYmVoYXZpb3VyIG9mIHRoZSBidW5kbGVyLlxuICAgICAqXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgcHJvcHM6IEJ1bmRsZXJQcm9wcyxcbiAgKSB7XG4gICAgaWYgKHByb3BzPy5idWlsZE9wdGlvbnM/Lm91dGZpbGUgJiYgcHJvcHM/LmJ1aWxkT3B0aW9ucz8ub3V0ZGlyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCB1c2UgYm90aCBcIm91dGZpbGVcIiBhbmQgXCJvdXRkaXJcIicpO1xuICAgIH1cblxuICAgIGNvbnN0IHsgYnVpbGRGbiA9IGJ1aWxkU3luYyB9ID0gdGhpcy5wcm9wcztcblxuICAgIHRoaXMubG9jYWwgPSB7XG4gICAgICB0cnlCdW5kbGU6IChvdXRwdXREaXI6IHN0cmluZywgX29wdGlvbnM6IEJ1bmRsaW5nT3B0aW9ucyk6IGJvb2xlYW4gPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGlmICh0aGlzLnByb3BzLmNvcHlEaXIpIHtcbiAgICAgICAgICAgIEZpbGVTeXN0ZW0uY29weURpcmVjdG9yeShcbiAgICAgICAgICAgICAgcmVzb2x2ZShcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzPy5idWlsZE9wdGlvbnM/LmFic1dvcmtpbmdEaXIgPz8gcHJvY2Vzcy5jd2QoKSxcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLmNvcHlEaXIsXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIG91dHB1dERpcixcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgYnVpbGRSZXN1bHQ6IEJ1aWxkUmVzdWx0ID0gYnVpbGRGbih7XG4gICAgICAgICAgICBlbnRyeVBvaW50cyxcbiAgICAgICAgICAgIC4uLih0aGlzLnByb3BzPy5idWlsZE9wdGlvbnMgfHwge30pLFxuICAgICAgICAgICAgLi4udGhpcy5nZXRPdXRwdXRPcHRpb25zKG91dHB1dERpciwgeyBub3JtYWxpemUsIGpvaW4gfSksXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBwcmludEJ1aWxkTWVzc2FnZXMoYnVpbGRSZXN1bHQsIHsgcHJlZml4OiAnQnVpbGQgJyB9KTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBwcmludEJ1aWxkTWVzc2FnZXMoZXJyb3IgYXMgQnVpbGRGYWlsdXJlLCB7IHByZWZpeDogJ0J1aWxkICcgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3V0cHV0T3B0aW9ucyhcbiAgICBjZGtPdXRwdXREaXI6IHN0cmluZyxcbiAgICBwYXRoOiBQaWNrPHR5cGVvZiBwb3NpeCwgJ25vcm1hbGl6ZScgfCAnam9pbic+ID0gcG9zaXgsXG4gICk6IEJ1aWxkT3B0aW9ucyB7XG4gICAgaWYgKHRoaXMucHJvcHM/LmJ1aWxkT3B0aW9ucz8ub3V0ZmlsZSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgb3V0ZGlyOiB1bmRlZmluZWQsXG4gICAgICAgIG91dGZpbGU6IHBhdGgubm9ybWFsaXplKFxuICAgICAgICAgIHBhdGguam9pbihcbiAgICAgICAgICAgIC4uLihbY2RrT3V0cHV0RGlyLCB0aGlzLnByb3BzPy5idWlsZE9wdGlvbnM/Lm91dGZpbGVdLmZpbHRlcihcbiAgICAgICAgICAgICAgQm9vbGVhbixcbiAgICAgICAgICAgICkgYXMgc3RyaW5nW10pLFxuICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBvdXRkaXI6IHBhdGgubm9ybWFsaXplKFxuICAgICAgICBwYXRoLmpvaW4oXG4gICAgICAgICAgLi4uKFtjZGtPdXRwdXREaXIsIHRoaXMucHJvcHM/LmJ1aWxkT3B0aW9ucz8ub3V0ZGlyXS5maWx0ZXIoXG4gICAgICAgICAgICBCb29sZWFuLFxuICAgICAgICAgICkgYXMgc3RyaW5nW10pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICAgIG91dGZpbGU6IHVuZGVmaW5lZCxcbiAgICB9O1xuICB9XG59XG4iXX0=
package/lib/code.d.ts CHANGED
@@ -1,6 +1,6 @@
1
+ import { CfnResource } from 'aws-cdk-lib';
1
2
  import { ResourceBindOptions } from 'aws-cdk-lib/aws-lambda';
2
3
  import { Location } from 'aws-cdk-lib/aws-s3';
3
- import { CfnResource } from 'aws-cdk-lib/core';
4
4
  import { Construct } from 'constructs';
5
5
  import { AssetBaseProps, AssetProps, JavaScriptAsset as JSAsset, TypeScriptAsset as TSAsset } from './asset';
6
6
  import { EntryPoints } from './bundler';
package/lib/code.js CHANGED
@@ -3,7 +3,7 @@ var _a, _b;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.TypeScriptCode = exports.JavaScriptCode = void 0;
5
5
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
- const core_1 = require("aws-cdk-lib/core");
6
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
7
7
  const asset_1 = require("./asset");
8
8
  function nodeMajorVersion() {
9
9
  return parseInt(process.versions.node.split('.')[0], 10);
@@ -48,8 +48,8 @@ class Code {
48
48
  if (!this.asset) {
49
49
  this.asset = new this.assetClass(scope, this.constructor.name, this.props);
50
50
  }
51
- else if (core_1.Stack.of(this.asset) !== core_1.Stack.of(scope)) {
52
- throw new Error(`Asset is already associated with another stack '${core_1.Stack.of(this.asset).stackName}'. ` + 'Create a new Asset instance for every stack.');
51
+ else if (aws_cdk_lib_1.Stack.of(this.asset) !== aws_cdk_lib_1.Stack.of(scope)) {
52
+ throw new Error(`Asset is already associated with another stack '${aws_cdk_lib_1.Stack.of(this.asset).stackName}'. ` + 'Create a new Asset instance for every stack.');
53
53
  }
54
54
  return {
55
55
  s3Location: {
@@ -114,7 +114,7 @@ class JavaScriptCode extends Code {
114
114
  }
115
115
  exports.JavaScriptCode = JavaScriptCode;
116
116
  _a = JSII_RTTI_SYMBOL_1;
117
- JavaScriptCode[_a] = { fqn: "@mrgrain/cdk-esbuild.JavaScriptCode", version: "3.0.0-rc.0" };
117
+ JavaScriptCode[_a] = { fqn: "@mrgrain/cdk-esbuild.JavaScriptCode", version: "3.2.0" };
118
118
  /**
119
119
  * Represents the deployed TypeScript Code.
120
120
  *
@@ -154,5 +154,5 @@ class TypeScriptCode extends Code {
154
154
  }
155
155
  exports.TypeScriptCode = TypeScriptCode;
156
156
  _b = JSII_RTTI_SYMBOL_1;
157
- TypeScriptCode[_b] = { fqn: "@mrgrain/cdk-esbuild.TypeScriptCode", version: "3.0.0-rc.0" };
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsMkNBQXNEO0FBRXRELG1DQUtpQjtBQUlqQixTQUFTLGdCQUFnQjtJQUN2QixPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDM0QsQ0FBQztBQU82RCxDQUFDO0FBQ0QsQ0FBQztBQUUvRCxNQUFlLElBQUk7SUFpQmpCOzs7O09BSUc7SUFDSCxZQUE0QixXQUF3QixFQUFFLEtBQVk7O1FBQXRDLGdCQUFXLEdBQVgsV0FBVyxDQUFhOzs7Ozs7UUFQN0MsYUFBUSxHQUFZLEtBQUssQ0FBQztRQVEvQixNQUFNLGNBQWMsR0FBMEI7WUFDNUMsR0FBRyxDQUFDLFFBQUMsS0FBSyxDQUFDLFlBQVksMENBQUUsUUFBUSxDQUFBO2dCQUNqQyxPQUFBLEtBQUssQ0FBQyxZQUFZLDBDQUFFLFFBQVEsTUFBSyxNQUFNO2dCQUNyQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEdBQUcsZ0JBQWdCLEVBQUUsRUFBRTtnQkFDM0QsQ0FBQyxDQUFDLEVBQUUsQ0FBQztTQUNSLENBQUM7UUFFRixJQUFJLENBQUMsS0FBSyxHQUFHO1lBQ1gsR0FBRyxLQUFLO1lBQ1IsV0FBVztZQUNYLFlBQVksRUFBRTtnQkFDWixHQUFHLGNBQWM7Z0JBQ2pCLEdBQUcsS0FBSyxDQUFDLFlBQVk7YUFDdEI7U0FDRixDQUFDO0lBQ0osQ0FBQzs7OztJQUVELElBQUksQ0FBQyxLQUFnQjtRQUNuQixxRkFBcUY7UUFDckYsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FDOUIsS0FBSyxFQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUNyQixJQUFJLENBQUMsS0FBSyxDQUNYLENBQUM7U0FDSDthQUFNLElBQUksWUFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssWUFBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNuRCxNQUFNLElBQUksS0FBSyxDQUNiLG1EQUNFLFlBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQ3ZCLEtBQUssR0FBRyw4Q0FBOEMsQ0FDdkQsQ0FBQztTQUNIO1FBRUQsT0FBTztZQUNMLFVBQVUsRUFBRTtnQkFDVixVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZO2dCQUNuQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXO2FBQ2xDO1NBQ0YsQ0FBQztJQUNKLENBQUM7Ozs7Ozs7OztJQUdELGNBQWMsQ0FBQyxRQUFxQixFQUFFLE9BQTZCO1FBQ2pFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO1NBQ2pFO1FBQ0QsTUFBTSxnQkFBZ0IsR0FBRyxDQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxnQkFBZ0IsS0FBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztRQUM1RSw2Q0FBNkM7UUFDN0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUM3RCxDQUFDO0NBQ0Y7Ozs7OztBQUdELE1BQWEsY0FBZSxTQUFRLElBQWtDOzs7Ozs7SUFHcEU7SUFDRTs7Ozs7T0FLRztJQUNILFdBQXdCO0lBQ3hCOzs7Ozs7Ozs7T0FTRztJQUNILFFBQTZCLEVBQUU7UUFFL0IsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQzs7OztRQXRCVCxlQUFVLEdBQUcsdUJBQU8sQ0FBQztJQXVCeEMsQ0FBQzs7QUF4Qkgsd0NBeUJDOzs7Ozs7OztBQUdELE1BQWEsY0FBZSxTQUFRLElBQWtDOzs7Ozs7SUFHcEU7SUFDRTs7Ozs7T0FLRztJQUNILFdBQXdCO0lBQ3hCOzs7Ozs7Ozs7T0FTRztJQUNILFFBQTZCLEVBQUU7UUFFL0IsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQzs7OztRQXRCVCxlQUFVLEdBQUcsdUJBQU8sQ0FBQztJQXVCeEMsQ0FBQzs7QUF4Qkgsd0NBeUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzb3VyY2VCaW5kT3B0aW9ucyB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHsgQ2ZuUmVzb3VyY2UsIFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7XG4gIEFzc2V0QmFzZVByb3BzLFxuICBBc3NldFByb3BzLFxuICBKYXZhU2NyaXB0QXNzZXQgYXMgSlNBc3NldCxcbiAgVHlwZVNjcmlwdEFzc2V0IGFzIFRTQXNzZXQsXG59IGZyb20gJy4vYXNzZXQnO1xuaW1wb3J0IHsgRW50cnlQb2ludHMgfSBmcm9tICcuL2J1bmRsZXInO1xuaW1wb3J0IHsgQnVpbGRPcHRpb25zIH0gZnJvbSAnLi9lc2J1aWxkLXR5cGVzJztcblxuZnVuY3Rpb24gbm9kZU1ham9yVmVyc2lvbigpOiBudW1iZXIge1xuICByZXR1cm4gcGFyc2VJbnQocHJvY2Vzcy52ZXJzaW9ucy5ub2RlLnNwbGl0KCcuJylbMF0sIDEwKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2RlQ29uZmlnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgczNMb2NhdGlvbjogTG9jYXRpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSmF2YVNjcmlwdENvZGVQcm9wcyBleHRlbmRzIEFzc2V0QmFzZVByb3BzIHt9O1xuZXhwb3J0IGludGVyZmFjZSBUeXBlU2NyaXB0Q29kZVByb3BzIGV4dGVuZHMgQXNzZXRCYXNlUHJvcHMge307XG5cbmFic3RyYWN0IGNsYXNzIENvZGU8XG4gIFByb3BzIGV4dGVuZHMgSmF2YVNjcmlwdENvZGVQcm9wcyB8IFR5cGVTY3JpcHRDb2RlUHJvcHMsXG4gIEFzc2V0IGV4dGVuZHMgSlNBc3NldCB8IFRTQXNzZXRcbj4ge1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVhZG9ubHkgYXNzZXRDbGFzczogbmV3IChcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IEFzc2V0UHJvcHNcbiAgKSA9PiBBc3NldDtcblxuICBwcm90ZWN0ZWQgcHJvcHM6IEFzc2V0UHJvcHM7XG5cbiAgcHJvdGVjdGVkIGFzc2V0ITogQXNzZXQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgaXNJbmxpbmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIGVudHJ5UG9pbnRzIC0gUmVsYXRpdmUgcGF0aCB0byB0aGUgYXNzZXQgY29kZS4gVXNlIGBwcm9wcy5idWlsZE9wdGlvbnMuYWJzV29ya2luZ0RpcmAgaWYgYW4gYWJzb2x1dGUgcGF0aCBpcyByZXF1aXJlZC5cbiAgICogQHBhcmFtIHByb3BzIC0gQXNzZXQgcHJvcGVydGllcy5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBlbnRyeVBvaW50czogRW50cnlQb2ludHMsIHByb3BzOiBQcm9wcykge1xuICAgIGNvbnN0IGRlZmF1bHRPcHRpb25zOiBQYXJ0aWFsPEJ1aWxkT3B0aW9ucz4gPSB7XG4gICAgICAuLi4oIXByb3BzLmJ1aWxkT3B0aW9ucz8ucGxhdGZvcm0gfHxcbiAgICAgIHByb3BzLmJ1aWxkT3B0aW9ucz8ucGxhdGZvcm0gPT09ICdub2RlJ1xuICAgICAgICA/IHsgcGxhdGZvcm06ICdub2RlJywgdGFyZ2V0OiAnbm9kZScgKyBub2RlTWFqb3JWZXJzaW9uKCkgfVxuICAgICAgICA6IHt9KSxcbiAgICB9O1xuXG4gICAgdGhpcy5wcm9wcyA9IHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgZW50cnlQb2ludHMsXG4gICAgICBidWlsZE9wdGlvbnM6IHtcbiAgICAgICAgLi4uZGVmYXVsdE9wdGlvbnMsXG4gICAgICAgIC4uLnByb3BzLmJ1aWxkT3B0aW9ucyxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIGJpbmQoc2NvcGU6IENvbnN0cnVjdCk6IENvZGVDb25maWcge1xuICAgIC8vIElmIHRoZSBzYW1lIEFzc2V0Q29kZSBpcyB1c2VkIG11bHRpcGxlIHRpbWVzLCByZXRhaW4gb25seSB0aGUgZmlyc3QgaW5zdGFudGlhdGlvbi5cbiAgICBpZiAoIXRoaXMuYXNzZXQpIHtcbiAgICAgIHRoaXMuYXNzZXQgPSBuZXcgdGhpcy5hc3NldENsYXNzKFxuICAgICAgICBzY29wZSxcbiAgICAgICAgdGhpcy5jb25zdHJ1Y3Rvci5uYW1lLFxuICAgICAgICB0aGlzLnByb3BzLFxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKFN0YWNrLm9mKHRoaXMuYXNzZXQpICE9PSBTdGFjay5vZihzY29wZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEFzc2V0IGlzIGFscmVhZHkgYXNzb2NpYXRlZCB3aXRoIGFub3RoZXIgc3RhY2sgJyR7XG4gICAgICAgICAgU3RhY2sub2YodGhpcy5hc3NldCkuc3RhY2tOYW1lXG4gICAgICAgIH0nLiBgICsgJ0NyZWF0ZSBhIG5ldyBBc3NldCBpbnN0YW5jZSBmb3IgZXZlcnkgc3RhY2suJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHMzTG9jYXRpb246IHtcbiAgICAgICAgYnVja2V0TmFtZTogdGhpcy5hc3NldC5zM0J1Y2tldE5hbWUsXG4gICAgICAgIG9iamVjdEtleTogdGhpcy5hc3NldC5zM09iamVjdEtleSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBiaW5kVG9SZXNvdXJjZShyZXNvdXJjZTogQ2ZuUmVzb3VyY2UsIG9wdGlvbnM/OiBSZXNvdXJjZUJpbmRPcHRpb25zKSB7XG4gICAgaWYgKCF0aGlzLmFzc2V0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2JpbmRUb1Jlc291cmNlKCkgbXVzdCBiZSBjYWxsZWQgYWZ0ZXIgYmluZCgpJyk7XG4gICAgfVxuICAgIGNvbnN0IHJlc291cmNlUHJvcGVydHkgPSBvcHRpb25zPy5yZXNvdXJjZVByb3BlcnR5IHx8IHRoaXMuY29uc3RydWN0b3IubmFtZTtcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvaXNzdWVzLzE0MzJcbiAgICB0aGlzLmFzc2V0LmFkZFJlc291cmNlTWV0YWRhdGEocmVzb3VyY2UsIHJlc291cmNlUHJvcGVydHkpO1xuICB9XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIEphdmFTY3JpcHRDb2RlIGV4dGVuZHMgQ29kZTxKYXZhU2NyaXB0Q29kZVByb3BzLCBKU0Fzc2V0PiB7XG4gIHByb3RlY3RlZCByZWFkb25seSBhc3NldENsYXNzID0gSlNBc3NldDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICAgKiBBIHJlbGF0aXZlIHBhdGggb3IgbGlzdCBvciBtYXAgb2YgcmVsYXRpdmUgcGF0aHMgdG8gdGhlIGVudHJ5IHBvaW50cyBvZiB5b3VyIGNvZGUgZnJvbSB0aGUgcm9vdCBvZiB0aGUgcHJvamVjdC5cbiAgICAgKiBFLmcuIGBzcmMvaW5kZXgudHNgLlxuICAgICAqXG4gICAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICAgKi9cbiAgICBlbnRyeVBvaW50czogRW50cnlQb2ludHMsXG4gICAgLyoqXG4gICAgICogUHJvcHMgdG8gY2hhbmdlIHRoZSBiZWhhdmlvciBvZiB0aGUgYnVuZGxlci5cbiAgICAgKlxuICAgICAqIERlZmF1bHQgdmFsdWVzIGZvciBgcHJvcHMuYnVpbGRPcHRpb25zYDpcbiAgICAgKiAtIGBidW5kbGU9dHJ1ZWBcbiAgICAgKiAtIGBwbGF0Zm9ybT1ub2RlYFxuICAgICAqIC0gYHRhcmdldD1ub2RlWGAgd2l0aCBYIGJlaW5nIHRoZSBtYWpvciBub2RlIHZlcnNpb24gcnVubmluZyBsb2NhbGx5XG4gICAgICpcbiAgICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgICAqL1xuICAgIHByb3BzOiBKYXZhU2NyaXB0Q29kZVByb3BzID0ge30sXG4gICkge1xuICAgIHN1cGVyKGVudHJ5UG9pbnRzLCBwcm9wcyk7XG4gIH1cbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgVHlwZVNjcmlwdENvZGUgZXh0ZW5kcyBDb2RlPFR5cGVTY3JpcHRDb2RlUHJvcHMsIFRTQXNzZXQ+IHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGFzc2V0Q2xhc3MgPSBUU0Fzc2V0O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIC8qKlxuICAgICAqIEEgcmVsYXRpdmUgcGF0aCBvciBsaXN0IG9yIG1hcCBvZiByZWxhdGl2ZSBwYXRocyB0byB0aGUgZW50cnkgcG9pbnRzIG9mIHlvdXIgY29kZSBmcm9tIHRoZSByb290IG9mIHRoZSBwcm9qZWN0LlxuICAgICAqIEUuZy4gYHNyYy9pbmRleC50c2AuXG4gICAgICpcbiAgICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgICAqL1xuICAgIGVudHJ5UG9pbnRzOiBFbnRyeVBvaW50cyxcbiAgICAvKipcbiAgICAgKiBQcm9wcyB0byBjaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIHRoZSBidW5kbGVyLlxuICAgICAqXG4gICAgICogRGVmYXVsdCB2YWx1ZXMgZm9yIGBwcm9wcy5idWlsZE9wdGlvbnNgOlxuICAgICAqIC0gYGJ1bmRsZT10cnVlYFxuICAgICAqIC0gYHBsYXRmb3JtPW5vZGVgXG4gICAgICogLSBgdGFyZ2V0PW5vZGVYYCB3aXRoIFggYmVpbmcgdGhlIG1ham9yIG5vZGUgdmVyc2lvbiBydW5uaW5nIGxvY2FsbHlcbiAgICAgKlxuICAgICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAgICovXG4gICAgcHJvcHM6IFR5cGVTY3JpcHRDb2RlUHJvcHMgPSB7fSxcbiAgKSB7XG4gICAgc3VwZXIoZW50cnlQb2ludHMsIHByb3BzKTtcbiAgfVxufVxuIl19
157
+ TypeScriptCode[_b] = { fqn: "@mrgrain/cdk-esbuild.TypeScriptCode", version: "3.2.0" };
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQWlEO0FBSWpELG1DQUtpQjtBQUlqQixTQUFTLGdCQUFnQjtJQUN2QixPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDM0QsQ0FBQztBQU82RCxDQUFDO0FBQ0QsQ0FBQztBQUUvRCxNQUFlLElBQUk7SUFpQmpCOzs7O09BSUc7SUFDSCxZQUE0QixXQUF3QixFQUFFLEtBQVk7O1FBQXRDLGdCQUFXLEdBQVgsV0FBVyxDQUFhOzs7Ozs7UUFQN0MsYUFBUSxHQUFZLEtBQUssQ0FBQztRQVEvQixNQUFNLGNBQWMsR0FBMEI7WUFDNUMsR0FBRyxDQUFDLFFBQUMsS0FBSyxDQUFDLFlBQVksMENBQUUsUUFBUSxDQUFBO2dCQUNqQyxPQUFBLEtBQUssQ0FBQyxZQUFZLDBDQUFFLFFBQVEsTUFBSyxNQUFNO2dCQUNyQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEdBQUcsZ0JBQWdCLEVBQUUsRUFBRTtnQkFDM0QsQ0FBQyxDQUFDLEVBQUUsQ0FBQztTQUNSLENBQUM7UUFFRixJQUFJLENBQUMsS0FBSyxHQUFHO1lBQ1gsR0FBRyxLQUFLO1lBQ1IsV0FBVztZQUNYLFlBQVksRUFBRTtnQkFDWixHQUFHLGNBQWM7Z0JBQ2pCLEdBQUcsS0FBSyxDQUFDLFlBQVk7YUFDdEI7U0FDRixDQUFDO0lBQ0osQ0FBQzs7OztJQUVELElBQUksQ0FBQyxLQUFnQjtRQUNuQixxRkFBcUY7UUFDckYsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FDOUIsS0FBSyxFQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUNyQixJQUFJLENBQUMsS0FBSyxDQUNYLENBQUM7U0FDSDthQUFNLElBQUksbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLG1CQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ25ELE1BQU0sSUFBSSxLQUFLLENBQ2IsbURBQ0UsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQ3ZCLEtBQUssR0FBRyw4Q0FBOEMsQ0FDdkQsQ0FBQztTQUNIO1FBRUQsT0FBTztZQUNMLFVBQVUsRUFBRTtnQkFDVixVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZO2dCQUNuQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXO2FBQ2xDO1NBQ0YsQ0FBQztJQUNKLENBQUM7Ozs7Ozs7OztJQUdELGNBQWMsQ0FBQyxRQUFxQixFQUFFLE9BQTZCO1FBQ2pFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO1NBQ2pFO1FBQ0QsTUFBTSxnQkFBZ0IsR0FBRyxDQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxnQkFBZ0IsS0FBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztRQUM1RSw2Q0FBNkM7UUFDN0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUM3RCxDQUFDO0NBQ0Y7Ozs7OztBQUdELE1BQWEsY0FBZSxTQUFRLElBQWtDOzs7Ozs7SUFHcEU7SUFDRTs7Ozs7T0FLRztJQUNILFdBQXdCO0lBQ3hCOzs7Ozs7Ozs7T0FTRztJQUNILFFBQTZCLEVBQUU7UUFFL0IsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQzs7OztRQXRCVCxlQUFVLEdBQUcsdUJBQU8sQ0FBQztJQXVCeEMsQ0FBQzs7QUF4Qkgsd0NBeUJDOzs7Ozs7OztBQUdELE1BQWEsY0FBZSxTQUFRLElBQWtDOzs7Ozs7SUFHcEU7SUFDRTs7Ozs7T0FLRztJQUNILFdBQXdCO0lBQ3hCOzs7Ozs7Ozs7T0FTRztJQUNILFFBQTZCLEVBQUU7UUFFL0IsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQzs7OztRQXRCVCxlQUFVLEdBQUcsdUJBQU8sQ0FBQztJQXVCeEMsQ0FBQzs7QUF4Qkgsd0NBeUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuUmVzb3VyY2UsIFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgUmVzb3VyY2VCaW5kT3B0aW9ucyB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQge1xuICBBc3NldEJhc2VQcm9wcyxcbiAgQXNzZXRQcm9wcyxcbiAgSmF2YVNjcmlwdEFzc2V0IGFzIEpTQXNzZXQsXG4gIFR5cGVTY3JpcHRBc3NldCBhcyBUU0Fzc2V0LFxufSBmcm9tICcuL2Fzc2V0JztcbmltcG9ydCB7IEVudHJ5UG9pbnRzIH0gZnJvbSAnLi9idW5kbGVyJztcbmltcG9ydCB7IEJ1aWxkT3B0aW9ucyB9IGZyb20gJy4vZXNidWlsZC10eXBlcyc7XG5cbmZ1bmN0aW9uIG5vZGVNYWpvclZlcnNpb24oKTogbnVtYmVyIHtcbiAgcmV0dXJuIHBhcnNlSW50KHByb2Nlc3MudmVyc2lvbnMubm9kZS5zcGxpdCgnLicpWzBdLCAxMCk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZUNvbmZpZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHMzTG9jYXRpb246IExvY2F0aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEphdmFTY3JpcHRDb2RlUHJvcHMgZXh0ZW5kcyBBc3NldEJhc2VQcm9wcyB7fTtcbmV4cG9ydCBpbnRlcmZhY2UgVHlwZVNjcmlwdENvZGVQcm9wcyBleHRlbmRzIEFzc2V0QmFzZVByb3BzIHt9O1xuXG5hYnN0cmFjdCBjbGFzcyBDb2RlPFxuICBQcm9wcyBleHRlbmRzIEphdmFTY3JpcHRDb2RlUHJvcHMgfCBUeXBlU2NyaXB0Q29kZVByb3BzLFxuICBBc3NldCBleHRlbmRzIEpTQXNzZXQgfCBUU0Fzc2V0XG4+IHtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IHJlYWRvbmx5IGFzc2V0Q2xhc3M6IG5ldyAoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBBc3NldFByb3BzXG4gICkgPT4gQXNzZXQ7XG5cbiAgcHJvdGVjdGVkIHByb3BzOiBBc3NldFByb3BzO1xuXG4gIHByb3RlY3RlZCBhc3NldCE6IEFzc2V0O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGlzSW5saW5lOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBlbnRyeVBvaW50cyAtIFJlbGF0aXZlIHBhdGggdG8gdGhlIGFzc2V0IGNvZGUuIFVzZSBgcHJvcHMuYnVpbGRPcHRpb25zLmFic1dvcmtpbmdEaXJgIGlmIGFuIGFic29sdXRlIHBhdGggaXMgcmVxdWlyZWQuXG4gICAqIEBwYXJhbSBwcm9wcyAtIEFzc2V0IHByb3BlcnRpZXMuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgZW50cnlQb2ludHM6IEVudHJ5UG9pbnRzLCBwcm9wczogUHJvcHMpIHtcbiAgICBjb25zdCBkZWZhdWx0T3B0aW9uczogUGFydGlhbDxCdWlsZE9wdGlvbnM+ID0ge1xuICAgICAgLi4uKCFwcm9wcy5idWlsZE9wdGlvbnM/LnBsYXRmb3JtIHx8XG4gICAgICBwcm9wcy5idWlsZE9wdGlvbnM/LnBsYXRmb3JtID09PSAnbm9kZSdcbiAgICAgICAgPyB7IHBsYXRmb3JtOiAnbm9kZScsIHRhcmdldDogJ25vZGUnICsgbm9kZU1ham9yVmVyc2lvbigpIH1cbiAgICAgICAgOiB7fSksXG4gICAgfTtcblxuICAgIHRoaXMucHJvcHMgPSB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIGVudHJ5UG9pbnRzLFxuICAgICAgYnVpbGRPcHRpb25zOiB7XG4gICAgICAgIC4uLmRlZmF1bHRPcHRpb25zLFxuICAgICAgICAuLi5wcm9wcy5idWlsZE9wdGlvbnMsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBiaW5kKHNjb3BlOiBDb25zdHJ1Y3QpOiBDb2RlQ29uZmlnIHtcbiAgICAvLyBJZiB0aGUgc2FtZSBBc3NldENvZGUgaXMgdXNlZCBtdWx0aXBsZSB0aW1lcywgcmV0YWluIG9ubHkgdGhlIGZpcnN0IGluc3RhbnRpYXRpb24uXG4gICAgaWYgKCF0aGlzLmFzc2V0KSB7XG4gICAgICB0aGlzLmFzc2V0ID0gbmV3IHRoaXMuYXNzZXRDbGFzcyhcbiAgICAgICAgc2NvcGUsXG4gICAgICAgIHRoaXMuY29uc3RydWN0b3IubmFtZSxcbiAgICAgICAgdGhpcy5wcm9wcyxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChTdGFjay5vZih0aGlzLmFzc2V0KSAhPT0gU3RhY2sub2Yoc2NvcGUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBBc3NldCBpcyBhbHJlYWR5IGFzc29jaWF0ZWQgd2l0aCBhbm90aGVyIHN0YWNrICcke1xuICAgICAgICAgIFN0YWNrLm9mKHRoaXMuYXNzZXQpLnN0YWNrTmFtZVxuICAgICAgICB9Jy4gYCArICdDcmVhdGUgYSBuZXcgQXNzZXQgaW5zdGFuY2UgZm9yIGV2ZXJ5IHN0YWNrLicsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBzM0xvY2F0aW9uOiB7XG4gICAgICAgIGJ1Y2tldE5hbWU6IHRoaXMuYXNzZXQuczNCdWNrZXROYW1lLFxuICAgICAgICBvYmplY3RLZXk6IHRoaXMuYXNzZXQuczNPYmplY3RLZXksXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgYmluZFRvUmVzb3VyY2UocmVzb3VyY2U6IENmblJlc291cmNlLCBvcHRpb25zPzogUmVzb3VyY2VCaW5kT3B0aW9ucykge1xuICAgIGlmICghdGhpcy5hc3NldCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdiaW5kVG9SZXNvdXJjZSgpIG11c3QgYmUgY2FsbGVkIGFmdGVyIGJpbmQoKScpO1xuICAgIH1cbiAgICBjb25zdCByZXNvdXJjZVByb3BlcnR5ID0gb3B0aW9ucz8ucmVzb3VyY2VQcm9wZXJ0eSB8fCB0aGlzLmNvbnN0cnVjdG9yLm5hbWU7XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2lzc3Vlcy8xNDMyXG4gICAgdGhpcy5hc3NldC5hZGRSZXNvdXJjZU1ldGFkYXRhKHJlc291cmNlLCByZXNvdXJjZVByb3BlcnR5KTtcbiAgfVxufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBjbGFzcyBKYXZhU2NyaXB0Q29kZSBleHRlbmRzIENvZGU8SmF2YVNjcmlwdENvZGVQcm9wcywgSlNBc3NldD4ge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXNzZXRDbGFzcyA9IEpTQXNzZXQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgLyoqXG4gICAgICogQSByZWxhdGl2ZSBwYXRoIG9yIGxpc3Qgb3IgbWFwIG9mIHJlbGF0aXZlIHBhdGhzIHRvIHRoZSBlbnRyeSBwb2ludHMgb2YgeW91ciBjb2RlIGZyb20gdGhlIHJvb3Qgb2YgdGhlIHByb2plY3QuXG4gICAgICogRS5nLiBgc3JjL2luZGV4LnRzYC5cbiAgICAgKlxuICAgICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAgICovXG4gICAgZW50cnlQb2ludHM6IEVudHJ5UG9pbnRzLFxuICAgIC8qKlxuICAgICAqIFByb3BzIHRvIGNoYW5nZSB0aGUgYmVoYXZpb3Igb2YgdGhlIGJ1bmRsZXIuXG4gICAgICpcbiAgICAgKiBEZWZhdWx0IHZhbHVlcyBmb3IgYHByb3BzLmJ1aWxkT3B0aW9uc2A6XG4gICAgICogLSBgYnVuZGxlPXRydWVgXG4gICAgICogLSBgcGxhdGZvcm09bm9kZWBcbiAgICAgKiAtIGB0YXJnZXQ9bm9kZVhgIHdpdGggWCBiZWluZyB0aGUgbWFqb3Igbm9kZSB2ZXJzaW9uIHJ1bm5pbmcgbG9jYWxseVxuICAgICAqXG4gICAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICAgKi9cbiAgICBwcm9wczogSmF2YVNjcmlwdENvZGVQcm9wcyA9IHt9LFxuICApIHtcbiAgICBzdXBlcihlbnRyeVBvaW50cywgcHJvcHMpO1xuICB9XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIFR5cGVTY3JpcHRDb2RlIGV4dGVuZHMgQ29kZTxUeXBlU2NyaXB0Q29kZVByb3BzLCBUU0Fzc2V0PiB7XG4gIHByb3RlY3RlZCByZWFkb25seSBhc3NldENsYXNzID0gVFNBc3NldDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICAgKiBBIHJlbGF0aXZlIHBhdGggb3IgbGlzdCBvciBtYXAgb2YgcmVsYXRpdmUgcGF0aHMgdG8gdGhlIGVudHJ5IHBvaW50cyBvZiB5b3VyIGNvZGUgZnJvbSB0aGUgcm9vdCBvZiB0aGUgcHJvamVjdC5cbiAgICAgKiBFLmcuIGBzcmMvaW5kZXgudHNgLlxuICAgICAqXG4gICAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICAgKi9cbiAgICBlbnRyeVBvaW50czogRW50cnlQb2ludHMsXG4gICAgLyoqXG4gICAgICogUHJvcHMgdG8gY2hhbmdlIHRoZSBiZWhhdmlvciBvZiB0aGUgYnVuZGxlci5cbiAgICAgKlxuICAgICAqIERlZmF1bHQgdmFsdWVzIGZvciBgcHJvcHMuYnVpbGRPcHRpb25zYDpcbiAgICAgKiAtIGBidW5kbGU9dHJ1ZWBcbiAgICAgKiAtIGBwbGF0Zm9ybT1ub2RlYFxuICAgICAqIC0gYHRhcmdldD1ub2RlWGAgd2l0aCBYIGJlaW5nIHRoZSBtYWpvciBub2RlIHZlcnNpb24gcnVubmluZyBsb2NhbGx5XG4gICAgICpcbiAgICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgICAqL1xuICAgIHByb3BzOiBUeXBlU2NyaXB0Q29kZVByb3BzID0ge30sXG4gICkge1xuICAgIHN1cGVyKGVudHJ5UG9pbnRzLCBwcm9wcyk7XG4gIH1cbn1cbiJdfQ==