@mrgrain/cdk-esbuild 4.3.0 → 5.0.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/README.md CHANGED
@@ -24,11 +24,11 @@ Install `cdk-esbuild` for Node.js using your favorite package manager:
24
24
 
25
25
  ```sh
26
26
  # npm
27
- npm install @mrgrain/cdk-esbuild@4
27
+ npm install @mrgrain/cdk-esbuild@5
28
28
  # Yarn
29
- yarn add @mrgrain/cdk-esbuild@4
29
+ yarn add @mrgrain/cdk-esbuild@5
30
30
  # pnpm
31
- pnpm add @mrgrain/cdk-esbuild@4
31
+ pnpm add @mrgrain/cdk-esbuild@5
32
32
  ```
33
33
 
34
34
  For Python, .NET or Go, use these commands:
@@ -41,12 +41,12 @@ pip install mrgrain.cdk-esbuild
41
41
  dotnet add package Mrgrain.CdkEsbuild
42
42
 
43
43
  # Go
44
- go get github.com/mrgrain/cdk-esbuild-go/cdkesbuild/v4
44
+ go get github.com/mrgrain/cdk-esbuild-go/cdkesbuild/v5
45
45
  ```
46
46
 
47
47
  ### AWS Lambda: Serverless function
48
48
 
49
- > 💡 See [Lambda (TypeScript)](examples/typescript/lambda) and [Lambda (Python)](examples/typescript/lambda) for complete working examples of a how to deploy an AWS Lambda Function.
49
+ > 💡 See [Lambda (TypeScript)](examples/typescript/lambda) and [Lambda (Python)](examples/typescript/lambda) for working examples of a how to deploy an AWS Lambda Function.
50
50
 
51
51
  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):
52
52
 
@@ -62,7 +62,7 @@ const fn = new lambda.Function(stack, "MyFunction", {
62
62
 
63
63
  ### AWS S3: Static Website
64
64
 
65
- > 💡 See [React App (TypeScript)](examples/typescript/website) for a complete working example of a how to deploy a React app to S3.
65
+ > 💡 See [React App (TypeScript)](examples/typescript/website) for a working example of a how to deploy a React app to S3.
66
66
 
67
67
  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):
68
68
 
@@ -84,7 +84,7 @@ new s3deploy.BucketDeployment(stack, "DeployWebsite", {
84
84
 
85
85
  ### Amazon CloudWatch Synthetics: Canary monitoring
86
86
 
87
- > 💡 See [Monitored Website (TypeScript)](examples/typescript/website) for a complete working example of a deployed and monitored website.
87
+ > 💡 See [Monitored Website (TypeScript)](examples/typescript/website) for a working example of a deployed and monitored website.
88
88
 
89
89
  Synthetics runs a canary to produce traffic to an application for monitoring purposes. Use `TypeScriptCode` as the `code` of a Canary test:
90
90
 
@@ -100,7 +100,7 @@ const bundledCode = new TypeScriptCode("src/canary.ts", {
100
100
  });
101
101
 
102
102
  const canary = new synthetics.Canary(stack, "MyCanary", {
103
- runtime: synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_3_2,
103
+ runtime: synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_5_1,
104
104
  test: synthetics.Test.custom({
105
105
  code: bundledCode,
106
106
  handler: "index.handler",
@@ -110,25 +110,27 @@ const canary = new synthetics.Canary(stack, "MyCanary", {
110
110
 
111
111
  ## Documentation
112
112
 
113
- The package exports various different constructs for use with AWS CDK features. The guiding design principal for this package is _"extend, don't replace"_. Expect constructs that you can provide as props, not complete replacements.
113
+ The package exports constructs for use with AWS CDK features.
114
+ The guiding design principal of this package is _"extend, don't replace"_.
115
+ Expect constructs that you can provide as props, not complete replacements.
114
116
 
115
- 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)):
117
+ For use with **Lambda Functions** and **Synthetic Canaries**, implementing `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)):
116
118
 
117
- - `TypeScriptCode` & `JavaScriptCode`
119
+ - `TypeScriptCode`
118
120
 
119
121
  Inline code is only supported by **Lambda**:
120
122
 
121
- - `InlineTypeScriptCode` & `InlineJavaScriptCode`
123
+ - `InlineTypeScriptCode`
122
124
 
123
- 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)):
125
+ For use with **S3 bucket deployments**, implementing `s3deploy.ISource` ([reference](https://docs.aws.amazon.com/cdk/api/latest/docs/aws-s3-deployment-readme.html)):
124
126
 
125
- - `TypeScriptSource` & `JavaScriptSource`
127
+ - `TypeScriptSource`
126
128
 
127
- > _Code and Source constructs seamlessly plug-in to other high-level CDK constructs. They share the same set of parameters, props and build options._
129
+ > _`Code` and `Source` constructs seamlessly plug-in to other high-level CDK constructs. They share the same set of parameters, props and build options._
128
130
 
129
131
  The following classes power the other features. You normally won't have to use them, but they are there if you need them:
130
132
 
131
- - `TypeScriptAsset` & `JavaScriptAsset` implements `s3.Asset` ([reference](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3_assets.Asset.html)) \
133
+ - `TypeScriptAsset` implements `s3.Asset` ([reference](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3_assets.Asset.html)) \
132
134
  creates an asset uploaded to S3 which can be referenced by other constructs
133
135
 
134
136
  - `EsbuildBundler` implements `core.BundlingOptions` ([reference](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.BundlingOptions.html)) \
@@ -270,7 +272,7 @@ If you are a Python, .NET or Go user, refer to the language specific guide for a
270
272
 
271
273
  #### Custom Build and Transform API implementations
272
274
 
273
- > 💡 See [esbuild plugins w/ TypeScript](examples/typescript/esbuild-with-plugins) for a complete working example of a custom Build API implementation.
275
+ > 💡 See [esbuild plugins w/ TypeScript](examples/typescript/esbuild-with-plugins) for a working example of a custom Build API implementation.
274
276
 
275
277
  A custom implementation can be provided by implementing `IBuildProvider` or `ITransformProvider`:
276
278
 
@@ -339,9 +341,9 @@ Note that _esbuild_ minor version upgrades are also introduced in **minor versio
339
341
  Since _esbuild_ is pre v1, these versions typically introduce breaking changes and this package will inherit them.
340
342
  To avoid this behavior, add the desired _esbuild_ version as a dependency to your package.
341
343
 
342
- ### How do I upgrade from `cdk-esbuild` v3?
344
+ ### How do I upgrade from `cdk-esbuild` v4?
343
345
 
344
- Please refer to the [v4 release notes](https://github.com/mrgrain/cdk-esbuild/releases/tag/v4.0.0) for a list of backwards incompatible changes and respective upgrade instructions.
346
+ Please refer to the [v5 release notes](https://github.com/mrgrain/cdk-esbuild/releases/tag/v5.0.0) for a list of backwards incompatible changes and respective upgrade instructions.
345
347
 
346
348
  ### [TS/JS] Why am I getting the error `Cannot find module 'esbuild'`?
347
349
 
@@ -399,10 +401,14 @@ const props = {
399
401
  };
400
402
  ```
401
403
 
402
- This will dynamically resolve to the correct path, wherever the package is installed. Please open an issue if you encounter any difficulties.
404
+ This will dynamically resolve to the correct path, wherever the package is installed.
405
+ Please open an issue if you encounter any difficulties.
403
406
 
404
407
  ### Can I use this package with AWS CDK v1?
405
408
 
406
- Yes, the `2.x.x` line of `cdk-esbuild` is compatible with AWS CDK v1. You can find the [documentation for it on the v2 branch](https://github.com/mrgrain/cdk-esbuild/tree/v2).
409
+ Yes, `v2` of `cdk-esbuild` is compatible with AWS CDK v1.
410
+ You can find the [documentation for it on the v2 branch](https://github.com/mrgrain/cdk-esbuild/tree/v2).
407
411
 
408
- However, in line with AWS CDK v2, this version release now only receives security updates and critical bug fixes and support will fully end on June 1, 2023.
412
+ Support for AWS CDK v1 and `cdk-esbuild` v2 has ended on June 1, 2023.
413
+ Both packages are not receiving any updates or bug fixes, including for security related issues.
414
+ You are strongly advised to upgrade to a supported version of these packages.
package/VERSIONS.md CHANGED
@@ -1,3 +1,20 @@
1
1
  # Supported Versions
2
2
 
3
- See [VERSIONS.md](https://github.com/mrgrain/cdk-esbuild/blob/v5/VERSIONS.md) on `v5`.
3
+ Only the latest release of each major version is supported.
4
+
5
+ | Package version | CDK version | Node.js versions | Support |
6
+ | --------------- | ----------- | ---------------- | -------------------------------------------------------------- |
7
+ | v5 | ^2.51.0 | >=18 | :white_check_mark: |
8
+ | v4 | ^2.12.0 | >=14 | Security updates and critical bug fixes until October 1, 2024 |
9
+ | v3 | ^2.0.0 | >=14 | Security updates and critical bug fixes until February 1, 2024 |
10
+ | v2 | ^1.99.0 | >=14 | :x: Support ended on June 1, 2023 |
11
+ | v1 | ^1.99.0 | >=12 | :x: |
12
+
13
+ ## Tags on npm
14
+
15
+ | Tag | Description | Major version | Will the version change? |
16
+ | ----------- | ---------------------------------------------------- | ------------- | ---------------------------- |
17
+ | `latest` | The latest stable release of the package | `v5` | Yes, with new major versions |
18
+ | `latest-v*` | The latest stable release of each major version | n/a | No |
19
+ | `cdk-v2` | The latest stable release compatible with AWS CDK v2 | `v5` | Yes, with new major versions |
20
+ | `cdk-v1` | The latest stable release compatible with AWS CDK v1 | `v2` | No |
package/lib/asset.d.ts CHANGED
@@ -1,22 +1,8 @@
1
1
  import { Asset as S3Asset } from 'aws-cdk-lib/aws-s3-assets';
2
2
  import { Construct } from 'constructs';
3
- import { BundlerProps, EntryPoints } from './bundler';
4
- /**
5
- * @internal
6
- */
7
- export interface AssetBaseProps extends BundlerProps {
8
- /**
9
- * A hash of this asset, which is available at construction time.
10
- *
11
- * As this is a plain string, it can be used in construct IDs in order to enforce creation of a new resource when the content hash has changed.
12
- *
13
- * Defaults to a hash of all files in the resulting bundle.
14
- *
15
- * @stability stable
16
- */
17
- readonly assetHash?: string;
18
- }
19
- export interface AssetProps extends AssetBaseProps {
3
+ import { EntryPoints } from './bundler';
4
+ import { TypeScriptCodeProps } from './code';
5
+ export interface TypeScriptAssetProps extends TypeScriptCodeProps {
20
6
  /**
21
7
  * A path or list or map of paths to the entry points of your code.
22
8
  *
@@ -35,30 +21,6 @@ export interface AssetProps extends AssetBaseProps {
35
21
  */
36
22
  readonly entryPoints: EntryPoints;
37
23
  }
38
- declare type JavaScriptAssetProps = AssetProps;
39
- declare type TypeScriptAssetProps = AssetProps;
40
- /**
41
- * Represents a generic esbuild asset.
42
- *
43
- * You should always use `TypeScriptAsset` or `JavaScriptAsset`.
44
- *
45
- * @stability experimental
46
- */
47
- export declare class EsbuildAsset<Props extends AssetProps> extends S3Asset {
48
- /**
49
- * @stability stable
50
- */
51
- constructor(scope: Construct, id: string, props: Props);
52
- }
53
- /**
54
- * Bundles the entry points and creates a CDK asset which is uploaded to the bootstrapped CDK S3 bucket during deployment.
55
- *
56
- * The asset can be used by other constructs.
57
- *
58
- * @stability stable
59
- */
60
- export declare class JavaScriptAsset extends EsbuildAsset<JavaScriptAssetProps> {
61
- }
62
24
  /**
63
25
  * Bundles the entry points and creates a CDK asset which is uploaded to the bootstrapped CDK S3 bucket during deployment.
64
26
  *
@@ -66,6 +28,9 @@ export declare class JavaScriptAsset extends EsbuildAsset<JavaScriptAssetProps>
66
28
  *
67
29
  * @stability stable
68
30
  */
69
- export declare class TypeScriptAsset extends EsbuildAsset<TypeScriptAssetProps> {
31
+ export declare class TypeScriptAsset extends S3Asset {
32
+ /**
33
+ * @stability stable
34
+ */
35
+ constructor(scope: Construct, id: string, props: TypeScriptAssetProps);
70
36
  }
71
- export {};
package/lib/asset.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
- var _a, _b, _c;
2
+ var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.TypeScriptAsset = exports.JavaScriptAsset = exports.EsbuildAsset = void 0;
4
+ exports.TypeScriptAsset = void 0;
5
5
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
6
  const path_1 = require("path");
7
7
  const aws_cdk_lib_1 = require("aws-cdk-lib");
@@ -9,13 +9,13 @@ const aws_s3_assets_1 = require("aws-cdk-lib/aws-s3-assets");
9
9
  const constructs_1 = require("constructs");
10
10
  const bundler_1 = require("./bundler");
11
11
  /**
12
- * Represents a generic esbuild asset.
12
+ * Bundles the entry points and creates a CDK asset which is uploaded to the bootstrapped CDK S3 bucket during deployment.
13
13
  *
14
- * You should always use `TypeScriptAsset` or `JavaScriptAsset`.
14
+ * The asset can be used by other constructs.
15
15
  *
16
- * @stability experimental
16
+ * @stability stable
17
17
  */
18
- class EsbuildAsset extends aws_s3_assets_1.Asset {
18
+ class TypeScriptAsset extends aws_s3_assets_1.Asset {
19
19
  /**
20
20
  * @stability stable
21
21
  */
@@ -25,11 +25,11 @@ class EsbuildAsset extends aws_s3_assets_1.Asset {
25
25
  const name = scope.node.path + constructs_1.Node.PATH_SEP + id;
26
26
  const absWorkingDir = options.absWorkingDir ?? process.cwd();
27
27
  const forceRelativeEntrypointPath = (entryPoint) => {
28
- if (!path_1.isAbsolute(entryPoint)) {
28
+ if (!(0, path_1.isAbsolute)(entryPoint)) {
29
29
  return entryPoint;
30
30
  }
31
- const relativeEntryPoint = path_1.relative(absWorkingDir, entryPoint);
32
- if (relativeEntryPoint.startsWith('..') || path_1.isAbsolute(relativeEntryPoint)) {
31
+ const relativeEntryPoint = (0, path_1.relative)(absWorkingDir, entryPoint);
32
+ if (relativeEntryPoint.startsWith('..') || (0, path_1.isAbsolute)(relativeEntryPoint)) {
33
33
  throw new Error(`${name}: Entry points must be part of the working directory. See \`buildOptions.absWorkingDir\` to set a working directory different to the current one.`);
34
34
  }
35
35
  return relativeEntryPoint;
@@ -54,31 +54,7 @@ class EsbuildAsset extends aws_s3_assets_1.Asset {
54
54
  });
55
55
  }
56
56
  }
57
- exports.EsbuildAsset = EsbuildAsset;
58
- _a = JSII_RTTI_SYMBOL_1;
59
- EsbuildAsset[_a] = { fqn: "@mrgrain/cdk-esbuild.EsbuildAsset", version: "4.3.0" };
60
- /**
61
- * Bundles the entry points and creates a CDK asset which is uploaded to the bootstrapped CDK S3 bucket during deployment.
62
- *
63
- * The asset can be used by other constructs.
64
- *
65
- * @stability stable
66
- */
67
- class JavaScriptAsset extends EsbuildAsset {
68
- }
69
- exports.JavaScriptAsset = JavaScriptAsset;
70
- _b = JSII_RTTI_SYMBOL_1;
71
- JavaScriptAsset[_b] = { fqn: "@mrgrain/cdk-esbuild.JavaScriptAsset", version: "4.3.0" };
72
- /**
73
- * Bundles the entry points and creates a CDK asset which is uploaded to the bootstrapped CDK S3 bucket during deployment.
74
- *
75
- * The asset can be used by other constructs.
76
- *
77
- * @stability stable
78
- */
79
- class TypeScriptAsset extends EsbuildAsset {
80
- }
81
57
  exports.TypeScriptAsset = TypeScriptAsset;
82
- _c = JSII_RTTI_SYMBOL_1;
83
- TypeScriptAsset[_c] = { fqn: "@mrgrain/cdk-esbuild.TypeScriptAsset", version: "4.3.0" };
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYXNzZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQkFBNEM7QUFDNUMsNkNBQTRDO0FBQzVDLDZEQUE2RDtBQUM3RCwyQ0FBNkM7QUFDN0MsdUNBQXNFO0FBeUN0RTs7Ozs7O0dBTUc7QUFDSCxNQUFhLFlBQXVDLFNBQVEscUJBQU87SUFDakU7O09BRUc7SUFDSCxZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUFZO1FBRVosTUFBTSxFQUNKLFNBQVMsRUFDVCxZQUFZLEVBQUUsT0FBTyxHQUFHLEVBQUUsR0FDM0IsR0FBRyxLQUFLLENBQUM7UUFDVixNQUFNLFdBQVcsR0FDZixPQUFPLEtBQUssQ0FBQyxXQUFXLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUVsRixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxpQkFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFFbEQsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFN0QsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLFVBQWtCLEVBQVUsRUFBRTtZQUNqRSxJQUFJLENBQUMsaUJBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDM0IsT0FBTyxVQUFVLENBQUM7YUFDbkI7WUFFRCxNQUFNLGtCQUFrQixHQUFHLGVBQVEsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDL0QsSUFBSSxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksaUJBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO2dCQUN6RSxNQUFNLElBQUksS0FBSyxDQUNiLEdBQUcsSUFBSSxtSkFBbUosQ0FDM0osQ0FBQzthQUNIO1lBRUQsT0FBTyxrQkFBa0IsQ0FBQztRQUM1QixDQUFDLENBQUM7UUFFRixNQUFNLG1CQUFtQixHQUN2QixLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDMUIsV0FBVyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUM7WUFDOUMsTUFBTSxDQUFDLFdBQVcsQ0FDaEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7aUJBQ3hCLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLDJCQUEyQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FDM0UsQ0FDSixDQUFDO1FBR04sTUFBTSxZQUFZLEdBQUc7WUFDbkIsTUFBTSxFQUFFLElBQUk7WUFDWixHQUFHLE9BQU87WUFDVixhQUFhO1NBQ2QsQ0FBQztRQUVGLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsSUFBSSxFQUFFLGFBQWE7WUFDbkIsU0FBUztZQUNULGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLDJCQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQywyQkFBYSxDQUFDLE1BQU07WUFDdEUsUUFBUSxFQUFFLElBQUksd0JBQWMsQ0FDMUIsbUJBQW1CLEVBQ25CO2dCQUNFLEdBQUcsS0FBSztnQkFDUixZQUFZO2FBQ2IsQ0FDRjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBL0RILG9DQWdFQzs7O0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBYSxlQUFnQixTQUFRLFlBQWtDOztBQUF2RSwwQ0FBMEU7OztBQUUxRTs7Ozs7O0dBTUc7QUFDSCxNQUFhLGVBQWdCLFNBQVEsWUFBa0M7O0FBQXZFLDBDQUEwRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzQWJzb2x1dGUsIHJlbGF0aXZlIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBBc3NldEhhc2hUeXBlIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQXNzZXQgYXMgUzNBc3NldCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMy1hc3NldHMnO1xuaW1wb3J0IHsgQ29uc3RydWN0LCBOb2RlIH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBFc2J1aWxkQnVuZGxlciwgQnVuZGxlclByb3BzLCBFbnRyeVBvaW50cyB9IGZyb20gJy4vYnVuZGxlcic7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXNzZXRCYXNlUHJvcHMgZXh0ZW5kcyBCdW5kbGVyUHJvcHMge1xuICAvKipcbiAgICogQSBoYXNoIG9mIHRoaXMgYXNzZXQsIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBjb25zdHJ1Y3Rpb24gdGltZS5cbiAgICpcbiAgICogQXMgdGhpcyBpcyBhIHBsYWluIHN0cmluZywgaXQgY2FuIGJlIHVzZWQgaW4gY29uc3RydWN0IElEcyBpbiBvcmRlciB0byBlbmZvcmNlIGNyZWF0aW9uIG9mIGEgbmV3IHJlc291cmNlIHdoZW4gdGhlIGNvbnRlbnQgaGFzaCBoYXMgY2hhbmdlZC5cbiAgICpcbiAgICogRGVmYXVsdHMgdG8gYSBoYXNoIG9mIGFsbCBmaWxlcyBpbiB0aGUgcmVzdWx0aW5nIGJ1bmRsZS5cbiAgICpcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGFzc2V0SGFzaD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBc3NldFByb3BzIGV4dGVuZHMgQXNzZXRCYXNlUHJvcHMge1xuICAvKipcbiAgICogQSBwYXRoIG9yIGxpc3Qgb3IgbWFwIG9mIHBhdGhzIHRvIHRoZSBlbnRyeSBwb2ludHMgb2YgeW91ciBjb2RlLlxuICAgKlxuICAgKiBSZWxhdGl2ZSBwYXRocyBhcmUgYnkgZGVmYXVsdCByZXNvbHZlZCBmcm9tIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LlxuICAgKiBUbyBjaGFuZ2UgdGhlIHdvcmtpbmcgZGlyZWN0b3J5LCBzZWUgYGJ1aWxkT3B0aW9ucy5hYnNXb3JraW5nRGlyYC5cbiAgICpcbiAgICogQWJzb2x1dGUgcGF0aHMgY2FuIGJlIHVzZWQgaWYgZmlsZXMgYXJlIHBhcnQgb2YgdGhlIHdvcmtpbmcgZGlyZWN0b3J5LlxuICAgKlxuICAgKiBFeGFtcGxlczpcbiAgICogIC0gYCdzcmMvaW5kZXgudHMnYFxuICAgKiAgLSBgcmVxdWlyZS5yZXNvbHZlKCcuL2xhbWJkYScpYFxuICAgKiAgLSBgWydzcmMvaW5kZXgudHMnLCAnc3JjL3V0aWwudHMnXWBcbiAgICogIC0gYHtvbmU6ICdzcmMvdHdvLnRzJywgdHdvOiAnc3JjL29uZS50cyd9YFxuICAgKlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZW50cnlQb2ludHM6IEVudHJ5UG9pbnRzO1xufVxuXG50eXBlIEphdmFTY3JpcHRBc3NldFByb3BzID0gQXNzZXRQcm9wcztcbnR5cGUgVHlwZVNjcmlwdEFzc2V0UHJvcHMgPSBBc3NldFByb3BzO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBnZW5lcmljIGVzYnVpbGQgYXNzZXQuXG4gKlxuICogWW91IHNob3VsZCBhbHdheXMgdXNlIGBUeXBlU2NyaXB0QXNzZXRgIG9yIGBKYXZhU2NyaXB0QXNzZXRgLlxuICpcbiAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBjbGFzcyBFc2J1aWxkQXNzZXQ8UHJvcHMgZXh0ZW5kcyBBc3NldFByb3BzPiBleHRlbmRzIFMzQXNzZXQge1xuICAvKipcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IFByb3BzLFxuICApIHtcbiAgICBjb25zdCB7XG4gICAgICBhc3NldEhhc2gsXG4gICAgICBidWlsZE9wdGlvbnM6IG9wdGlvbnMgPSB7fSxcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3QgZW50cnlQb2ludHM6IHN0cmluZ1tdIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9XG4gICAgICB0eXBlb2YgcHJvcHMuZW50cnlQb2ludHMgPT09ICdzdHJpbmcnID8gW3Byb3BzLmVudHJ5UG9pbnRzXSA6IHByb3BzLmVudHJ5UG9pbnRzO1xuXG4gICAgY29uc3QgbmFtZSA9IHNjb3BlLm5vZGUucGF0aCArIE5vZGUuUEFUSF9TRVAgKyBpZDtcblxuICAgIGNvbnN0IGFic1dvcmtpbmdEaXIgPSBvcHRpb25zLmFic1dvcmtpbmdEaXIgPz8gcHJvY2Vzcy5jd2QoKTtcblxuICAgIGNvbnN0IGZvcmNlUmVsYXRpdmVFbnRyeXBvaW50UGF0aCA9IChlbnRyeVBvaW50OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICAgICAgaWYgKCFpc0Fic29sdXRlKGVudHJ5UG9pbnQpKSB7XG4gICAgICAgIHJldHVybiBlbnRyeVBvaW50O1xuICAgICAgfVxuXG4gICAgICBjb25zdCByZWxhdGl2ZUVudHJ5UG9pbnQgPSByZWxhdGl2ZShhYnNXb3JraW5nRGlyLCBlbnRyeVBvaW50KTtcbiAgICAgIGlmIChyZWxhdGl2ZUVudHJ5UG9pbnQuc3RhcnRzV2l0aCgnLi4nKSB8fCBpc0Fic29sdXRlKHJlbGF0aXZlRW50cnlQb2ludCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGAke25hbWV9OiBFbnRyeSBwb2ludHMgbXVzdCBiZSBwYXJ0IG9mIHRoZSB3b3JraW5nIGRpcmVjdG9yeS4gU2VlIFxcYGJ1aWxkT3B0aW9ucy5hYnNXb3JraW5nRGlyXFxgIHRvIHNldCBhIHdvcmtpbmcgZGlyZWN0b3J5IGRpZmZlcmVudCB0byB0aGUgY3VycmVudCBvbmUuYCxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlbGF0aXZlRW50cnlQb2ludDtcbiAgICB9O1xuXG4gICAgY29uc3QgcmVsYXRpdmVFbnRyeVBvaW50cyA9XG4gICAgICBBcnJheS5pc0FycmF5KGVudHJ5UG9pbnRzKSA/XG4gICAgICAgIGVudHJ5UG9pbnRzLm1hcChmb3JjZVJlbGF0aXZlRW50cnlwb2ludFBhdGgpIDpcbiAgICAgICAgT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGVudHJ5UG9pbnRzKVxuICAgICAgICAgICAgLm1hcCgoW291dCwgZW50cnlQb2ludF0pID0+IChbb3V0LCBmb3JjZVJlbGF0aXZlRW50cnlwb2ludFBhdGgoZW50cnlQb2ludCldKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICk7XG5cblxuICAgIGNvbnN0IGJ1aWxkT3B0aW9ucyA9IHtcbiAgICAgIGJ1bmRsZTogdHJ1ZSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBhYnNXb3JraW5nRGlyLFxuICAgIH07XG5cbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHBhdGg6IGFic1dvcmtpbmdEaXIsXG4gICAgICBhc3NldEhhc2gsXG4gICAgICBhc3NldEhhc2hUeXBlOiBhc3NldEhhc2ggPyBBc3NldEhhc2hUeXBlLkNVU1RPTSA6IEFzc2V0SGFzaFR5cGUuT1VUUFVULFxuICAgICAgYnVuZGxpbmc6IG5ldyBFc2J1aWxkQnVuZGxlcihcbiAgICAgICAgcmVsYXRpdmVFbnRyeVBvaW50cyxcbiAgICAgICAge1xuICAgICAgICAgIC4uLnByb3BzLFxuICAgICAgICAgIGJ1aWxkT3B0aW9ucyxcbiAgICAgICAgfSxcbiAgICAgICksXG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBCdW5kbGVzIHRoZSBlbnRyeSBwb2ludHMgYW5kIGNyZWF0ZXMgYSBDREsgYXNzZXQgd2hpY2ggaXMgdXBsb2FkZWQgdG8gdGhlIGJvb3RzdHJhcHBlZCBDREsgUzMgYnVja2V0IGR1cmluZyBkZXBsb3ltZW50LlxuICpcbiAqIFRoZSBhc3NldCBjYW4gYmUgdXNlZCBieSBvdGhlciBjb25zdHJ1Y3RzLlxuICpcbiAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gKi9cbmV4cG9ydCBjbGFzcyBKYXZhU2NyaXB0QXNzZXQgZXh0ZW5kcyBFc2J1aWxkQXNzZXQ8SmF2YVNjcmlwdEFzc2V0UHJvcHM+IHt9XG5cbi8qKlxuICogQnVuZGxlcyB0aGUgZW50cnkgcG9pbnRzIGFuZCBjcmVhdGVzIGEgQ0RLIGFzc2V0IHdoaWNoIGlzIHVwbG9hZGVkIHRvIHRoZSBib290c3RyYXBwZWQgQ0RLIFMzIGJ1Y2tldCBkdXJpbmcgZGVwbG95bWVudC5cbiAqXG4gKiBUaGUgYXNzZXQgY2FuIGJlIHVzZWQgYnkgb3RoZXIgY29uc3RydWN0cy5cbiAqXG4gKiBAc3RhYmlsaXR5IHN0YWJsZVxuICovXG5leHBvcnQgY2xhc3MgVHlwZVNjcmlwdEFzc2V0IGV4dGVuZHMgRXNidWlsZEFzc2V0PFR5cGVTY3JpcHRBc3NldFByb3BzPiB7fVxuIl19
58
+ _a = JSII_RTTI_SYMBOL_1;
59
+ TypeScriptAsset[_a] = { fqn: "@mrgrain/cdk-esbuild.TypeScriptAsset", version: "5.0.0" };
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYXNzZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQkFBNEM7QUFDNUMsNkNBQTRDO0FBQzVDLDZEQUE2RDtBQUM3RCwyQ0FBNkM7QUFDN0MsdUNBQXdEO0FBeUJ4RDs7Ozs7O0dBTUc7QUFDSCxNQUFhLGVBQWdCLFNBQVEscUJBQU87SUFDMUM7O09BRUc7SUFDSCxZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUEyQjtRQUUzQixNQUFNLEVBQ0osU0FBUyxFQUNULFlBQVksRUFBRSxPQUFPLEdBQUcsRUFBRSxHQUMzQixHQUFHLEtBQUssQ0FBQztRQUNWLE1BQU0sV0FBVyxHQUNmLE9BQU8sS0FBSyxDQUFDLFdBQVcsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO1FBRWxGLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLGlCQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUVsRCxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsYUFBYSxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUU3RCxNQUFNLDJCQUEyQixHQUFHLENBQUMsVUFBa0IsRUFBVSxFQUFFO1lBQ2pFLElBQUksQ0FBQyxJQUFBLGlCQUFVLEVBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQzNCLE9BQU8sVUFBVSxDQUFDO2FBQ25CO1lBRUQsTUFBTSxrQkFBa0IsR0FBRyxJQUFBLGVBQVEsRUFBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDL0QsSUFBSSxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksSUFBQSxpQkFBVSxFQUFDLGtCQUFrQixDQUFDLEVBQUU7Z0JBQ3pFLE1BQU0sSUFBSSxLQUFLLENBQ2IsR0FBRyxJQUFJLG1KQUFtSixDQUMzSixDQUFDO2FBQ0g7WUFFRCxPQUFPLGtCQUFrQixDQUFDO1FBQzVCLENBQUMsQ0FBQztRQUVGLE1BQU0sbUJBQW1CLEdBQ3ZCLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUMxQixXQUFXLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQztZQUM5QyxNQUFNLENBQUMsV0FBVyxDQUNoQixNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztpQkFDeEIsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsMkJBQTJCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUMzRSxDQUNKLENBQUM7UUFHTixNQUFNLFlBQVksR0FBRztZQUNuQixNQUFNLEVBQUUsSUFBSTtZQUNaLEdBQUcsT0FBTztZQUNWLGFBQWE7U0FDZCxDQUFDO1FBRUYsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixJQUFJLEVBQUUsYUFBYTtZQUNuQixTQUFTO1lBQ1QsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsMkJBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLDJCQUFhLENBQUMsTUFBTTtZQUN0RSxRQUFRLEVBQUUsSUFBSSx3QkFBYyxDQUMxQixtQkFBbUIsRUFDbkI7Z0JBQ0UsR0FBRyxLQUFLO2dCQUNSLFlBQVk7YUFDYixDQUNGO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUEvREgsMENBZ0VDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNBYnNvbHV0ZSwgcmVsYXRpdmUgfSBmcm9tICdwYXRoJztcbmltcG9ydCB7IEFzc2V0SGFzaFR5cGUgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBBc3NldCBhcyBTM0Fzc2V0IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzLWFzc2V0cyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QsIE5vZGUgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IEVzYnVpbGRCdW5kbGVyLCBFbnRyeVBvaW50cyB9IGZyb20gJy4vYnVuZGxlcic7XG5pbXBvcnQgeyBUeXBlU2NyaXB0Q29kZVByb3BzIH0gZnJvbSAnLi9jb2RlJztcblxuXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVTY3JpcHRBc3NldFByb3BzIGV4dGVuZHMgVHlwZVNjcmlwdENvZGVQcm9wcyB7XG4gIC8qKlxuICAgKiBBIHBhdGggb3IgbGlzdCBvciBtYXAgb2YgcGF0aHMgdG8gdGhlIGVudHJ5IHBvaW50cyBvZiB5b3VyIGNvZGUuXG4gICAqXG4gICAqIFJlbGF0aXZlIHBhdGhzIGFyZSBieSBkZWZhdWx0IHJlc29sdmVkIGZyb20gdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuXG4gICAqIFRvIGNoYW5nZSB0aGUgd29ya2luZyBkaXJlY3RvcnksIHNlZSBgYnVpbGRPcHRpb25zLmFic1dvcmtpbmdEaXJgLlxuICAgKlxuICAgKiBBYnNvbHV0ZSBwYXRocyBjYW4gYmUgdXNlZCBpZiBmaWxlcyBhcmUgcGFydCBvZiB0aGUgd29ya2luZyBkaXJlY3RvcnkuXG4gICAqXG4gICAqIEV4YW1wbGVzOlxuICAgKiAgLSBgJ3NyYy9pbmRleC50cydgXG4gICAqICAtIGByZXF1aXJlLnJlc29sdmUoJy4vbGFtYmRhJylgXG4gICAqICAtIGBbJ3NyYy9pbmRleC50cycsICdzcmMvdXRpbC50cyddYFxuICAgKiAgLSBge29uZTogJ3NyYy90d28udHMnLCB0d286ICdzcmMvb25lLnRzJ31gXG4gICAqXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBlbnRyeVBvaW50czogRW50cnlQb2ludHM7XG59XG5cblxuLyoqXG4gKiBCdW5kbGVzIHRoZSBlbnRyeSBwb2ludHMgYW5kIGNyZWF0ZXMgYSBDREsgYXNzZXQgd2hpY2ggaXMgdXBsb2FkZWQgdG8gdGhlIGJvb3RzdHJhcHBlZCBDREsgUzMgYnVja2V0IGR1cmluZyBkZXBsb3ltZW50LlxuICpcbiAqIFRoZSBhc3NldCBjYW4gYmUgdXNlZCBieSBvdGhlciBjb25zdHJ1Y3RzLlxuICpcbiAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gKi9cbmV4cG9ydCBjbGFzcyBUeXBlU2NyaXB0QXNzZXQgZXh0ZW5kcyBTM0Fzc2V0IHtcbiAgLyoqXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBUeXBlU2NyaXB0QXNzZXRQcm9wcyxcbiAgKSB7XG4gICAgY29uc3Qge1xuICAgICAgYXNzZXRIYXNoLFxuICAgICAgYnVpbGRPcHRpb25zOiBvcHRpb25zID0ge30sXG4gICAgfSA9IHByb3BzO1xuICAgIGNvbnN0IGVudHJ5UG9pbnRzOiBzdHJpbmdbXSB8IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPVxuICAgICAgdHlwZW9mIHByb3BzLmVudHJ5UG9pbnRzID09PSAnc3RyaW5nJyA/IFtwcm9wcy5lbnRyeVBvaW50c10gOiBwcm9wcy5lbnRyeVBvaW50cztcblxuICAgIGNvbnN0IG5hbWUgPSBzY29wZS5ub2RlLnBhdGggKyBOb2RlLlBBVEhfU0VQICsgaWQ7XG5cbiAgICBjb25zdCBhYnNXb3JraW5nRGlyID0gb3B0aW9ucy5hYnNXb3JraW5nRGlyID8/IHByb2Nlc3MuY3dkKCk7XG5cbiAgICBjb25zdCBmb3JjZVJlbGF0aXZlRW50cnlwb2ludFBhdGggPSAoZW50cnlQb2ludDogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgICAgIGlmICghaXNBYnNvbHV0ZShlbnRyeVBvaW50KSkge1xuICAgICAgICByZXR1cm4gZW50cnlQb2ludDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVsYXRpdmVFbnRyeVBvaW50ID0gcmVsYXRpdmUoYWJzV29ya2luZ0RpciwgZW50cnlQb2ludCk7XG4gICAgICBpZiAocmVsYXRpdmVFbnRyeVBvaW50LnN0YXJ0c1dpdGgoJy4uJykgfHwgaXNBYnNvbHV0ZShyZWxhdGl2ZUVudHJ5UG9pbnQpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgJHtuYW1lfTogRW50cnkgcG9pbnRzIG11c3QgYmUgcGFydCBvZiB0aGUgd29ya2luZyBkaXJlY3RvcnkuIFNlZSBcXGBidWlsZE9wdGlvbnMuYWJzV29ya2luZ0RpclxcYCB0byBzZXQgYSB3b3JraW5nIGRpcmVjdG9yeSBkaWZmZXJlbnQgdG8gdGhlIGN1cnJlbnQgb25lLmAsXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZWxhdGl2ZUVudHJ5UG9pbnQ7XG4gICAgfTtcblxuICAgIGNvbnN0IHJlbGF0aXZlRW50cnlQb2ludHMgPVxuICAgICAgQXJyYXkuaXNBcnJheShlbnRyeVBvaW50cykgP1xuICAgICAgICBlbnRyeVBvaW50cy5tYXAoZm9yY2VSZWxhdGl2ZUVudHJ5cG9pbnRQYXRoKSA6XG4gICAgICAgIE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgICAgICBPYmplY3QuZW50cmllcyhlbnRyeVBvaW50cylcbiAgICAgICAgICAgIC5tYXAoKFtvdXQsIGVudHJ5UG9pbnRdKSA9PiAoW291dCwgZm9yY2VSZWxhdGl2ZUVudHJ5cG9pbnRQYXRoKGVudHJ5UG9pbnQpXSksXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xuXG5cbiAgICBjb25zdCBidWlsZE9wdGlvbnMgPSB7XG4gICAgICBidW5kbGU6IHRydWUsXG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgYWJzV29ya2luZ0RpcixcbiAgICB9O1xuXG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBwYXRoOiBhYnNXb3JraW5nRGlyLFxuICAgICAgYXNzZXRIYXNoLFxuICAgICAgYXNzZXRIYXNoVHlwZTogYXNzZXRIYXNoID8gQXNzZXRIYXNoVHlwZS5DVVNUT00gOiBBc3NldEhhc2hUeXBlLk9VVFBVVCxcbiAgICAgIGJ1bmRsaW5nOiBuZXcgRXNidWlsZEJ1bmRsZXIoXG4gICAgICAgIHJlbGF0aXZlRW50cnlQb2ludHMsXG4gICAgICAgIHtcbiAgICAgICAgICAuLi5wcm9wcyxcbiAgICAgICAgICBidWlsZE9wdGlvbnMsXG4gICAgICAgIH0sXG4gICAgICApLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
package/lib/bundler.d.ts CHANGED
@@ -17,7 +17,7 @@ import { IBuildProvider } from './provider';
17
17
  *
18
18
  * @stability stable
19
19
  */
20
- export declare type EntryPoints = string | string[] | Record<string, string>;
20
+ export type EntryPoints = string | string[] | Record<string, string>;
21
21
  /**
22
22
  * @stability stable
23
23
  */
package/lib/bundler.js CHANGED
@@ -58,16 +58,16 @@ class EsbuildBundler {
58
58
  if (this.props.copyDir) {
59
59
  const copyDir = this.getCopyDirList(this.props.copyDir);
60
60
  copyDir.forEach(([dest, src]) => {
61
- const srcDir = path_1.resolve(this.props?.buildOptions?.absWorkingDir ?? process.cwd(), src);
62
- const destDir = path_1.resolve(outputDir, dest);
63
- const destToOutput = path_1.relative(outputDir, destDir);
64
- if (destToOutput.startsWith('..') || path_1.isAbsolute(destToOutput)) {
61
+ const srcDir = (0, path_1.resolve)(this.props?.buildOptions?.absWorkingDir ?? process.cwd(), src);
62
+ const destDir = (0, path_1.resolve)(outputDir, dest);
63
+ const destToOutput = (0, path_1.relative)(outputDir, destDir);
64
+ if (destToOutput.startsWith('..') || (0, path_1.isAbsolute)(destToOutput)) {
65
65
  throw new Error('Cannot copy files to outside of the asset staging directory. See docs for details.');
66
66
  }
67
- if (fs_1.existsSync(destDir)) {
68
- fs_1.rmSync(destDir, { recursive: true, force: true });
67
+ if ((0, fs_1.existsSync)(destDir)) {
68
+ (0, fs_1.rmSync)(destDir, { recursive: true, force: true });
69
69
  }
70
- fs_1.mkdirSync(destDir, { recursive: true });
70
+ (0, fs_1.mkdirSync)(destDir, { recursive: true });
71
71
  aws_cdk_lib_1.FileSystem.copyDirectory(srcDir, destDir);
72
72
  });
73
73
  }
@@ -81,7 +81,7 @@ class EsbuildBundler {
81
81
  });
82
82
  }
83
83
  catch (error) {
84
- if (utils_1.isEsbuildError(error)) {
84
+ if ((0, utils_1.isEsbuildError)(error)) {
85
85
  throw new Error(`Esbuild failed to bundle ${entryPoints}`);
86
86
  }
87
87
  throw error;
@@ -130,5 +130,5 @@ class EsbuildBundler {
130
130
  }
131
131
  exports.EsbuildBundler = EsbuildBundler;
132
132
  _a = JSII_RTTI_SYMBOL_1;
133
- EsbuildBundler[_a] = { fqn: "@mrgrain/cdk-esbuild.EsbuildBundler", version: "4.3.0" };
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9idW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMkJBQW1EO0FBQ25ELCtCQUE2RTtBQUM3RSw2Q0FLcUI7QUFFckIsMkNBQWlEO0FBQ2pELHlDQUE2RDtBQWdGN0Q7Ozs7O0dBS0c7QUFDSCxNQUFhLGNBQWM7SUFlekI7O09BRUc7SUFDSDtJQUNFOzs7Ozs7Ozs7Ozs7Ozs7T0FlRztJQUNhLFdBQXdCO0lBRXhDOzs7O09BSUc7SUFDYSxLQUFtQjtRQVBuQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQU94QixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBbENyQzs7OztXQUlHO1FBQ2EsVUFBSyxHQUFHLHlCQUFXLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBK0IxRCxJQUFJLEtBQUssRUFBRSxZQUFZLEVBQUUsT0FBTyxJQUFJLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFO1lBQy9ELE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQztTQUMzRDtRQUNELElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDWCxTQUFTLEVBQUUsQ0FBQyxTQUFpQixFQUFFLFFBQXlCLEVBQVcsRUFBRTtnQkFFbkUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRTtvQkFDdEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUV4RCxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRTt3QkFDOUIsTUFBTSxNQUFNLEdBQUcsY0FBTyxDQUNwQixJQUFJLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxhQUFhLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUN4RCxHQUFHLENBQ0osQ0FBQzt3QkFDRixN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QUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUVELGtCQUFrQjtRQUNsQixPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsT0FBaUIsQ0FBQyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVPLGdCQUFnQixDQUN0QixZQUFvQixFQUNwQixPQUFpRCxZQUFLO1FBRXRELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFO1lBQ3JDLE9BQU87Z0JBQ0wsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUNyQixJQUFJLENBQUMsSUFBSSxDQUNQLEdBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUMxRCxPQUFPLENBQ0ssQ0FDZixDQUNGO2FBQ0YsQ0FBQztTQUNIO1FBRUQsT0FBTztZQUNMLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUNwQixJQUFJLENBQUMsSUFBSSxDQUNQLEdBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUN6RCxPQUFPLENBQ0ssQ0FDZixDQUNGO1lBQ0QsT0FBTyxFQUFFLFNBQVM7U0FDbkIsQ0FBQztJQUNKLENBQUM7O0FBekpILHdDQTBKQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4aXN0c1N5bmMsIG1rZGlyU3luYywgcm1TeW5jIH0gZnJvbSAnZnMnO1xuaW1wb3J0IHsgam9pbiwgbm9ybWFsaXplLCByZWxhdGl2ZSwgcmVzb2x2ZSwgcG9zaXgsIGlzQWJzb2x1dGUgfSBmcm9tICdwYXRoJztcbmltcG9ydCB7XG4gIEJ1bmRsaW5nT3B0aW9ucyxcbiAgRG9ja2VySW1hZ2UsXG4gIEZpbGVTeXN0ZW0sXG4gIElMb2NhbEJ1bmRsaW5nLFxufSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBCdWlsZE9wdGlvbnMgfSBmcm9tICcuL2VzYnVpbGQtdHlwZXMnO1xuaW1wb3J0IHsgaXNFc2J1aWxkRXJyb3IgfSBmcm9tICcuL3ByaXZhdGUvdXRpbHMnO1xuaW1wb3J0IHsgRXNidWlsZFByb3ZpZGVyLCBJQnVpbGRQcm92aWRlciB9IGZyb20gJy4vcHJvdmlkZXInO1xuXG4vKipcbiAqIEEgcGF0aCBvciBsaXN0IG9yIG1hcCBvZiBwYXRocyB0byB0aGUgZW50cnkgcG9pbnRzIG9mIHlvdXIgY29kZS5cbiAqXG4gKiBSZWxhdGl2ZSBwYXRocyBhcmUgYnkgZGVmYXVsdCByZXNvbHZlZCBmcm9tIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LlxuICogVG8gY2hhbmdlIHRoZSB3b3JraW5nIGRpcmVjdG9yeSwgc2VlIGBidWlsZE9wdGlvbnMuYWJzV29ya2luZ0RpcmAuXG4gKlxuICogQWJzb2x1dGUgcGF0aHMgY2FuIGJlIHVzZWQgaWYgZmlsZXMgYXJlIHBhcnQgb2YgdGhlIHdvcmtpbmcgZGlyZWN0b3J5LlxuICpcbiAqIEV4YW1wbGVzOlxuICogIC0gYCdzcmMvaW5kZXgudHMnYFxuICogIC0gYHJlcXVpcmUucmVzb2x2ZSgnLi9sYW1iZGEnKWBcbiAqICAtIGBbJ3NyYy9pbmRleC50cycsICdzcmMvdXRpbC50cyddYFxuICogIC0gYHtvbmU6ICdzcmMvdHdvLnRzJywgdHdvOiAnc3JjL29uZS50cyd9YFxuICpcbiAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gKi9cbmV4cG9ydCB0eXBlIEVudHJ5UG9pbnRzID0gc3RyaW5nIHwgc3RyaW5nW10gfCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4vKipcbiAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnVuZGxlclByb3BzIHtcbiAgLyoqXG4gICAqIEJ1aWxkIG9wdGlvbnMgcGFzc2VkIG9uIHRvIGVzYnVpbGQuIFBsZWFzZSByZWZlciB0byB0aGUgZXNidWlsZCBCdWlsZCBBUEkgZG9jcyBmb3IgZGV0YWlscy5cbiAgICpcbiAgICogKiBgYnVpbGRPcHRpb25zLm91dGRpcjogc3RyaW5nYFxuICAgKiBUaGUgYWN0dWFsIHBhdGggZm9yIHRoZSBvdXRwdXQgZGlyZWN0b3J5IGlzIGRlZmluZWQgYnkgQ0RLLiBIb3dldmVyIHNldHRpbmcgdGhpcyBvcHRpb24gYWxsb3dzIHRvIHdyaXRlIGZpbGVzIGludG8gYSBzdWJkaXJlY3RvcnkuIFxcXG4gICAqIEZvciBleGFtcGxlIGB7IG91dGRpcjogJ2pzJyB9YCB3aWxsIGNyZWF0ZSBhbiBhc3NldCB3aXRoIGEgc2luZ2xlIGRpcmVjdG9yeSBjYWxsZWQgYGpzYCwgd2hpY2ggY29udGFpbnMgYWxsIGJ1aWx0IGZpbGVzLiBUaGlzIGFwcHJvYWNoIGNhbiBiZSB1c2VmdWwgZm9yIHN0YXRpYyB3ZWJzaXRlIGRlcGxveW1lbnRzLCB3aGVyZSBKYXZhU2NyaXB0IGNvZGUgc2hvdWxkIGJlIHBsYWNlZCBpbnRvIGEgc3ViZGlyZWN0b3J5LiBcXFxuICAgKiAqQ2Fubm90IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBgb3V0ZmlsZWAqLlxuICAgKiAqIGBidWlsZE9wdGlvbnMub3V0ZmlsZTogc3RyaW5nYFxuICAgKiBSZWxhdGl2ZSBwYXRoIHRvIGEgZmlsZSBpbnNpZGUgdGhlIENESyBhc3NldCBvdXRwdXQgZGlyZWN0b3J5LlxuICAgKiBGb3IgZXhhbXBsZSBgeyBvdXRmaWxlOiAnanMvaW5kZXguanMnIH1gIHdpbGwgY3JlYXRlIGFuIGFzc2V0IHdpdGggYSBzaW5nbGUgZGlyZWN0b3J5IGNhbGxlZCBganNgLCB3aGljaCBjb250YWlucyBhIHNpbmdsZSBmaWxlIGBpbmRleC5qc2AuIFRoaXMgY2FuIGJlIHVzZWZ1bCB0byByZW5hbWUgdGhlIGVudHJ5IHBvaW50LiBcXFxuICAgKiAqQ2Fubm90IGJlIHVzZWQgd2l0aCBtdWx0aXBsZSBlbnRyeVBvaW50cyBvciB0b2dldGhlciB3aXRoIGBvdXRkaXJgLipcbiAgICogKiBgYnVpbGRPcHRpb25zLmFic1dvcmtpbmdEaXI6IHN0cmluZ2BcbiAgICogQWJzb2x1dGUgcGF0aCB0byB0aGUgW2VzYnVpbGQgd29ya2luZyBkaXJlY3RvcnldKGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyN3b3JraW5nLWRpcmVjdG9yeSkgYW5kIGRlZmF1bHRzIHRvIHRoZSBbY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeV0oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvV29ya2luZ19kaXJlY3RvcnkpLiBcXFxuICAgKiBJZiBwYXRocyBjYW5ub3QgYmUgZm91bmQsIGEgZ29vZCBzdGFydGluZyBwb2ludCBpcyB0byBsb29rIGF0IHRoZSBjb25jYXRlbmF0aW9uIG9mIGBhYnNXb3JraW5nRGlyICsgZW50cnlQb2ludGAuIEl0IG11c3QgYWx3YXlzIGJlIGEgdmFsaWQgYWJzb2x1dGUgcGF0aCBwb2ludGluZyB0byB0aGUgZW50cnkgcG9pbnQuIFdoZW4gbmVlZGVkLCB0aGUgcHJvYmFibHkgZWFzaWVzdCB3YXkgdG8gc2V0IGFic1dvcmtpbmdEaXIgaXMgdG8gdXNlIGEgY29tYmluYXRpb24gb2YgYHJlc29sdmVgIGFuZCBgX19kaXJuYW1lYCAoc2VlIFwiTGlicmFyeSBhdXRob3JzXCIgc2VjdGlvbiBpbiB0aGUgZG9jdW1lbnRhdGlvbikuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2J1aWxkLWFwaVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRPcHRpb25zPzogQnVpbGRPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBUaGUgZXNidWlsZCBCdWlsZCBBUEkgaW1wbGVtZW50YXRpb24gdG8gYmUgdXNlZC5cbiAgICpcbiAgICogQ29uZmlndXJlIHRoZSBkZWZhdWx0IGBFc2J1aWxkUHJvdmlkZXJgIGZvciBtb3JlIG9wdGlvbnMgb3JcbiAgICogcHJvdmlkZSBhIGN1c3RvbSBgSUJ1aWxkUHJvdmlkZXJgIGFzIGFuIGVzY2FwZSBoYXRjaC5cbiAgICpcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICpcbiAgICogQGRlZmF1bHQgbmV3IEVzYnVpbGRQcm92aWRlcigpXG4gICAqL1xuICByZWFkb25seSBidWlsZFByb3ZpZGVyPzogSUJ1aWxkUHJvdmlkZXI7XG5cbiAgLyoqXG4gICAqIENvcHkgYWRkaXRpb25hbCBmaWxlcyB0byB0aGUgY29kZSBbYXNzZXQgc3RhZ2luZyBkaXJlY3RvcnldKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jZGsvYXBpL3YyL2RvY3MvYXdzLWNkay1saWIuQXNzZXRTdGFnaW5nLmh0bWwjYWJzb2x1dGVzdGFnZWRwYXRoKSwgYmVmb3JlIHRoZSBidWlsZCBydW5zLlxuICAgKiBGaWxlcyBjb3BpZWQgbGlrZSB0aGlzIHdpbGwgYmUgb3ZlcndyaXR0ZW4gYnkgZXNidWlsZCBpZiB0aGV5IHNoYXJlIHRoZSBzYW1lIG5hbWUgYXMgYW55IG9mIHRoZSBvdXRwdXRzLlxuICAgKlxuICAgKiAqIFdoZW4gcHJvdmlkZWQgd2l0aCBhIGBzdHJpbmdgIG9yIGBhcnJheWAsIGFsbCBmaWxlcyBhcmUgY29waWVkIHRvIHRoZSByb290IG9mIGFzc2V0IHN0YWdpbmcgZGlyZWN0b3J5LlxuICAgKiAqIFdoZW4gZ2l2ZW4gYSBgbWFwYCwgdGhlIGtleSBpbmRpY2F0ZXMgdGhlIGRlc3RpbmF0aW9uIHJlbGF0aXZlIHRvIHRoZSBhc3NldCBzdGFnaW5nIGRpcmVjdG9yeSBhbmQgdGhlIHZhbHVlIGlzIGEgbGlzdCBvZiBhbGwgc291cmNlcyB0byBiZSBjb3BpZWQuXG4gICAqXG4gICAqIFRoZXJlZm9yZSB0aGUgZm9sbG93aW5nIHZhbHVlcyBmb3IgYGNvcHlEaXJgIGFyZSBhbGwgZXF1aXZhbGVudDpcbiAgICogYGBgXG4gICAqIHsgY29weURpcjogXCJwYXRoL3RvL3NvdXJjZVwiIH1cbiAgICogeyBjb3B5RGlyOiBbXCJwYXRoL3RvL3NvdXJjZVwiXSB9XG4gICAqIHsgY29weURpcjogeyBcIi5cIjogXCJwYXRoL3RvL3NvdXJjZVwiIH0gfVxuICAgKiB7IGNvcHlEaXI6IHsgXCIuXCI6IFtcInBhdGgvdG8vc291cmNlXCJdIH0gfVxuICAgKiBgYGBcbiAgICogVGhlIGRlc3RpbmF0aW9uIGNhbm5vdCBiZSBvdXRzaWRlIG9mIHRoZSBhc3NldCBzdGFnaW5nIGRpcmVjdG9yeS5cbiAgICogSWYgeW91IGFyZSByZWNlaXZpbmcgdGhlIGVycm9yIFwiQ2Fubm90IGNvcHkgZmlsZXMgdG8gb3V0c2lkZSBvZiB0aGUgYXNzZXQgc3RhZ2luZyBkaXJlY3RvcnkuXCJcbiAgICogeW91IGFyZSBsaWtlbHkgdXNpbmcgYC4uYCBvciBhbiBhYnNvbHV0ZSBwYXRoIGFzIGtleSBvbiB0aGUgYGNvcHlEaXJgIG1hcC5cbiAgICogSW5zdGVhZCB1c2Ugb25seSByZWxhdGl2ZSBwYXRocyBhbmQgYXZvaWQgYC4uYC5cbiAgICpcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGNvcHlEaXI/OiBzdHJpbmcgfCBzdHJpbmdbXSB8IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IHN0cmluZ1tdPjtcbn1cblxuLyoqXG4gKiBMb3ctbGV2ZWwgY29uc3RydWN0IHRoYXQgY2FuIGJlIHVzZWQgd2hlcmUgYEJ1bmRsaW5nT3B0aW9uc2AgYXJlIHJlcXVpcmVkLlxuICogVGhpcyBjbGFzcyBkaXJlY3RseSBpbnRlcmZhY2VzIHdpdGggZXNidWlsZCBhbmQgcHJvdmlkZXMgYWxtb3N0IG5vIGNvbmZpZ3VyYXRpb24gc2FmZWd1YXJkcy5cbiAqXG4gKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgY2xhc3MgRXNidWlsZEJ1bmRsZXIge1xuICAvKipcbiAgICogSW1wbGVtZW50YXRpb24gb2YgYElMb2NhbEJ1bmRsaW5nYCBpbnRlcmZhY2UsIHJlc3BvbnNpYmxlIGZvciBjYWxsaW5nIGVzYnVpbGQgZnVuY3Rpb25zLlxuICAgKlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGxvY2FsOiBJTG9jYWxCdW5kbGluZztcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVGhpcyB2YWx1ZSBpcyBpZ25vcmVkIHNpbmNlIHRoZSBidW5kbGVyIGlzIGFsd2F5cyB1c2luZyBhIGxvY2FsbHkgaW5zdGFsbGVkIHZlcnNpb24gb2YgZXNidWlsZC4gSG93ZXZlciB0aGUgcHJvcGVydHkgaXMgcmVxdWlyZWQgdG8gY29tcGx5IHdpdGggdGhlIGBCdW5kbGluZ09wdGlvbnNgIGludGVyZmFjZS5cbiAgICpcbiAgICogQHN0YWJpbGl0eSBkZXByZWNhdGVkXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaW1hZ2UgPSBEb2NrZXJJbWFnZS5mcm9tUmVnaXN0cnkoJ3NjcmF0Y2gnKTtcblxuICAvKipcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICAgKiBBIHBhdGggb3IgbGlzdCBvciBtYXAgb2YgcGF0aHMgdG8gdGhlIGVudHJ5IHBvaW50cyBvZiB5b3VyIGNvZGUuXG4gICAgICpcbiAgICAgKiBSZWxhdGl2ZSBwYXRocyBhcmUgYnkgZGVmYXVsdCByZXNvbHZlZCBmcm9tIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LlxuICAgICAqIFRvIGNoYW5nZSB0aGUgd29ya2luZyBkaXJlY3RvcnksIHNlZSBgYnVpbGRPcHRpb25zLmFic1dvcmtpbmdEaXJgLlxuICAgICAqXG4gICAgICogQWJzb2x1dGUgcGF0aHMgY2FuIGJlIHVzZWQgaWYgZmlsZXMgYXJlIHBhcnQgb2YgdGhlIHdvcmtpbmcgZGlyZWN0b3J5LlxuICAgICAqXG4gICAgICogRXhhbXBsZXM6XG4gICAgICogIC0gYCdzcmMvaW5kZXgudHMnYFxuICAgICAqICAtIGByZXF1aXJlLnJlc29sdmUoJy4vbGFtYmRhJylgXG4gICAgICogIC0gYFsnc3JjL2luZGV4LnRzJywgJ3NyYy91dGlsLnRzJ11gXG4gICAgICogIC0gYHtvbmU6ICdzcmMvdHdvLnRzJywgdHdvOiAnc3JjL29uZS50cyd9YFxuICAgICAqXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgZW50cnlQb2ludHM6IEVudHJ5UG9pbnRzLFxuXG4gICAgLyoqXG4gICAgICogUHJvcHMgdG8gY2hhbmdlIHRoZSBiZWhhdmlvciBvZiB0aGUgYnVuZGxlci5cbiAgICAgKlxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHByb3BzOiBCdW5kbGVyUHJvcHMsXG4gICkge1xuICAgIGlmIChwcm9wcz8uYnVpbGRPcHRpb25zPy5vdXRmaWxlICYmIHByb3BzPy5idWlsZE9wdGlvbnM/Lm91dGRpcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgdXNlIGJvdGggXCJvdXRmaWxlXCIgYW5kIFwib3V0ZGlyXCInKTtcbiAgICB9XG4gICAgdGhpcy5sb2NhbCA9IHtcbiAgICAgIHRyeUJ1bmRsZTogKG91dHB1dERpcjogc3RyaW5nLCBfb3B0aW9uczogQnVuZGxpbmdPcHRpb25zKTogYm9vbGVhbiA9PiB7XG5cbiAgICAgICAgaWYgKHRoaXMucHJvcHMuY29weURpcikge1xuICAgICAgICAgIGNvbnN0IGNvcHlEaXIgPSB0aGlzLmdldENvcHlEaXJMaXN0KHRoaXMucHJvcHMuY29weURpcik7XG5cbiAgICAgICAgICBjb3B5RGlyLmZvckVhY2goKFtkZXN0LCBzcmNdKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzcmNEaXIgPSByZXNvbHZlKFxuICAgICAgICAgICAgICB0aGlzLnByb3BzPy5idWlsZE9wdGlvbnM/LmFic1dvcmtpbmdEaXIgPz8gcHJvY2Vzcy5jd2QoKSxcbiAgICAgICAgICAgICAgc3JjLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGRlc3REaXIgPSByZXNvbHZlKG91dHB1dERpciwgZGVzdCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGRlc3RUb091dHB1dCA9IHJlbGF0aXZlKG91dHB1dERpciwgZGVzdERpcik7XG4gICAgICAgICAgICBpZiAoZGVzdFRvT3V0cHV0LnN0YXJ0c1dpdGgoJy4uJykgfHwgaXNBYnNvbHV0ZShkZXN0VG9PdXRwdXQpKSB7XG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGNvcHkgZmlsZXMgdG8gb3V0c2lkZSBvZiB0aGUgYXNzZXQgc3RhZ2luZyBkaXJlY3RvcnkuIFNlZSBkb2NzIGZvciBkZXRhaWxzLicpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZXhpc3RzU3luYyhkZXN0RGlyKSkge1xuICAgICAgICAgICAgICBybVN5bmMoZGVzdERpciwgeyByZWN1cnNpdmU6IHRydWUsIGZvcmNlOiB0cnVlIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbWtkaXJTeW5jKGRlc3REaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgICAgICAgICAgRmlsZVN5c3RlbS5jb3B5RGlyZWN0b3J5KHNyY0RpciwgZGVzdERpcik7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHByb3ZpZGVyID0gcHJvcHMuYnVpbGRQcm92aWRlciA/PyBFc2J1aWxkUHJvdmlkZXIuZGVmYXVsdEJ1aWxkUHJvdmlkZXIoKTtcblxuICAgICAgICAgIHByb3ZpZGVyLmJ1aWxkU3luYyh7XG4gICAgICAgICAgICBlbnRyeVBvaW50czogdHlwZW9mIGVudHJ5UG9pbnRzID09PSAnc3RyaW5nJyA/IFtlbnRyeVBvaW50c10gOiBlbnRyeVBvaW50cyxcbiAgICAgICAgICAgIGNvbG9yOiBwcm9jZXNzLmVudi5OT19DT0xPUiA/IEJvb2xlYW4ocHJvY2Vzcy5lbnYuTk9fQ09MT1IpIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgLi4uKHRoaXMucHJvcHM/LmJ1aWxkT3B0aW9ucyB8fCB7fSksXG4gICAgICAgICAgICAuLi50aGlzLmdldE91dHB1dE9wdGlvbnMob3V0cHV0RGlyLCB7IG5vcm1hbGl6ZSwgam9pbiB9KSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBpZiAoaXNFc2J1aWxkRXJyb3IoZXJyb3IpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEVzYnVpbGQgZmFpbGVkIHRvIGJ1bmRsZSAke2VudHJ5UG9pbnRzfWApO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb3B5RGlyTGlzdChjb3B5RGlyOiBCdW5kbGVyUHJvcHNbJ2NvcHlEaXInXSk6IEFycmF5PFtzdHJpbmcsIHN0cmluZ10+IHtcbiAgICAvLyBOb3RoaW5nIHRvIGNvcHlcbiAgICBpZiAoIWNvcHlEaXIpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICAvLyBMaXN0IG9mIHN0cmluZ3NcbiAgICBpZiAoQXJyYXkuaXNBcnJheShjb3B5RGlyKSkge1xuICAgICAgcmV0dXJuIGNvcHlEaXIubWFwKChzcmM6IHN0cmluZykgPT4gWycuJywgc3JjXSk7XG4gICAgfVxuXG4gICAgLy8gQSBtYXBcbiAgICBpZiAoXG4gICAgICB0eXBlb2YgY29weURpciA9PT0gJ29iamVjdCcgJiZcbiAgICAgICFBcnJheS5pc0FycmF5KGNvcHlEaXIpICYmXG4gICAgICBjb3B5RGlyICE9PSBudWxsXG4gICAgKSB7XG4gICAgICByZXR1cm4gT2JqZWN0XG4gICAgICAgIC5lbnRyaWVzKGNvcHlEaXIpXG4gICAgICAgIC5mbGF0TWFwKChbZGVzdCwgc291cmNlc10pID0+IHtcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShzb3VyY2VzKSkge1xuICAgICAgICAgICAgcmV0dXJuIHNvdXJjZXMubWFwKChzcmMpID0+IFtkZXN0LCBzcmNdKSBhcyBBcnJheTxbc3RyaW5nLCBzdHJpbmddPjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gW1tkZXN0LCBzb3VyY2VzXV07XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEEgc2luZ2xlIHN0cmluZ1xuICAgIHJldHVybiBbWycuJywgY29weURpciBhcyBzdHJpbmddXTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3V0cHV0T3B0aW9ucyhcbiAgICBjZGtPdXRwdXREaXI6IHN0cmluZyxcbiAgICBwYXRoOiBQaWNrPHR5cGVvZiBwb3NpeCwgJ25vcm1hbGl6ZScgfCAnam9pbic+ID0gcG9zaXgsXG4gICk6IEJ1aWxkT3B0aW9ucyB7XG4gICAgaWYgKHRoaXMucHJvcHM/LmJ1aWxkT3B0aW9ucz8ub3V0ZmlsZSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgb3V0ZGlyOiB1bmRlZmluZWQsXG4gICAgICAgIG91dGZpbGU6IHBhdGgubm9ybWFsaXplKFxuICAgICAgICAgIHBhdGguam9pbihcbiAgICAgICAgICAgIC4uLihbY2RrT3V0cHV0RGlyLCB0aGlzLnByb3BzPy5idWlsZE9wdGlvbnM/Lm91dGZpbGVdLmZpbHRlcihcbiAgICAgICAgICAgICAgQm9vbGVhbixcbiAgICAgICAgICAgICkgYXMgc3RyaW5nW10pLFxuICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBvdXRkaXI6IHBhdGgubm9ybWFsaXplKFxuICAgICAgICBwYXRoLmpvaW4oXG4gICAgICAgICAgLi4uKFtjZGtPdXRwdXREaXIsIHRoaXMucHJvcHM/LmJ1aWxkT3B0aW9ucz8ub3V0ZGlyXS5maWx0ZXIoXG4gICAgICAgICAgICBCb29sZWFuLFxuICAgICAgICAgICkgYXMgc3RyaW5nW10pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICAgIG91dGZpbGU6IHVuZGVmaW5lZCxcbiAgICB9O1xuICB9XG59XG4iXX0=
133
+ EsbuildBundler[_a] = { fqn: "@mrgrain/cdk-esbuild.EsbuildBundler", version: "5.0.0" };
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9idW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMkJBQW1EO0FBQ25ELCtCQUE2RTtBQUM3RSw2Q0FLcUI7QUFFckIsMkNBQWlEO0FBQ2pELHlDQUE2RDtBQWdGN0Q7Ozs7O0dBS0c7QUFDSCxNQUFhLGNBQWM7SUFlekI7O09BRUc7SUFDSDtJQUNFOzs7Ozs7Ozs7Ozs7Ozs7T0FlRztJQUNhLFdBQXdCO0lBRXhDOzs7O09BSUc7SUFDYSxLQUFtQjtRQVBuQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQU94QixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBbENyQzs7OztXQUlHO1FBQ2EsVUFBSyxHQUFHLHlCQUFXLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBK0IxRCxJQUFJLEtBQUssRUFBRSxZQUFZLEVBQUUsT0FBTyxJQUFJLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFO1lBQy9ELE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQztTQUMzRDtRQUNELElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDWCxTQUFTLEVBQUUsQ0FBQyxTQUFpQixFQUFFLFFBQXlCLEVBQVcsRUFBRTtnQkFFbkUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRTtvQkFDdEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUV4RCxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRTt3QkFDOUIsTUFBTSxNQUFNLEdBQUcsSUFBQSxjQUFPLEVBQ3BCLElBQUksQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLGFBQWEsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQ3hELEdBQUcsQ0FDSixDQUFDO3dC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LENBQUM7aUJBQ3JFO2dCQUVELE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQzNCLENBQUMsQ0FBQyxDQUFDO1NBQ047UUFFRCxrQkFBa0I7UUFDbEIsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLE9BQWlCLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTyxnQkFBZ0IsQ0FDdEIsWUFBb0IsRUFDcEIsT0FBaUQsWUFBSztRQUV0RCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRTtZQUNyQyxPQUFPO2dCQUNMLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FDckIsSUFBSSxDQUFDLElBQUksQ0FDUCxHQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FDMUQsT0FBTyxDQUNLLENBQ2YsQ0FDRjthQUNGLENBQUM7U0FDSDtRQUVELE9BQU87WUFDTCxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FDcEIsSUFBSSxDQUFDLElBQUksQ0FDUCxHQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FDekQsT0FBTyxDQUNLLENBQ2YsQ0FDRjtZQUNELE9BQU8sRUFBRSxTQUFTO1NBQ25CLENBQUM7SUFDSixDQUFDOztBQXpKSCx3Q0EwSkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleGlzdHNTeW5jLCBta2RpclN5bmMsIHJtU3luYyB9IGZyb20gJ2ZzJztcbmltcG9ydCB7IGpvaW4sIG5vcm1hbGl6ZSwgcmVsYXRpdmUsIHJlc29sdmUsIHBvc2l4LCBpc0Fic29sdXRlIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQge1xuICBCdW5kbGluZ09wdGlvbnMsXG4gIERvY2tlckltYWdlLFxuICBGaWxlU3lzdGVtLFxuICBJTG9jYWxCdW5kbGluZyxcbn0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQnVpbGRPcHRpb25zIH0gZnJvbSAnLi9lc2J1aWxkLXR5cGVzJztcbmltcG9ydCB7IGlzRXNidWlsZEVycm9yIH0gZnJvbSAnLi9wcml2YXRlL3V0aWxzJztcbmltcG9ydCB7IEVzYnVpbGRQcm92aWRlciwgSUJ1aWxkUHJvdmlkZXIgfSBmcm9tICcuL3Byb3ZpZGVyJztcblxuLyoqXG4gKiBBIHBhdGggb3IgbGlzdCBvciBtYXAgb2YgcGF0aHMgdG8gdGhlIGVudHJ5IHBvaW50cyBvZiB5b3VyIGNvZGUuXG4gKlxuICogUmVsYXRpdmUgcGF0aHMgYXJlIGJ5IGRlZmF1bHQgcmVzb2x2ZWQgZnJvbSB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5cbiAqIFRvIGNoYW5nZSB0aGUgd29ya2luZyBkaXJlY3RvcnksIHNlZSBgYnVpbGRPcHRpb25zLmFic1dvcmtpbmdEaXJgLlxuICpcbiAqIEFic29sdXRlIHBhdGhzIGNhbiBiZSB1c2VkIGlmIGZpbGVzIGFyZSBwYXJ0IG9mIHRoZSB3b3JraW5nIGRpcmVjdG9yeS5cbiAqXG4gKiBFeGFtcGxlczpcbiAqICAtIGAnc3JjL2luZGV4LnRzJ2BcbiAqICAtIGByZXF1aXJlLnJlc29sdmUoJy4vbGFtYmRhJylgXG4gKiAgLSBgWydzcmMvaW5kZXgudHMnLCAnc3JjL3V0aWwudHMnXWBcbiAqICAtIGB7b25lOiAnc3JjL3R3by50cycsIHR3bzogJ3NyYy9vbmUudHMnfWBcbiAqXG4gKiBAc3RhYmlsaXR5IHN0YWJsZVxuICovXG5leHBvcnQgdHlwZSBFbnRyeVBvaW50cyA9IHN0cmluZyB8IHN0cmluZ1tdIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuLyoqXG4gKiBAc3RhYmlsaXR5IHN0YWJsZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJ1bmRsZXJQcm9wcyB7XG4gIC8qKlxuICAgKiBCdWlsZCBvcHRpb25zIHBhc3NlZCBvbiB0byBlc2J1aWxkLiBQbGVhc2UgcmVmZXIgdG8gdGhlIGVzYnVpbGQgQnVpbGQgQVBJIGRvY3MgZm9yIGRldGFpbHMuXG4gICAqXG4gICAqICogYGJ1aWxkT3B0aW9ucy5vdXRkaXI6IHN0cmluZ2BcbiAgICogVGhlIGFjdHVhbCBwYXRoIGZvciB0aGUgb3V0cHV0IGRpcmVjdG9yeSBpcyBkZWZpbmVkIGJ5IENESy4gSG93ZXZlciBzZXR0aW5nIHRoaXMgb3B0aW9uIGFsbG93cyB0byB3cml0ZSBmaWxlcyBpbnRvIGEgc3ViZGlyZWN0b3J5LiBcXFxuICAgKiBGb3IgZXhhbXBsZSBgeyBvdXRkaXI6ICdqcycgfWAgd2lsbCBjcmVhdGUgYW4gYXNzZXQgd2l0aCBhIHNpbmdsZSBkaXJlY3RvcnkgY2FsbGVkIGBqc2AsIHdoaWNoIGNvbnRhaW5zIGFsbCBidWlsdCBmaWxlcy4gVGhpcyBhcHByb2FjaCBjYW4gYmUgdXNlZnVsIGZvciBzdGF0aWMgd2Vic2l0ZSBkZXBsb3ltZW50cywgd2hlcmUgSmF2YVNjcmlwdCBjb2RlIHNob3VsZCBiZSBwbGFjZWQgaW50byBhIHN1YmRpcmVjdG9yeS4gXFxcbiAgICogKkNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggYG91dGZpbGVgKi5cbiAgICogKiBgYnVpbGRPcHRpb25zLm91dGZpbGU6IHN0cmluZ2BcbiAgICogUmVsYXRpdmUgcGF0aCB0byBhIGZpbGUgaW5zaWRlIHRoZSBDREsgYXNzZXQgb3V0cHV0IGRpcmVjdG9yeS5cbiAgICogRm9yIGV4YW1wbGUgYHsgb3V0ZmlsZTogJ2pzL2luZGV4LmpzJyB9YCB3aWxsIGNyZWF0ZSBhbiBhc3NldCB3aXRoIGEgc2luZ2xlIGRpcmVjdG9yeSBjYWxsZWQgYGpzYCwgd2hpY2ggY29udGFpbnMgYSBzaW5nbGUgZmlsZSBgaW5kZXguanNgLiBUaGlzIGNhbiBiZSB1c2VmdWwgdG8gcmVuYW1lIHRoZSBlbnRyeSBwb2ludC4gXFxcbiAgICogKkNhbm5vdCBiZSB1c2VkIHdpdGggbXVsdGlwbGUgZW50cnlQb2ludHMgb3IgdG9nZXRoZXIgd2l0aCBgb3V0ZGlyYC4qXG4gICAqICogYGJ1aWxkT3B0aW9ucy5hYnNXb3JraW5nRGlyOiBzdHJpbmdgXG4gICAqIEFic29sdXRlIHBhdGggdG8gdGhlIFtlc2J1aWxkIHdvcmtpbmcgZGlyZWN0b3J5XShodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jd29ya2luZy1kaXJlY3RvcnkpIGFuZCBkZWZhdWx0cyB0byB0aGUgW2N1cnJlbnQgd29ya2luZyBkaXJlY3RvcnldKGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1dvcmtpbmdfZGlyZWN0b3J5KS4gXFxcbiAgICogSWYgcGF0aHMgY2Fubm90IGJlIGZvdW5kLCBhIGdvb2Qgc3RhcnRpbmcgcG9pbnQgaXMgdG8gbG9vayBhdCB0aGUgY29uY2F0ZW5hdGlvbiBvZiBgYWJzV29ya2luZ0RpciArIGVudHJ5UG9pbnRgLiBJdCBtdXN0IGFsd2F5cyBiZSBhIHZhbGlkIGFic29sdXRlIHBhdGggcG9pbnRpbmcgdG8gdGhlIGVudHJ5IHBvaW50LiBXaGVuIG5lZWRlZCwgdGhlIHByb2JhYmx5IGVhc2llc3Qgd2F5IHRvIHNldCBhYnNXb3JraW5nRGlyIGlzIHRvIHVzZSBhIGNvbWJpbmF0aW9uIG9mIGByZXNvbHZlYCBhbmQgYF9fZGlybmFtZWAgKHNlZSBcIkxpYnJhcnkgYXV0aG9yc1wiIHNlY3Rpb24gaW4gdGhlIGRvY3VtZW50YXRpb24pLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNidWlsZC1hcGlcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkT3B0aW9ucz86IEJ1aWxkT3B0aW9ucztcblxuICAvKipcbiAgICogVGhlIGVzYnVpbGQgQnVpbGQgQVBJIGltcGxlbWVudGF0aW9uIHRvIGJlIHVzZWQuXG4gICAqXG4gICAqIENvbmZpZ3VyZSB0aGUgZGVmYXVsdCBgRXNidWlsZFByb3ZpZGVyYCBmb3IgbW9yZSBvcHRpb25zIG9yXG4gICAqIHByb3ZpZGUgYSBjdXN0b20gYElCdWlsZFByb3ZpZGVyYCBhcyBhbiBlc2NhcGUgaGF0Y2guXG4gICAqXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqXG4gICAqIEBkZWZhdWx0IG5ldyBFc2J1aWxkUHJvdmlkZXIoKVxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRQcm92aWRlcj86IElCdWlsZFByb3ZpZGVyO1xuXG4gIC8qKlxuICAgKiBDb3B5IGFkZGl0aW9uYWwgZmlsZXMgdG8gdGhlIGNvZGUgW2Fzc2V0IHN0YWdpbmcgZGlyZWN0b3J5XShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY2RrL2FwaS92Mi9kb2NzL2F3cy1jZGstbGliLkFzc2V0U3RhZ2luZy5odG1sI2Fic29sdXRlc3RhZ2VkcGF0aCksIGJlZm9yZSB0aGUgYnVpbGQgcnVucy5cbiAgICogRmlsZXMgY29waWVkIGxpa2UgdGhpcyB3aWxsIGJlIG92ZXJ3cml0dGVuIGJ5IGVzYnVpbGQgaWYgdGhleSBzaGFyZSB0aGUgc2FtZSBuYW1lIGFzIGFueSBvZiB0aGUgb3V0cHV0cy5cbiAgICpcbiAgICogKiBXaGVuIHByb3ZpZGVkIHdpdGggYSBgc3RyaW5nYCBvciBgYXJyYXlgLCBhbGwgZmlsZXMgYXJlIGNvcGllZCB0byB0aGUgcm9vdCBvZiBhc3NldCBzdGFnaW5nIGRpcmVjdG9yeS5cbiAgICogKiBXaGVuIGdpdmVuIGEgYG1hcGAsIHRoZSBrZXkgaW5kaWNhdGVzIHRoZSBkZXN0aW5hdGlvbiByZWxhdGl2ZSB0byB0aGUgYXNzZXQgc3RhZ2luZyBkaXJlY3RvcnkgYW5kIHRoZSB2YWx1ZSBpcyBhIGxpc3Qgb2YgYWxsIHNvdXJjZXMgdG8gYmUgY29waWVkLlxuICAgKlxuICAgKiBUaGVyZWZvcmUgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZm9yIGBjb3B5RGlyYCBhcmUgYWxsIGVxdWl2YWxlbnQ6XG4gICAqIGBgYFxuICAgKiB7IGNvcHlEaXI6IFwicGF0aC90by9zb3VyY2VcIiB9XG4gICAqIHsgY29weURpcjogW1wicGF0aC90by9zb3VyY2VcIl0gfVxuICAgKiB7IGNvcHlEaXI6IHsgXCIuXCI6IFwicGF0aC90by9zb3VyY2VcIiB9IH1cbiAgICogeyBjb3B5RGlyOiB7IFwiLlwiOiBbXCJwYXRoL3RvL3NvdXJjZVwiXSB9IH1cbiAgICogYGBgXG4gICAqIFRoZSBkZXN0aW5hdGlvbiBjYW5ub3QgYmUgb3V0c2lkZSBvZiB0aGUgYXNzZXQgc3RhZ2luZyBkaXJlY3RvcnkuXG4gICAqIElmIHlvdSBhcmUgcmVjZWl2aW5nIHRoZSBlcnJvciBcIkNhbm5vdCBjb3B5IGZpbGVzIHRvIG91dHNpZGUgb2YgdGhlIGFzc2V0IHN0YWdpbmcgZGlyZWN0b3J5LlwiXG4gICAqIHlvdSBhcmUgbGlrZWx5IHVzaW5nIGAuLmAgb3IgYW4gYWJzb2x1dGUgcGF0aCBhcyBrZXkgb24gdGhlIGBjb3B5RGlyYCBtYXAuXG4gICAqIEluc3RlYWQgdXNlIG9ubHkgcmVsYXRpdmUgcGF0aHMgYW5kIGF2b2lkIGAuLmAuXG4gICAqXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBjb3B5RGlyPzogc3RyaW5nIHwgc3RyaW5nW10gfCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBzdHJpbmdbXT47XG59XG5cbi8qKlxuICogTG93LWxldmVsIGNvbnN0cnVjdCB0aGF0IGNhbiBiZSB1c2VkIHdoZXJlIGBCdW5kbGluZ09wdGlvbnNgIGFyZSByZXF1aXJlZC5cbiAqIFRoaXMgY2xhc3MgZGlyZWN0bHkgaW50ZXJmYWNlcyB3aXRoIGVzYnVpbGQgYW5kIHByb3ZpZGVzIGFsbW9zdCBubyBjb25maWd1cmF0aW9uIHNhZmVndWFyZHMuXG4gKlxuICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGNsYXNzIEVzYnVpbGRCdW5kbGVyIHtcbiAgLyoqXG4gICAqIEltcGxlbWVudGF0aW9uIG9mIGBJTG9jYWxCdW5kbGluZ2AgaW50ZXJmYWNlLCByZXNwb25zaWJsZSBmb3IgY2FsbGluZyBlc2J1aWxkIGZ1bmN0aW9ucy5cbiAgICpcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBsb2NhbDogSUxvY2FsQnVuZGxpbmc7XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFRoaXMgdmFsdWUgaXMgaWdub3JlZCBzaW5jZSB0aGUgYnVuZGxlciBpcyBhbHdheXMgdXNpbmcgYSBsb2NhbGx5IGluc3RhbGxlZCB2ZXJzaW9uIG9mIGVzYnVpbGQuIEhvd2V2ZXIgdGhlIHByb3BlcnR5IGlzIHJlcXVpcmVkIHRvIGNvbXBseSB3aXRoIHRoZSBgQnVuZGxpbmdPcHRpb25zYCBpbnRlcmZhY2UuXG4gICAqXG4gICAqIEBzdGFiaWxpdHkgZGVwcmVjYXRlZFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGltYWdlID0gRG9ja2VySW1hZ2UuZnJvbVJlZ2lzdHJ5KCdzY3JhdGNoJyk7XG5cbiAgLyoqXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgLyoqXG4gICAgICogQSBwYXRoIG9yIGxpc3Qgb3IgbWFwIG9mIHBhdGhzIHRvIHRoZSBlbnRyeSBwb2ludHMgb2YgeW91ciBjb2RlLlxuICAgICAqXG4gICAgICogUmVsYXRpdmUgcGF0aHMgYXJlIGJ5IGRlZmF1bHQgcmVzb2x2ZWQgZnJvbSB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5cbiAgICAgKiBUbyBjaGFuZ2UgdGhlIHdvcmtpbmcgZGlyZWN0b3J5LCBzZWUgYGJ1aWxkT3B0aW9ucy5hYnNXb3JraW5nRGlyYC5cbiAgICAgKlxuICAgICAqIEFic29sdXRlIHBhdGhzIGNhbiBiZSB1c2VkIGlmIGZpbGVzIGFyZSBwYXJ0IG9mIHRoZSB3b3JraW5nIGRpcmVjdG9yeS5cbiAgICAgKlxuICAgICAqIEV4YW1wbGVzOlxuICAgICAqICAtIGAnc3JjL2luZGV4LnRzJ2BcbiAgICAgKiAgLSBgcmVxdWlyZS5yZXNvbHZlKCcuL2xhbWJkYScpYFxuICAgICAqICAtIGBbJ3NyYy9pbmRleC50cycsICdzcmMvdXRpbC50cyddYFxuICAgICAqICAtIGB7b25lOiAnc3JjL3R3by50cycsIHR3bzogJ3NyYy9vbmUudHMnfWBcbiAgICAgKlxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGVudHJ5UG9pbnRzOiBFbnRyeVBvaW50cyxcblxuICAgIC8qKlxuICAgICAqIFByb3BzIHRvIGNoYW5nZSB0aGUgYmVoYXZpb3Igb2YgdGhlIGJ1bmRsZXIuXG4gICAgICpcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBwcm9wczogQnVuZGxlclByb3BzLFxuICApIHtcbiAgICBpZiAocHJvcHM/LmJ1aWxkT3B0aW9ucz8ub3V0ZmlsZSAmJiBwcm9wcz8uYnVpbGRPcHRpb25zPy5vdXRkaXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHVzZSBib3RoIFwib3V0ZmlsZVwiIGFuZCBcIm91dGRpclwiJyk7XG4gICAgfVxuICAgIHRoaXMubG9jYWwgPSB7XG4gICAgICB0cnlCdW5kbGU6IChvdXRwdXREaXI6IHN0cmluZywgX29wdGlvbnM6IEJ1bmRsaW5nT3B0aW9ucyk6IGJvb2xlYW4gPT4ge1xuXG4gICAgICAgIGlmICh0aGlzLnByb3BzLmNvcHlEaXIpIHtcbiAgICAgICAgICBjb25zdCBjb3B5RGlyID0gdGhpcy5nZXRDb3B5RGlyTGlzdCh0aGlzLnByb3BzLmNvcHlEaXIpO1xuXG4gICAgICAgICAgY29weURpci5mb3JFYWNoKChbZGVzdCwgc3JjXSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3JjRGlyID0gcmVzb2x2ZShcbiAgICAgICAgICAgICAgdGhpcy5wcm9wcz8uYnVpbGRPcHRpb25zPy5hYnNXb3JraW5nRGlyID8/IHByb2Nlc3MuY3dkKCksXG4gICAgICAgICAgICAgIHNyYyxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCBkZXN0RGlyID0gcmVzb2x2ZShvdXRwdXREaXIsIGRlc3QpO1xuXG4gICAgICAgICAgICBjb25zdCBkZXN0VG9PdXRwdXQgPSByZWxhdGl2ZShvdXRwdXREaXIsIGRlc3REaXIpO1xuICAgICAgICAgICAgaWYgKGRlc3RUb091dHB1dC5zdGFydHNXaXRoKCcuLicpIHx8IGlzQWJzb2x1dGUoZGVzdFRvT3V0cHV0KSkge1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBjb3B5IGZpbGVzIHRvIG91dHNpZGUgb2YgdGhlIGFzc2V0IHN0YWdpbmcgZGlyZWN0b3J5LiBTZWUgZG9jcyBmb3IgZGV0YWlscy4nKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGV4aXN0c1N5bmMoZGVzdERpcikpIHtcbiAgICAgICAgICAgICAgcm1TeW5jKGRlc3REaXIsIHsgcmVjdXJzaXZlOiB0cnVlLCBmb3JjZTogdHJ1ZSB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG1rZGlyU3luYyhkZXN0RGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICAgICAgICAgIEZpbGVTeXN0ZW0uY29weURpcmVjdG9yeShzcmNEaXIsIGRlc3REaXIpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBwcm92aWRlciA9IHByb3BzLmJ1aWxkUHJvdmlkZXIgPz8gRXNidWlsZFByb3ZpZGVyLmRlZmF1bHRCdWlsZFByb3ZpZGVyKCk7XG5cbiAgICAgICAgICBwcm92aWRlci5idWlsZFN5bmMoe1xuICAgICAgICAgICAgZW50cnlQb2ludHM6IHR5cGVvZiBlbnRyeVBvaW50cyA9PT0gJ3N0cmluZycgPyBbZW50cnlQb2ludHNdIDogZW50cnlQb2ludHMsXG4gICAgICAgICAgICBjb2xvcjogcHJvY2Vzcy5lbnYuTk9fQ09MT1IgPyBCb29sZWFuKHByb2Nlc3MuZW52Lk5PX0NPTE9SKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIC4uLih0aGlzLnByb3BzPy5idWlsZE9wdGlvbnMgfHwge30pLFxuICAgICAgICAgICAgLi4udGhpcy5nZXRPdXRwdXRPcHRpb25zKG91dHB1dERpciwgeyBub3JtYWxpemUsIGpvaW4gfSksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgaWYgKGlzRXNidWlsZEVycm9yKGVycm9yKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFc2J1aWxkIGZhaWxlZCB0byBidW5kbGUgJHtlbnRyeVBvaW50c31gKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29weURpckxpc3QoY29weURpcjogQnVuZGxlclByb3BzWydjb3B5RGlyJ10pOiBBcnJheTxbc3RyaW5nLCBzdHJpbmddPiB7XG4gICAgLy8gTm90aGluZyB0byBjb3B5XG4gICAgaWYgKCFjb3B5RGlyKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgLy8gTGlzdCBvZiBzdHJpbmdzXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoY29weURpcikpIHtcbiAgICAgIHJldHVybiBjb3B5RGlyLm1hcCgoc3JjOiBzdHJpbmcpID0+IFsnLicsIHNyY10pO1xuICAgIH1cblxuICAgIC8vIEEgbWFwXG4gICAgaWYgKFxuICAgICAgdHlwZW9mIGNvcHlEaXIgPT09ICdvYmplY3QnICYmXG4gICAgICAhQXJyYXkuaXNBcnJheShjb3B5RGlyKSAmJlxuICAgICAgY29weURpciAhPT0gbnVsbFxuICAgICkge1xuICAgICAgcmV0dXJuIE9iamVjdFxuICAgICAgICAuZW50cmllcyhjb3B5RGlyKVxuICAgICAgICAuZmxhdE1hcCgoW2Rlc3QsIHNvdXJjZXNdKSA9PiB7XG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoc291cmNlcykpIHtcbiAgICAgICAgICAgIHJldHVybiBzb3VyY2VzLm1hcCgoc3JjKSA9PiBbZGVzdCwgc3JjXSkgYXMgQXJyYXk8W3N0cmluZywgc3RyaW5nXT47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIFtbZGVzdCwgc291cmNlc11dO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBBIHNpbmdsZSBzdHJpbmdcbiAgICByZXR1cm4gW1snLicsIGNvcHlEaXIgYXMgc3RyaW5nXV07XG4gIH1cblxuICBwcml2YXRlIGdldE91dHB1dE9wdGlvbnMoXG4gICAgY2RrT3V0cHV0RGlyOiBzdHJpbmcsXG4gICAgcGF0aDogUGljazx0eXBlb2YgcG9zaXgsICdub3JtYWxpemUnIHwgJ2pvaW4nPiA9IHBvc2l4LFxuICApOiBCdWlsZE9wdGlvbnMge1xuICAgIGlmICh0aGlzLnByb3BzPy5idWlsZE9wdGlvbnM/Lm91dGZpbGUpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG91dGRpcjogdW5kZWZpbmVkLFxuICAgICAgICBvdXRmaWxlOiBwYXRoLm5vcm1hbGl6ZShcbiAgICAgICAgICBwYXRoLmpvaW4oXG4gICAgICAgICAgICAuLi4oW2Nka091dHB1dERpciwgdGhpcy5wcm9wcz8uYnVpbGRPcHRpb25zPy5vdXRmaWxlXS5maWx0ZXIoXG4gICAgICAgICAgICAgIEJvb2xlYW4sXG4gICAgICAgICAgICApIGFzIHN0cmluZ1tdKSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgb3V0ZGlyOiBwYXRoLm5vcm1hbGl6ZShcbiAgICAgICAgcGF0aC5qb2luKFxuICAgICAgICAgIC4uLihbY2RrT3V0cHV0RGlyLCB0aGlzLnByb3BzPy5idWlsZE9wdGlvbnM/Lm91dGRpcl0uZmlsdGVyKFxuICAgICAgICAgICAgQm9vbGVhbixcbiAgICAgICAgICApIGFzIHN0cmluZ1tdKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgICBvdXRmaWxlOiB1bmRlZmluZWQsXG4gICAgfTtcbiAgfVxufVxuIl19
package/lib/code.d.ts CHANGED
@@ -1,41 +1,28 @@
1
1
  import { CfnResource } from 'aws-cdk-lib';
2
2
  import { ResourceBindOptions, Code, CodeConfig } from 'aws-cdk-lib/aws-lambda';
3
3
  import { Construct } from 'constructs';
4
- import { EsbuildAsset, AssetBaseProps, AssetProps } from './asset';
5
- import { EntryPoints } from './bundler';
4
+ import { BundlerProps, EntryPoints } from './bundler';
6
5
  export { CodeConfig } from 'aws-cdk-lib/aws-lambda';
7
- export interface JavaScriptCodeProps extends AssetBaseProps {
8
- }
9
- export interface TypeScriptCodeProps extends AssetBaseProps {
10
- }
11
- /**
12
- * Represents a generic esbuild code bundle.
13
- *
14
- * You should always use `TypeScriptCode` or `JavaScriptCode`.
15
- *
16
- * @stability experimental
17
- */
18
- export declare class EsbuildCode<Props extends JavaScriptCodeProps | TypeScriptCodeProps> extends Code {
6
+ export interface TypeScriptCodeProps extends BundlerProps {
19
7
  /**
20
- * A path or list or map of paths to the entry points of your code.
8
+ * A hash of this asset, which is available at construction time.
21
9
  *
22
- * Relative paths are by default resolved from the current working directory.
23
- * To change the working directory, see `buildOptions.absWorkingDir`.
10
+ * As this is a plain string, it can be used in construct IDs in order to enforce creation of a new resource when the content hash has changed.
24
11
  *
25
- * Absolute paths can be used if files are part of the working directory.
26
- *
27
- * Examples:
28
- * - `'src/index.ts'`
29
- * - `require.resolve('./lambda')`
30
- * - `['src/index.ts', 'src/util.ts']`
31
- * - `{one: 'src/two.ts', two: 'src/one.ts'}`
12
+ * Defaults to a hash of all files in the resulting bundle.
32
13
  *
33
14
  * @stability stable
34
15
  */
35
- readonly entryPoints: EntryPoints;
36
- protected getAsset(scope: Construct): EsbuildAsset<AssetProps>;
37
- protected props: AssetProps;
38
- protected asset: EsbuildAsset<AssetProps>;
16
+ readonly assetHash?: string;
17
+ }
18
+ /**
19
+ * Represents the deployed TypeScript Code.
20
+ *
21
+ * @stability stable
22
+ */
23
+ export declare class TypeScriptCode extends Code {
24
+ private props;
25
+ private asset?;
39
26
  /**
40
27
  * Determines whether this Code is inline code or not.
41
28
  *
@@ -70,7 +57,7 @@ export declare class EsbuildCode<Props extends JavaScriptCodeProps | TypeScriptC
70
57
  *
71
58
  * @stability stable
72
59
  */
73
- props: Props);
60
+ props?: TypeScriptCodeProps);
74
61
  bind(scope: Construct): CodeConfig;
75
62
  /**
76
63
  * Called after the CFN function resource has been created to allow the code class to bind to it.
@@ -82,77 +69,3 @@ export declare class EsbuildCode<Props extends JavaScriptCodeProps | TypeScriptC
82
69
  */
83
70
  bindToResource(resource: CfnResource, options?: ResourceBindOptions): void;
84
71
  }
85
- /**
86
- * Represents the deployed JavaScript Code.
87
- *
88
- * @stability stable
89
- */
90
- export declare class JavaScriptCode extends EsbuildCode<JavaScriptCodeProps> {
91
- protected getAsset(scope: Construct): EsbuildAsset<AssetProps>;
92
- constructor(
93
- /**
94
- * A path or list or map of paths to the entry points of your code.
95
- *
96
- * Relative paths are by default resolved from the current working directory.
97
- * To change the working directory, see `buildOptions.absWorkingDir`.
98
- *
99
- * Absolute paths can be used if files are part of the working directory.
100
- *
101
- * Examples:
102
- * - `'src/index.ts'`
103
- * - `require.resolve('./lambda')`
104
- * - `['src/index.ts', 'src/util.ts']`
105
- * - `{one: 'src/two.ts', two: 'src/one.ts'}`
106
- *
107
- * @stability stable
108
- */
109
- entryPoints: EntryPoints,
110
- /**
111
- * Props to change the behavior of the bundler.
112
- *
113
- * Default values for `props.buildOptions`:
114
- * - `bundle=true`
115
- * - `platform=node`
116
- * - `target=nodeX` with X being the major node version running locally
117
- *
118
- * @stability stable
119
- */
120
- props?: JavaScriptCodeProps);
121
- }
122
- /**
123
- * Represents the deployed TypeScript Code.
124
- *
125
- * @stability stable
126
- */
127
- export declare class TypeScriptCode extends EsbuildCode<TypeScriptCodeProps> {
128
- protected getAsset(scope: Construct): EsbuildAsset<AssetProps>;
129
- constructor(
130
- /**
131
- * A path or list or map of paths to the entry points of your code.
132
- *
133
- * Relative paths are by default resolved from the current working directory.
134
- * To change the working directory, see `buildOptions.absWorkingDir`.
135
- *
136
- * Absolute paths can be used if files are part of the working directory.
137
- *
138
- * Examples:
139
- * - `'src/index.ts'`
140
- * - `require.resolve('./lambda')`
141
- * - `['src/index.ts', 'src/util.ts']`
142
- * - `{one: 'src/two.ts', two: 'src/one.ts'}`
143
- *
144
- * @stability stable
145
- */
146
- entryPoints: EntryPoints,
147
- /**
148
- * Props to change the behavior of the bundler.
149
- *
150
- * Default values for `props.buildOptions`:
151
- * - `bundle=true`
152
- * - `platform=node`
153
- * - `target=nodeX` with X being the major node version running locally
154
- *
155
- * @stability stable
156
- */
157
- props?: TypeScriptCodeProps);
158
- }