@mrgrain/cdk-esbuild 3.7.2 → 3.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.jsii CHANGED
@@ -2777,7 +2777,7 @@
2777
2777
  "stability": "stable"
2778
2778
  },
2779
2779
  "homepage": "https://github.com/mrgrain/cdk-esbuild",
2780
- "jsiiVersion": "1.62.0 (build 293ac17)",
2780
+ "jsiiVersion": "1.64.0 (build 4c1eae8)",
2781
2781
  "keywords": [
2782
2782
  "aws-cdk",
2783
2783
  "bundler",
@@ -2800,7 +2800,7 @@
2800
2800
  },
2801
2801
  "name": "@mrgrain/cdk-esbuild",
2802
2802
  "readme": {
2803
- "markdown": "# cdk-esbuild\n\n_CDK constructs for [esbuild](https://github.com/evanw/esbuild), an extremely fast JavaScript bundler_\n\n[Getting started](#getting-started)\n[Documentation](#documentation) | [API Reference](#api-reference) | [Versioning](#versioning) | [Upgrading from AWS CDK v1](#upgrading-from-aws-cdk-v1)\n\n[![View on Construct Hub](https://constructs.dev/badge?package=%40mrgrain%2Fcdk-esbuild)](https://constructs.dev/packages/@mrgrain/cdk-esbuild)\n\n## Why?\n\n_esbuild_ is an extremely fast bundler and minifier for Typescript and JavaScript.\nThis package makes _esbuild_ available to deploy lambda functions, static websites or to publish build artefacts (assets) for further use.\n\nAWS CDK [supports _esbuild_ with Lambda Functions](https://docs.aws.amazon.com/cdk/api/latest/docs/aws-lambda-nodejs-readme.html). However the implementation cannot be used with any other Constructs and doesn't expose all of _esbuild_'s build interface.\n\nThis package is running _esbuild_ directly in Node.js and bypasses Docker which the AWS CDK implementation uses. The approach is quicker and easier to use for Node.js users, but incompatible with other languages.\n\n**Production readiness**\n\nThis package is stable and ready to be used in production, as many do. However _esbuild_ has not yet released a version 1.0.0 and its API is still in active development. Please read the guide on [esbuild's production readiness](https://esbuild.github.io/faq/#production-readiness).\n\nNotably upgrades of the _esbuild_ minimum version requirement will be introduced in **minor versions** of this package and will inherit breaking changes from _esbuild_.\n\n## Getting started\n\nInstall `cdk-esbuild`:\n\n```\nnpm install @mrgrain/cdk-esbuild@3\n```\n\nIf _peer_ or _optional dependencies_ are not installed automatically (e.g. when using npm v4-6), please use this command to install all of them:\n\n```\nnpm install @mrgrain/cdk-esbuild@3 esbuild\n```\n\n### AWS Lambda: Serverless function\n\n> 💡 See [Lambda Function](examples/lambda) for a complete working example of a how to deploy a lambda function.\n\nUse `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):\n\n```ts\nimport * as lambda from \"aws-cdk-lib/aws-lambda\";\nimport { TypeScriptCode } from \"@mrgrain/cdk-esbuild\";\n\nconst bundledCode = new TypeScriptCode(\"src/index.ts\");\n\nconst fn = new lambda.Function(stack, \"MyFunction\", {\n runtime: lambda.Runtime.NODEJS_16_X,\n handler: \"index.handler\",\n code: bundledCode,\n});\n```\n\n### AWS S3: Static Website\n\n> 💡 See [Static Website with React](examples/website) for a complete working example of a how to deploy a React app to S3.\n\nUse `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):\n\n```ts\nimport * as s3 from \"aws-cdk-lib/aws-s3\";\nimport * as s3deploy from \"aws-cdk-lib/aws-s3-deployment\";\nimport { TypeScriptSource } from \"@mrgrain/cdk-esbuild\";\n\nconst websiteBundle = new TypeScriptSource(\"src/index.tsx\");\n\nconst websiteBucket = new s3.Bucket(stack, \"WebsiteBucket\", {\n autoDeleteObjects: true,\n publicReadAccess: true,\n removalPolicy: RemovalPolicy.DESTROY,\n websiteIndexDocument: \"index.html\",\n});\n\nnew s3deploy.BucketDeployment(stack, \"DeployWebsite\", {\n destinationBucket: websiteBucket,\n sources: [websiteBundle],\n});\n```\n\n### Amazon CloudWatch Synthetics: Canary monitoring\n\n> 💡 See [Monitored Website](examples/website) for a complete working example of a deployed and monitored website.\n\nSynthetics runs a canary to produce traffic to an application for monitoring purposes. Use `TypeScriptCode` as the `code` of a Canary test:\n\n> ℹ️ 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.\n>\n> ```\n> npm i @aws-cdk/aws-synthetics-alpha\n> ```\n\n```ts\nimport * as synthetics from \"@aws-cdk/aws-synthetics-alpha\";\nimport { TypeScriptCode } from \"@mrgrain/cdk-esbuild\";\n\nconst bundledCode = new TypeScriptCode(\"src/index.ts\", {\n buildOptions: {\n outdir: \"nodejs/node_modules\", // This is required by Synthetics\n },\n});\n\nconst canary = new synthetics.Canary(stack, \"MyCanary\", {\n runtime: synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_3_2,\n test: synthetics.Test.custom({\n code: bundledCode,\n handler: \"index.handler\",\n });\n});\n```\n\n## Documentation\n\nThe 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.\n\nFor 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)):\n\n- `TypeScriptCode` & `JavaScriptCode`\n\nInline code is only supported by **Lambda**:\n\n- `InlineTypeScriptCode` & `InlineJavaScriptCode`\n- `InlineTsxCode` & `InlineJsxCode`\n\nFor use with **S3 bucket deployments**, classes implementing `s3deploy.ISource` ([reference](https://docs.aws.amazon.com/cdk/api/latest/docs/aws-s3-deployment-readme.html)):\n\n- `TypeScriptSource` & `JavaScriptSource`\n\n> _Code and Source constructs seamlessly plug-in to other high-level CDK constructs. They share the same set of parameters, props and build options._\n\nThe following classes power the other features. You normally won't have to use them, but they are there if you need them:\n\n- `TypeScriptAsset` & `JavaScriptAsset` implements `s3.Asset` ([reference](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3_assets.Asset.html)) \\\n creates an asset uploaded to S3 which can be referenced by other constructs\n\n- `EsbuildBundler` implements `core.BundlingOptions` ([reference](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.BundlingOptions.html)) \\\n provides an interface for a _esbuild_ bundler wherever needed\n\n### [API Reference](API.md)\n\nAuto-generated reference for classes and structs. This information is also available as part of your IDE's code completion.\n\n### Escape hatches\n\nIt's possible that you want to use an implementation of esbuild that's different to the default one. Common reasons are:\n\n- The current version constraints for esbuild are not suitable\n- To use a version of esbuild that is installed by any other means than `npm`, including Docker\n- Plugin support is needed for building\n\nFor these situations, this package offers an escape hatch to bypass regular the implementation and provide a custom build and transform function.\n\n#### Esbuild binary path\n\nIt is possible to override the binary used by esbuild. The usual way to do this is to set the `ESBUILD_BINARY_PATH` environment variable. For convenience this package allows to set the binary path as a prop:\n\n```ts\nnew TypeScriptCode(\"fixtures/handlers/ts-handler.ts\", {\n esbuildBinaryPath: \"path/to/esbuild/binary\"\n});\n```\n\n#### Custom build function\n\n> 💡 See [Using esbuild with plugins](examples/esbuild-with-plugins) for a complete working example of a custom build function using this escape hatch.\n\nConstructs that result in starting a build, take a `buildFn` as optional prop. While the defined type for this function is `any`, it must implement the same signature as esbuild's `buildSync` function.\n\n```ts\nnew TypeScriptCode(\"fixtures/handlers/ts-handler.ts\", {\n buildFn: (options: BuildOptions): BuildResult => {\n try {\n // custom implementation returning BuildResult\n } catch (error) {\n // throw BuildFailure exception here\n }\n },\n});\n```\n\nInstead of esbuild, the provided function will be invoked with the calculated build options. The custom build function can amend, change or discard any of these. However integration with CDK relies heavily on the values `outdir`/`outfile` are set to and it's usually required to use them unchanged.\n\nFailures have to cause a `BuildFailure` exception in order to be fully handled.\n\n#### Custom transform function\n\nConstructs that result in starting a transformation, take a `transformFn` as optional prop. While the defined type for this function is `any`, it must implement the same signature as esbuild's `transformSync` function.\n\n```ts\nnew InlineTypeScriptCode(\"let x: number = 1\", {\n transformFn: (options: TransformOptions): TransformResult => {\n try {\n // custom implementation returning TransformResult\n } catch (error) {\n // throw TransformFailure exception here\n }\n },,\n});\n```\n\nInstead of esbuild, the provided function will be invoked with the calculated transform options. The custom transform function can amend, change or discard any of these.\n\nFailures have to cause a `TransformFailure` exception in order to be fully handled.\n\n### Upgrading from AWS CDK v1\n\nThis 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).\n\nTo upgrade from AWS CDK v1 and cdk-esbuild@v2, please follow these steps:\n\n- This version requires AWS CDK v2. Follow the [official migration guide](https://docs.aws.amazon.com/cdk/latest/guide/work-with-cdk-v2.html) to upgrade.\n- Update the package dependency to v3: `npm install --save @mrgrain/cdk-esbuild@^3.0.0`\n- `esbuild` is installed as an optional dependency. If your setup does not automatically install optional dependencies, make sure to add it as an explicit dependency.\n- Any use of `InlineCode` variations has to be updated. Previously the second parameter was either of type `TransformerProps` or `TransformOptions`. Now it must be `TransformerProps`.\\\n If the passed value is of type `TransformOptions`, turn it into the correct type like this:\n\n ```ts\n const oldOptions: TransformOptions = {...}\n\n new InlineTypeScriptCode('// inline code', {\n transformOptions: oldOptions\n });\n ```\n\n## Versioning\n\nThis package follows [Semantic Versioning](https://semver.org/), with the exception of upgrades to `esbuild`. These will be released as **minor versions** and often include breaking changes from `esbuild`.\n\n### Npm Tags\n\nSome users prefer to use tags over version ranges. The following stable tags are available for use:\n\n- `cdk-v1`, `cdk-v2` are provided for the latest release compatible with each version of the AWS CDK.\n\n- `latest` is the most recent stable release.\n\nThese tags also exist, but usage is strongly not recommended:\n\n- `unstable`, `next` are used for pre-release of the current and next major version respectively.\n\n- ~~`cdk-1.x.x`~~ tags have been deprecated in favour of `cdk-v1`. Use that one instead.\n\n## Roadmap & Contributions\n\n[The project's roadmap is available on GitHub.](https://github.com/mrgrain/cdk-esbuild/projects/1) Please submit any feature requests as issues to the repository.\n\nAll contributions are welcome, no matter if they are for already planned or completely new features.\n\n## Library authors\n\nBuilding a library consumed by other packages that relies on `cdk-esbuild` might require you to set `buildOptions.absWorkingDir`. The easiest way to do this, is to resolve based on the directory name of the calling file, and traverse the tree upwards to the root of your library package (that's where `package.json` and `tsconfig.json` are):\n\n```ts\n// file: project/src/index.ts\nconst props = {\n buildOptions: {\n absWorkingDir: path.resolve(__dirname, \"..\"), // now: /user/project\n },\n};\n```\n\nThis will dynamically resolve to the correct path, wherever the package is installed.\n\nPlease open an issue if you encounter any difficulties.\n"
2803
+ "markdown": "<picture>\n <source media=\"(prefers-color-scheme: dark)\" srcset=\"./images/wordmark-dark.svg\">\n <source media=\"(prefers-color-scheme: light)\" srcset=\"./images/wordmark-light.svg\">\n <img src=\"./images/wordmark.svg\" alt=\"cdk-esbuild\">\n</picture>\n\n_CDK constructs for [esbuild](https://github.com/evanw/esbuild), an extremely fast JavaScript bundler_\n\n[Getting started](#getting-started) |\n[Documentation](#documentation) | [API Reference](#api-reference) | [Upgrading from AWS CDK v1](#upgrading-from-aws-cdk-v1)\n\n[![View on Construct Hub](https://constructs.dev/badge?package=%40mrgrain%2Fcdk-esbuild)](https://constructs.dev/packages/@mrgrain/cdk-esbuild)\n\n## Why?\n\n_esbuild_ is an extremely fast bundler and minifier for Typescript and JavaScript.\nThis package makes _esbuild_ available to deploy lambda functions, static websites or to publish build artefacts (assets) for further use.\n\nAWS CDK [supports _esbuild_ with Lambda Functions](https://docs.aws.amazon.com/cdk/api/latest/docs/aws-lambda-nodejs-readme.html). However the implementation cannot be used with any other Constructs and doesn't expose all of _esbuild_'s build interface.\n\nThis package is running _esbuild_ directly in Node.js and bypasses Docker which the AWS CDK implementation uses. The approach is quicker and easier to use for Node.js users, but incompatible with other languages.\n\n**Production readiness**\n\nThis package is stable and ready to be used in production, as many do. However _esbuild_ has not yet released a version 1.0.0 and its API is still in active development. Please read the guide on [esbuild's production readiness](https://esbuild.github.io/faq/#production-readiness).\n\nNotably upgrades of the _esbuild_ minimum version requirement will be introduced in **minor versions** of this package and will inherit breaking changes from _esbuild_.\n\n## Getting started\n\nInstall `cdk-esbuild`:\n\n```\nnpm install @mrgrain/cdk-esbuild@3\n```\n\nIf _peer_ or _optional dependencies_ are not installed automatically (e.g. when using npm v4-6), please use this command to install all of them:\n\n```\nnpm install @mrgrain/cdk-esbuild@3 esbuild\n```\n\n### AWS Lambda: Serverless function\n\n> 💡 See [Lambda Function](examples/lambda) for a complete working example of a how to deploy a lambda function.\n\nUse `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):\n\n```ts\nimport * as lambda from \"aws-cdk-lib/aws-lambda\";\nimport { TypeScriptCode } from \"@mrgrain/cdk-esbuild\";\n\nconst bundledCode = new TypeScriptCode(\"src/index.ts\");\n\nconst fn = new lambda.Function(stack, \"MyFunction\", {\n runtime: lambda.Runtime.NODEJS_16_X,\n handler: \"index.handler\",\n code: bundledCode,\n});\n```\n\n### AWS S3: Static Website\n\n> 💡 See [Static Website with React](examples/website) for a complete working example of a how to deploy a React app to S3.\n\nUse `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):\n\n```ts\nimport * as s3 from \"aws-cdk-lib/aws-s3\";\nimport * as s3deploy from \"aws-cdk-lib/aws-s3-deployment\";\nimport { TypeScriptSource } from \"@mrgrain/cdk-esbuild\";\n\nconst websiteBundle = new TypeScriptSource(\"src/index.tsx\");\n\nconst websiteBucket = new s3.Bucket(stack, \"WebsiteBucket\", {\n autoDeleteObjects: true,\n publicReadAccess: true,\n removalPolicy: RemovalPolicy.DESTROY,\n websiteIndexDocument: \"index.html\",\n});\n\nnew s3deploy.BucketDeployment(stack, \"DeployWebsite\", {\n destinationBucket: websiteBucket,\n sources: [websiteBundle],\n});\n```\n\n### Amazon CloudWatch Synthetics: Canary monitoring\n\n> 💡 See [Monitored Website](examples/website) for a complete working example of a deployed and monitored website.\n\nSynthetics runs a canary to produce traffic to an application for monitoring purposes. Use `TypeScriptCode` as the `code` of a Canary test:\n\n> ℹ️ 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.\n>\n> ```\n> npm i @aws-cdk/aws-synthetics-alpha\n> ```\n\n```ts\nimport * as synthetics from \"@aws-cdk/aws-synthetics-alpha\";\nimport { TypeScriptCode } from \"@mrgrain/cdk-esbuild\";\n\nconst bundledCode = new TypeScriptCode(\"src/index.ts\", {\n buildOptions: {\n outdir: \"nodejs/node_modules\", // This is required by Synthetics\n },\n});\n\nconst canary = new synthetics.Canary(stack, \"MyCanary\", {\n runtime: synthetics.Runtime.SYNTHETICS_NODEJS_PUPPETEER_3_2,\n test: synthetics.Test.custom({\n code: bundledCode,\n handler: \"index.handler\",\n });\n});\n```\n\n## Documentation\n\nThe 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.\n\nFor 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)):\n\n- `TypeScriptCode` & `JavaScriptCode`\n\nInline code is only supported by **Lambda**:\n\n- `InlineTypeScriptCode` & `InlineJavaScriptCode`\n- `InlineTsxCode` & `InlineJsxCode`\n\nFor use with **S3 bucket deployments**, classes implementing `s3deploy.ISource` ([reference](https://docs.aws.amazon.com/cdk/api/latest/docs/aws-s3-deployment-readme.html)):\n\n- `TypeScriptSource` & `JavaScriptSource`\n\n> _Code and Source constructs seamlessly plug-in to other high-level CDK constructs. They share the same set of parameters, props and build options._\n\nThe following classes power the other features. You normally won't have to use them, but they are there if you need them:\n\n- `TypeScriptAsset` & `JavaScriptAsset` implements `s3.Asset` ([reference](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3_assets.Asset.html)) \\\n creates an asset uploaded to S3 which can be referenced by other constructs\n\n- `EsbuildBundler` implements `core.BundlingOptions` ([reference](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.BundlingOptions.html)) \\\n provides an interface for a _esbuild_ bundler wherever needed\n\n### [API Reference](API.md)\n\nAuto-generated reference for classes and structs. This information is also available as part of your IDE's code completion.\n\n### Escape hatches\n\nIt's possible that you want to use an implementation of esbuild that's different to the default one. Common reasons are:\n\n- The current version constraints for esbuild are not suitable\n- To use a version of esbuild that is installed by any other means than `npm`, including Docker\n- Plugin support is needed for building\n\nFor these situations, this package offers an escape hatch to bypass regular the implementation and provide a custom build and transform function.\n\n#### Esbuild binary path\n\nIt is possible to override the binary used by esbuild. The usual way to do this is to set the `ESBUILD_BINARY_PATH` environment variable. For convenience this package allows to set the binary path as a prop:\n\n```ts\nnew TypeScriptCode(\"fixtures/handlers/ts-handler.ts\", {\n esbuildBinaryPath: \"path/to/esbuild/binary\"\n});\n```\n\n#### Custom build function\n\n> 💡 See [Using esbuild with plugins](examples/esbuild-with-plugins) for a complete working example of a custom build function using this escape hatch.\n\nConstructs that result in starting a build, take a `buildFn` as optional prop. While the defined type for this function is `any`, it must implement the same signature as esbuild's `buildSync` function.\n\n```ts\nnew TypeScriptCode(\"fixtures/handlers/ts-handler.ts\", {\n buildFn: (options: BuildOptions): BuildResult => {\n try {\n // custom implementation returning BuildResult\n } catch (error) {\n // throw BuildFailure exception here\n }\n },\n});\n```\n\nInstead of esbuild, the provided function will be invoked with the calculated build options. The custom build function can amend, change or discard any of these. However integration with CDK relies heavily on the values `outdir`/`outfile` are set to and it's usually required to use them unchanged.\n\nFailures have to cause a `BuildFailure` exception in order to be fully handled.\n\n#### Custom transform function\n\nConstructs that result in starting a transformation, take a `transformFn` as optional prop. While the defined type for this function is `any`, it must implement the same signature as esbuild's `transformSync` function.\n\n```ts\nnew InlineTypeScriptCode(\"let x: number = 1\", {\n transformFn: (options: TransformOptions): TransformResult => {\n try {\n // custom implementation returning TransformResult\n } catch (error) {\n // throw TransformFailure exception here\n }\n },,\n});\n```\n\nInstead of esbuild, the provided function will be invoked with the calculated transform options. The custom transform function can amend, change or discard any of these.\n\nFailures have to cause a `TransformFailure` exception in order to be fully handled.\n\n### Upgrading from AWS CDK v1\n\nThis 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).\n\nTo upgrade from AWS CDK v1 and cdk-esbuild@v2, please follow these steps:\n\n- This version requires AWS CDK v2. Follow the [official migration guide](https://docs.aws.amazon.com/cdk/latest/guide/work-with-cdk-v2.html) to upgrade.\n- Update the package dependency to v3: `npm install --save @mrgrain/cdk-esbuild@^3.0.0`\n- `esbuild` is installed as an optional dependency. If your setup does not automatically install optional dependencies, make sure to add it as an explicit dependency.\n- Any use of `InlineCode` variations has to be updated. Previously the second parameter was either of type `TransformerProps` or `TransformOptions`. Now it must be `TransformerProps`.\\\n If the passed value is of type `TransformOptions`, turn it into the correct type like this:\n\n ```ts\n const oldOptions: TransformOptions = {...}\n\n new InlineTypeScriptCode('// inline code', {\n transformOptions: oldOptions\n });\n ```\n\n## Versioning\n\nThis package follows [Semantic Versioning](https://semver.org/), with the exception of upgrades to `esbuild`. These will be released as **minor versions** and often include breaking changes from `esbuild`.\n\n### Npm Tags\n\nSome users prefer to use tags over version ranges. The following stable tags are available for use:\n\n- `cdk-v1`, `cdk-v2` are provided for the latest release compatible with each version of the AWS CDK.\n\n- `latest` is the most recent stable release.\n\nThese tags also exist, but usage is strongly not recommended:\n\n- `unstable`, `next` are used for pre-release of the current and next major version respectively.\n\n- ~~`cdk-1.x.x`~~ tags have been deprecated in favour of `cdk-v1`. Use that one instead.\n\n## Roadmap & Contributions\n\n[The project's roadmap is available on GitHub.](https://github.com/mrgrain/cdk-esbuild/projects/1) Please submit any feature requests as issues to the repository.\n\nAll contributions are welcome, no matter if they are for already planned or completely new features.\n\n## Library authors\n\nBuilding a library consumed by other packages that relies on `cdk-esbuild` might require you to set `buildOptions.absWorkingDir`. The easiest way to do this, is to resolve based on the directory name of the calling file, and traverse the tree upwards to the root of your library package (that's where `package.json` and `tsconfig.json` are):\n\n```ts\n// file: project/src/index.ts\nconst props = {\n buildOptions: {\n absWorkingDir: path.resolve(__dirname, \"..\"), // now: /user/project\n },\n};\n```\n\nThis will dynamically resolve to the correct path, wherever the package is installed.\n\nPlease open an issue if you encounter any difficulties.\n"
2804
2804
  },
2805
2805
  "repository": {
2806
2806
  "type": "git",
@@ -2900,7 +2900,7 @@
2900
2900
  "kind": "interface",
2901
2901
  "locationInModule": {
2902
2902
  "filename": "src/esbuild-types.ts",
2903
- "line": 78
2903
+ "line": 84
2904
2904
  },
2905
2905
  "name": "BuildOptions",
2906
2906
  "properties": [
@@ -2913,7 +2913,7 @@
2913
2913
  "immutable": true,
2914
2914
  "locationInModule": {
2915
2915
  "filename": "src/esbuild-types.ts",
2916
- "line": 130
2916
+ "line": 134
2917
2917
  },
2918
2918
  "name": "absWorkingDir",
2919
2919
  "optional": true,
@@ -2930,7 +2930,7 @@
2930
2930
  "immutable": true,
2931
2931
  "locationInModule": {
2932
2932
  "filename": "src/esbuild-types.ts",
2933
- "line": 108
2933
+ "line": 112
2934
2934
  },
2935
2935
  "name": "allowOverwrite",
2936
2936
  "optional": true,
@@ -2947,7 +2947,7 @@
2947
2947
  "immutable": true,
2948
2948
  "locationInModule": {
2949
2949
  "filename": "src/esbuild-types.ts",
2950
- "line": 120
2950
+ "line": 124
2951
2951
  },
2952
2952
  "name": "assetNames",
2953
2953
  "optional": true,
@@ -2964,7 +2964,7 @@
2964
2964
  "immutable": true,
2965
2965
  "locationInModule": {
2966
2966
  "filename": "src/esbuild-types.ts",
2967
- "line": 124
2967
+ "line": 128
2968
2968
  },
2969
2969
  "name": "banner",
2970
2970
  "optional": true,
@@ -2986,7 +2986,7 @@
2986
2986
  "immutable": true,
2987
2987
  "locationInModule": {
2988
2988
  "filename": "src/esbuild-types.ts",
2989
- "line": 80
2989
+ "line": 86
2990
2990
  },
2991
2991
  "name": "bundle",
2992
2992
  "optional": true,
@@ -3003,7 +3003,7 @@
3003
3003
  "immutable": true,
3004
3004
  "locationInModule": {
3005
3005
  "filename": "src/esbuild-types.ts",
3006
- "line": 48
3006
+ "line": 50
3007
3007
  },
3008
3008
  "name": "charset",
3009
3009
  "optional": true,
@@ -3020,7 +3020,7 @@
3020
3020
  "immutable": true,
3021
3021
  "locationInModule": {
3022
3022
  "filename": "src/esbuild-types.ts",
3023
- "line": 118
3023
+ "line": 122
3024
3024
  },
3025
3025
  "name": "chunkNames",
3026
3026
  "optional": true,
@@ -3037,7 +3037,7 @@
3037
3037
  "immutable": true,
3038
3038
  "locationInModule": {
3039
3039
  "filename": "src/esbuild-types.ts",
3040
- "line": 69
3040
+ "line": 75
3041
3041
  },
3042
3042
  "name": "color",
3043
3043
  "optional": true,
@@ -3054,7 +3054,7 @@
3054
3054
  "immutable": true,
3055
3055
  "locationInModule": {
3056
3056
  "filename": "src/esbuild-types.ts",
3057
- "line": 104
3057
+ "line": 108
3058
3058
  },
3059
3059
  "name": "conditions",
3060
3060
  "optional": true,
@@ -3076,7 +3076,7 @@
3076
3076
  "immutable": true,
3077
3077
  "locationInModule": {
3078
3078
  "filename": "src/esbuild-types.ts",
3079
- "line": 62
3079
+ "line": 68
3080
3080
  },
3081
3081
  "name": "define",
3082
3082
  "optional": true,
@@ -3098,7 +3098,7 @@
3098
3098
  "immutable": true,
3099
3099
  "locationInModule": {
3100
3100
  "filename": "src/esbuild-types.ts",
3101
- "line": 38
3101
+ "line": 40
3102
3102
  },
3103
3103
  "name": "drop",
3104
3104
  "optional": true,
@@ -3120,7 +3120,7 @@
3120
3120
  "immutable": true,
3121
3121
  "locationInModule": {
3122
3122
  "filename": "src/esbuild-types.ts",
3123
- "line": 116
3123
+ "line": 120
3124
3124
  },
3125
3125
  "name": "entryNames",
3126
3126
  "optional": true,
@@ -3137,7 +3137,7 @@
3137
3137
  "immutable": true,
3138
3138
  "locationInModule": {
3139
3139
  "filename": "src/esbuild-types.ts",
3140
- "line": 96
3140
+ "line": 100
3141
3141
  },
3142
3142
  "name": "external",
3143
3143
  "optional": true,
@@ -3159,7 +3159,7 @@
3159
3159
  "immutable": true,
3160
3160
  "locationInModule": {
3161
3161
  "filename": "src/esbuild-types.ts",
3162
- "line": 126
3162
+ "line": 130
3163
3163
  },
3164
3164
  "name": "footer",
3165
3165
  "optional": true,
@@ -3215,7 +3215,7 @@
3215
3215
  "immutable": true,
3216
3216
  "locationInModule": {
3217
3217
  "filename": "src/esbuild-types.ts",
3218
- "line": 52
3218
+ "line": 54
3219
3219
  },
3220
3220
  "name": "ignoreAnnotations",
3221
3221
  "optional": true,
@@ -3232,7 +3232,7 @@
3232
3232
  "immutable": true,
3233
3233
  "locationInModule": {
3234
3234
  "filename": "src/esbuild-types.ts",
3235
- "line": 128
3235
+ "line": 132
3236
3236
  },
3237
3237
  "name": "incremental",
3238
3238
  "optional": true,
@@ -3249,7 +3249,7 @@
3249
3249
  "immutable": true,
3250
3250
  "locationInModule": {
3251
3251
  "filename": "src/esbuild-types.ts",
3252
- "line": 122
3252
+ "line": 126
3253
3253
  },
3254
3254
  "name": "inject",
3255
3255
  "optional": true,
@@ -3271,7 +3271,7 @@
3271
3271
  "immutable": true,
3272
3272
  "locationInModule": {
3273
3273
  "filename": "src/esbuild-types.ts",
3274
- "line": 55
3274
+ "line": 57
3275
3275
  },
3276
3276
  "name": "jsx",
3277
3277
  "optional": true,
@@ -3279,6 +3279,23 @@
3279
3279
  "primitive": "string"
3280
3280
  }
3281
3281
  },
3282
+ {
3283
+ "abstract": true,
3284
+ "docs": {
3285
+ "stability": "stable",
3286
+ "summary": "Documentation: https://esbuild.github.io/api/#jsx-development."
3287
+ },
3288
+ "immutable": true,
3289
+ "locationInModule": {
3290
+ "filename": "src/esbuild-types.ts",
3291
+ "line": 65
3292
+ },
3293
+ "name": "jsxDev",
3294
+ "optional": true,
3295
+ "type": {
3296
+ "primitive": "boolean"
3297
+ }
3298
+ },
3282
3299
  {
3283
3300
  "abstract": true,
3284
3301
  "docs": {
@@ -3288,7 +3305,7 @@
3288
3305
  "immutable": true,
3289
3306
  "locationInModule": {
3290
3307
  "filename": "src/esbuild-types.ts",
3291
- "line": 57
3308
+ "line": 59
3292
3309
  },
3293
3310
  "name": "jsxFactory",
3294
3311
  "optional": true,
@@ -3305,7 +3322,7 @@
3305
3322
  "immutable": true,
3306
3323
  "locationInModule": {
3307
3324
  "filename": "src/esbuild-types.ts",
3308
- "line": 59
3325
+ "line": 61
3309
3326
  },
3310
3327
  "name": "jsxFragment",
3311
3328
  "optional": true,
@@ -3313,6 +3330,23 @@
3313
3330
  "primitive": "string"
3314
3331
  }
3315
3332
  },
3333
+ {
3334
+ "abstract": true,
3335
+ "docs": {
3336
+ "stability": "stable",
3337
+ "summary": "Documentation: https://esbuild.github.io/api/#jsx-import-source."
3338
+ },
3339
+ "immutable": true,
3340
+ "locationInModule": {
3341
+ "filename": "src/esbuild-types.ts",
3342
+ "line": 63
3343
+ },
3344
+ "name": "jsxImportSource",
3345
+ "optional": true,
3346
+ "type": {
3347
+ "primitive": "string"
3348
+ }
3349
+ },
3316
3350
  {
3317
3351
  "abstract": true,
3318
3352
  "docs": {
@@ -3322,7 +3356,7 @@
3322
3356
  "immutable": true,
3323
3357
  "locationInModule": {
3324
3358
  "filename": "src/esbuild-types.ts",
3325
- "line": 66
3359
+ "line": 72
3326
3360
  },
3327
3361
  "name": "keepNames",
3328
3362
  "optional": true,
@@ -3356,7 +3390,7 @@
3356
3390
  "immutable": true,
3357
3391
  "locationInModule": {
3358
3392
  "filename": "src/esbuild-types.ts",
3359
- "line": 98
3393
+ "line": 102
3360
3394
  },
3361
3395
  "name": "loader",
3362
3396
  "optional": true,
@@ -3378,7 +3412,7 @@
3378
3412
  "immutable": true,
3379
3413
  "locationInModule": {
3380
3414
  "filename": "src/esbuild-types.ts",
3381
- "line": 71
3415
+ "line": 77
3382
3416
  },
3383
3417
  "name": "logLevel",
3384
3418
  "optional": true,
@@ -3395,7 +3429,7 @@
3395
3429
  "immutable": true,
3396
3430
  "locationInModule": {
3397
3431
  "filename": "src/esbuild-types.ts",
3398
- "line": 73
3432
+ "line": 79
3399
3433
  },
3400
3434
  "name": "logLimit",
3401
3435
  "optional": true,
@@ -3412,7 +3446,7 @@
3412
3446
  "immutable": true,
3413
3447
  "locationInModule": {
3414
3448
  "filename": "src/esbuild-types.ts",
3415
- "line": 75
3449
+ "line": 81
3416
3450
  },
3417
3451
  "name": "logOverride",
3418
3452
  "optional": true,
@@ -3434,7 +3468,7 @@
3434
3468
  "immutable": true,
3435
3469
  "locationInModule": {
3436
3470
  "filename": "src/esbuild-types.ts",
3437
- "line": 102
3471
+ "line": 106
3438
3472
  },
3439
3473
  "name": "mainFields",
3440
3474
  "optional": true,
@@ -3456,7 +3490,7 @@
3456
3490
  "immutable": true,
3457
3491
  "locationInModule": {
3458
3492
  "filename": "src/esbuild-types.ts",
3459
- "line": 36
3493
+ "line": 38
3460
3494
  },
3461
3495
  "name": "mangleCache",
3462
3496
  "optional": true,
@@ -3487,7 +3521,7 @@
3487
3521
  "immutable": true,
3488
3522
  "locationInModule": {
3489
3523
  "filename": "src/esbuild-types.ts",
3490
- "line": 30
3524
+ "line": 32
3491
3525
  },
3492
3526
  "name": "mangleProps",
3493
3527
  "optional": true,
@@ -3504,7 +3538,7 @@
3504
3538
  "immutable": true,
3505
3539
  "locationInModule": {
3506
3540
  "filename": "src/esbuild-types.ts",
3507
- "line": 34
3541
+ "line": 36
3508
3542
  },
3509
3543
  "name": "mangleQuoted",
3510
3544
  "optional": true,
@@ -3521,7 +3555,7 @@
3521
3555
  "immutable": true,
3522
3556
  "locationInModule": {
3523
3557
  "filename": "src/esbuild-types.ts",
3524
- "line": 88
3558
+ "line": 94
3525
3559
  },
3526
3560
  "name": "metafile",
3527
3561
  "optional": true,
@@ -3538,7 +3572,7 @@
3538
3572
  "immutable": true,
3539
3573
  "locationInModule": {
3540
3574
  "filename": "src/esbuild-types.ts",
3541
- "line": 40
3575
+ "line": 42
3542
3576
  },
3543
3577
  "name": "minify",
3544
3578
  "optional": true,
@@ -3555,7 +3589,7 @@
3555
3589
  "immutable": true,
3556
3590
  "locationInModule": {
3557
3591
  "filename": "src/esbuild-types.ts",
3558
- "line": 44
3592
+ "line": 46
3559
3593
  },
3560
3594
  "name": "minifyIdentifiers",
3561
3595
  "optional": true,
@@ -3572,7 +3606,7 @@
3572
3606
  "immutable": true,
3573
3607
  "locationInModule": {
3574
3608
  "filename": "src/esbuild-types.ts",
3575
- "line": 46
3609
+ "line": 48
3576
3610
  },
3577
3611
  "name": "minifySyntax",
3578
3612
  "optional": true,
@@ -3589,7 +3623,7 @@
3589
3623
  "immutable": true,
3590
3624
  "locationInModule": {
3591
3625
  "filename": "src/esbuild-types.ts",
3592
- "line": 42
3626
+ "line": 44
3593
3627
  },
3594
3628
  "name": "minifyWhitespace",
3595
3629
  "optional": true,
@@ -3606,7 +3640,7 @@
3606
3640
  "immutable": true,
3607
3641
  "locationInModule": {
3608
3642
  "filename": "src/esbuild-types.ts",
3609
- "line": 132
3643
+ "line": 136
3610
3644
  },
3611
3645
  "name": "nodePaths",
3612
3646
  "optional": true,
@@ -3628,7 +3662,7 @@
3628
3662
  "immutable": true,
3629
3663
  "locationInModule": {
3630
3664
  "filename": "src/esbuild-types.ts",
3631
- "line": 92
3665
+ "line": 98
3632
3666
  },
3633
3667
  "name": "outbase",
3634
3668
  "optional": true,
@@ -3645,7 +3679,7 @@
3645
3679
  "immutable": true,
3646
3680
  "locationInModule": {
3647
3681
  "filename": "src/esbuild-types.ts",
3648
- "line": 90
3682
+ "line": 96
3649
3683
  },
3650
3684
  "name": "outdir",
3651
3685
  "optional": true,
@@ -3662,7 +3696,7 @@
3662
3696
  "immutable": true,
3663
3697
  "locationInModule": {
3664
3698
  "filename": "src/esbuild-types.ts",
3665
- "line": 112
3699
+ "line": 116
3666
3700
  },
3667
3701
  "name": "outExtension",
3668
3702
  "optional": true,
@@ -3684,7 +3718,7 @@
3684
3718
  "immutable": true,
3685
3719
  "locationInModule": {
3686
3720
  "filename": "src/esbuild-types.ts",
3687
- "line": 86
3721
+ "line": 92
3688
3722
  },
3689
3723
  "name": "outfile",
3690
3724
  "optional": true,
@@ -3701,7 +3735,7 @@
3701
3735
  "immutable": true,
3702
3736
  "locationInModule": {
3703
3737
  "filename": "src/esbuild-types.ts",
3704
- "line": 94
3738
+ "line": 29
3705
3739
  },
3706
3740
  "name": "platform",
3707
3741
  "optional": true,
@@ -3718,7 +3752,7 @@
3718
3752
  "immutable": true,
3719
3753
  "locationInModule": {
3720
3754
  "filename": "src/esbuild-types.ts",
3721
- "line": 84
3755
+ "line": 90
3722
3756
  },
3723
3757
  "name": "preserveSymlinks",
3724
3758
  "optional": true,
@@ -3735,7 +3769,7 @@
3735
3769
  "immutable": true,
3736
3770
  "locationInModule": {
3737
3771
  "filename": "src/esbuild-types.ts",
3738
- "line": 114
3772
+ "line": 118
3739
3773
  },
3740
3774
  "name": "publicPath",
3741
3775
  "optional": true,
@@ -3752,7 +3786,7 @@
3752
3786
  "immutable": true,
3753
3787
  "locationInModule": {
3754
3788
  "filename": "src/esbuild-types.ts",
3755
- "line": 64
3789
+ "line": 70
3756
3790
  },
3757
3791
  "name": "pure",
3758
3792
  "optional": true,
@@ -3774,7 +3808,7 @@
3774
3808
  "immutable": true,
3775
3809
  "locationInModule": {
3776
3810
  "filename": "src/esbuild-types.ts",
3777
- "line": 32
3811
+ "line": 34
3778
3812
  },
3779
3813
  "name": "reserveProps",
3780
3814
  "optional": true,
@@ -3791,7 +3825,7 @@
3791
3825
  "immutable": true,
3792
3826
  "locationInModule": {
3793
3827
  "filename": "src/esbuild-types.ts",
3794
- "line": 100
3828
+ "line": 104
3795
3829
  },
3796
3830
  "name": "resolveExtensions",
3797
3831
  "optional": true,
@@ -3873,7 +3907,7 @@
3873
3907
  "immutable": true,
3874
3908
  "locationInModule": {
3875
3909
  "filename": "src/esbuild-types.ts",
3876
- "line": 82
3910
+ "line": 88
3877
3911
  },
3878
3912
  "name": "splitting",
3879
3913
  "optional": true,
@@ -3943,7 +3977,7 @@
3943
3977
  "immutable": true,
3944
3978
  "locationInModule": {
3945
3979
  "filename": "src/esbuild-types.ts",
3946
- "line": 50
3980
+ "line": 52
3947
3981
  },
3948
3982
  "name": "treeShaking",
3949
3983
  "optional": true,
@@ -3960,7 +3994,7 @@
3960
3994
  "immutable": true,
3961
3995
  "locationInModule": {
3962
3996
  "filename": "src/esbuild-types.ts",
3963
- "line": 110
3997
+ "line": 114
3964
3998
  },
3965
3999
  "name": "tsconfig",
3966
4000
  "optional": true,
@@ -3977,7 +4011,7 @@
3977
4011
  "immutable": true,
3978
4012
  "locationInModule": {
3979
4013
  "filename": "src/esbuild-types.ts",
3980
- "line": 106
4014
+ "line": 110
3981
4015
  },
3982
4016
  "name": "write",
3983
4017
  "optional": true,
@@ -3998,7 +4032,7 @@
3998
4032
  "kind": "interface",
3999
4033
  "locationInModule": {
4000
4034
  "filename": "src/bundler.ts",
4001
- "line": 34
4035
+ "line": 33
4002
4036
  },
4003
4037
  "name": "BundlerProps",
4004
4038
  "properties": [
@@ -4018,7 +4052,7 @@
4018
4052
  "immutable": true,
4019
4053
  "locationInModule": {
4020
4054
  "filename": "src/bundler.ts",
4021
- "line": 90
4055
+ "line": 89
4022
4056
  },
4023
4057
  "name": "buildFn",
4024
4058
  "optional": true,
@@ -4037,7 +4071,7 @@
4037
4071
  "immutable": true,
4038
4072
  "locationInModule": {
4039
4073
  "filename": "src/bundler.ts",
4040
- "line": 53
4074
+ "line": 52
4041
4075
  },
4042
4076
  "name": "buildOptions",
4043
4077
  "optional": true,
@@ -4055,7 +4089,7 @@
4055
4089
  "immutable": true,
4056
4090
  "locationInModule": {
4057
4091
  "filename": "src/bundler.ts",
4058
- "line": 76
4092
+ "line": 75
4059
4093
  },
4060
4094
  "name": "copyDir",
4061
4095
  "optional": true,
@@ -4109,7 +4143,7 @@
4109
4143
  "immutable": true,
4110
4144
  "locationInModule": {
4111
4145
  "filename": "src/bundler.ts",
4112
- "line": 99
4146
+ "line": 98
4113
4147
  },
4114
4148
  "name": "esbuildBinaryPath",
4115
4149
  "optional": true,
@@ -4252,7 +4286,7 @@
4252
4286
  },
4253
4287
  "locationInModule": {
4254
4288
  "filename": "src/bundler.ts",
4255
- "line": 126
4289
+ "line": 125
4256
4290
  },
4257
4291
  "parameters": [
4258
4292
  {
@@ -4303,7 +4337,7 @@
4303
4337
  "kind": "class",
4304
4338
  "locationInModule": {
4305
4339
  "filename": "src/bundler.ts",
4306
- "line": 108
4340
+ "line": 107
4307
4341
  },
4308
4342
  "name": "EsbuildBundler",
4309
4343
  "properties": [
@@ -4316,7 +4350,7 @@
4316
4350
  "immutable": true,
4317
4351
  "locationInModule": {
4318
4352
  "filename": "src/bundler.ts",
4319
- "line": 143
4353
+ "line": 142
4320
4354
  },
4321
4355
  "name": "entryPoints",
4322
4356
  "type": {
@@ -4353,7 +4387,7 @@
4353
4387
  "immutable": true,
4354
4388
  "locationInModule": {
4355
4389
  "filename": "src/bundler.ts",
4356
- "line": 121
4390
+ "line": 120
4357
4391
  },
4358
4392
  "name": "image",
4359
4393
  "type": {
@@ -4368,7 +4402,7 @@
4368
4402
  "immutable": true,
4369
4403
  "locationInModule": {
4370
4404
  "filename": "src/bundler.ts",
4371
- "line": 114
4405
+ "line": 113
4372
4406
  },
4373
4407
  "name": "local",
4374
4408
  "type": {
@@ -4383,7 +4417,7 @@
4383
4417
  "immutable": true,
4384
4418
  "locationInModule": {
4385
4419
  "filename": "src/bundler.ts",
4386
- "line": 150
4420
+ "line": 149
4387
4421
  },
4388
4422
  "name": "props",
4389
4423
  "type": {
@@ -4650,7 +4684,7 @@
4650
4684
  },
4651
4685
  "locationInModule": {
4652
4686
  "filename": "src/inline-code.ts",
4653
- "line": 84
4687
+ "line": 122
4654
4688
  },
4655
4689
  "parameters": [
4656
4690
  {
@@ -4690,9 +4724,54 @@
4690
4724
  "kind": "class",
4691
4725
  "locationInModule": {
4692
4726
  "filename": "src/inline-code.ts",
4693
- "line": 83
4727
+ "line": 121
4694
4728
  },
4729
+ "methods": [
4730
+ {
4731
+ "docs": {
4732
+ "stability": "experimental",
4733
+ "summary": "Called when the lambda or layer is initialized to allow this object to bind to the stack, add resources and have fun."
4734
+ },
4735
+ "locationInModule": {
4736
+ "filename": "src/inline-code.ts",
4737
+ "line": 75
4738
+ },
4739
+ "name": "bind",
4740
+ "overrides": "aws-cdk-lib.aws_lambda.InlineCode",
4741
+ "parameters": [
4742
+ {
4743
+ "name": "scope",
4744
+ "type": {
4745
+ "fqn": "constructs.Construct"
4746
+ }
4747
+ }
4748
+ ],
4749
+ "returns": {
4750
+ "type": {
4751
+ "fqn": "aws-cdk-lib.aws_lambda.CodeConfig"
4752
+ }
4753
+ }
4754
+ }
4755
+ ],
4695
4756
  "name": "InlineJavaScriptCode",
4757
+ "properties": [
4758
+ {
4759
+ "docs": {
4760
+ "stability": "experimental",
4761
+ "summary": "Determines whether this Code is inline code or not."
4762
+ },
4763
+ "immutable": true,
4764
+ "locationInModule": {
4765
+ "filename": "src/inline-code.ts",
4766
+ "line": 43
4767
+ },
4768
+ "name": "isInline",
4769
+ "overrides": "aws-cdk-lib.aws_lambda.InlineCode",
4770
+ "type": {
4771
+ "primitive": "boolean"
4772
+ }
4773
+ }
4774
+ ],
4696
4775
  "symbolId": "src/inline-code:InlineJavaScriptCode"
4697
4776
  },
4698
4777
  "@mrgrain/cdk-esbuild.InlineJsxCode": {
@@ -4709,7 +4788,7 @@
4709
4788
  },
4710
4789
  "locationInModule": {
4711
4790
  "filename": "src/inline-code.ts",
4712
- "line": 115
4791
+ "line": 153
4713
4792
  },
4714
4793
  "parameters": [
4715
4794
  {
@@ -4749,9 +4828,54 @@
4749
4828
  "kind": "class",
4750
4829
  "locationInModule": {
4751
4830
  "filename": "src/inline-code.ts",
4752
- "line": 114
4831
+ "line": 152
4753
4832
  },
4833
+ "methods": [
4834
+ {
4835
+ "docs": {
4836
+ "stability": "experimental",
4837
+ "summary": "Called when the lambda or layer is initialized to allow this object to bind to the stack, add resources and have fun."
4838
+ },
4839
+ "locationInModule": {
4840
+ "filename": "src/inline-code.ts",
4841
+ "line": 75
4842
+ },
4843
+ "name": "bind",
4844
+ "overrides": "aws-cdk-lib.aws_lambda.InlineCode",
4845
+ "parameters": [
4846
+ {
4847
+ "name": "scope",
4848
+ "type": {
4849
+ "fqn": "constructs.Construct"
4850
+ }
4851
+ }
4852
+ ],
4853
+ "returns": {
4854
+ "type": {
4855
+ "fqn": "aws-cdk-lib.aws_lambda.CodeConfig"
4856
+ }
4857
+ }
4858
+ }
4859
+ ],
4754
4860
  "name": "InlineJsxCode",
4861
+ "properties": [
4862
+ {
4863
+ "docs": {
4864
+ "stability": "experimental",
4865
+ "summary": "Determines whether this Code is inline code or not."
4866
+ },
4867
+ "immutable": true,
4868
+ "locationInModule": {
4869
+ "filename": "src/inline-code.ts",
4870
+ "line": 43
4871
+ },
4872
+ "name": "isInline",
4873
+ "overrides": "aws-cdk-lib.aws_lambda.InlineCode",
4874
+ "type": {
4875
+ "primitive": "boolean"
4876
+ }
4877
+ }
4878
+ ],
4755
4879
  "symbolId": "src/inline-code:InlineJsxCode"
4756
4880
  },
4757
4881
  "@mrgrain/cdk-esbuild.InlineTsxCode": {
@@ -4768,7 +4892,7 @@
4768
4892
  },
4769
4893
  "locationInModule": {
4770
4894
  "filename": "src/inline-code.ts",
4771
- "line": 175
4895
+ "line": 213
4772
4896
  },
4773
4897
  "parameters": [
4774
4898
  {
@@ -4808,9 +4932,54 @@
4808
4932
  "kind": "class",
4809
4933
  "locationInModule": {
4810
4934
  "filename": "src/inline-code.ts",
4811
- "line": 174
4935
+ "line": 212
4812
4936
  },
4937
+ "methods": [
4938
+ {
4939
+ "docs": {
4940
+ "stability": "experimental",
4941
+ "summary": "Called when the lambda or layer is initialized to allow this object to bind to the stack, add resources and have fun."
4942
+ },
4943
+ "locationInModule": {
4944
+ "filename": "src/inline-code.ts",
4945
+ "line": 75
4946
+ },
4947
+ "name": "bind",
4948
+ "overrides": "aws-cdk-lib.aws_lambda.InlineCode",
4949
+ "parameters": [
4950
+ {
4951
+ "name": "scope",
4952
+ "type": {
4953
+ "fqn": "constructs.Construct"
4954
+ }
4955
+ }
4956
+ ],
4957
+ "returns": {
4958
+ "type": {
4959
+ "fqn": "aws-cdk-lib.aws_lambda.CodeConfig"
4960
+ }
4961
+ }
4962
+ }
4963
+ ],
4813
4964
  "name": "InlineTsxCode",
4965
+ "properties": [
4966
+ {
4967
+ "docs": {
4968
+ "stability": "experimental",
4969
+ "summary": "Determines whether this Code is inline code or not."
4970
+ },
4971
+ "immutable": true,
4972
+ "locationInModule": {
4973
+ "filename": "src/inline-code.ts",
4974
+ "line": 43
4975
+ },
4976
+ "name": "isInline",
4977
+ "overrides": "aws-cdk-lib.aws_lambda.InlineCode",
4978
+ "type": {
4979
+ "primitive": "boolean"
4980
+ }
4981
+ }
4982
+ ],
4814
4983
  "symbolId": "src/inline-code:InlineTsxCode"
4815
4984
  },
4816
4985
  "@mrgrain/cdk-esbuild.InlineTypeScriptCode": {
@@ -4827,7 +4996,7 @@
4827
4996
  },
4828
4997
  "locationInModule": {
4829
4998
  "filename": "src/inline-code.ts",
4830
- "line": 145
4999
+ "line": 183
4831
5000
  },
4832
5001
  "parameters": [
4833
5002
  {
@@ -4867,9 +5036,54 @@
4867
5036
  "kind": "class",
4868
5037
  "locationInModule": {
4869
5038
  "filename": "src/inline-code.ts",
4870
- "line": 144
5039
+ "line": 182
4871
5040
  },
5041
+ "methods": [
5042
+ {
5043
+ "docs": {
5044
+ "stability": "experimental",
5045
+ "summary": "Called when the lambda or layer is initialized to allow this object to bind to the stack, add resources and have fun."
5046
+ },
5047
+ "locationInModule": {
5048
+ "filename": "src/inline-code.ts",
5049
+ "line": 75
5050
+ },
5051
+ "name": "bind",
5052
+ "overrides": "aws-cdk-lib.aws_lambda.InlineCode",
5053
+ "parameters": [
5054
+ {
5055
+ "name": "scope",
5056
+ "type": {
5057
+ "fqn": "constructs.Construct"
5058
+ }
5059
+ }
5060
+ ],
5061
+ "returns": {
5062
+ "type": {
5063
+ "fqn": "aws-cdk-lib.aws_lambda.CodeConfig"
5064
+ }
5065
+ }
5066
+ }
5067
+ ],
4872
5068
  "name": "InlineTypeScriptCode",
5069
+ "properties": [
5070
+ {
5071
+ "docs": {
5072
+ "stability": "experimental",
5073
+ "summary": "Determines whether this Code is inline code or not."
5074
+ },
5075
+ "immutable": true,
5076
+ "locationInModule": {
5077
+ "filename": "src/inline-code.ts",
5078
+ "line": 43
5079
+ },
5080
+ "name": "isInline",
5081
+ "overrides": "aws-cdk-lib.aws_lambda.InlineCode",
5082
+ "type": {
5083
+ "primitive": "boolean"
5084
+ }
5085
+ }
5086
+ ],
4873
5087
  "symbolId": "src/inline-code:InlineTypeScriptCode"
4874
5088
  },
4875
5089
  "@mrgrain/cdk-esbuild.JavaScriptAsset": {
@@ -4913,7 +5127,7 @@
4913
5127
  "kind": "class",
4914
5128
  "locationInModule": {
4915
5129
  "filename": "src/asset.ts",
4916
- "line": 129
5130
+ "line": 126
4917
5131
  },
4918
5132
  "name": "JavaScriptAsset",
4919
5133
  "symbolId": "src/asset:JavaScriptAsset"
@@ -5262,7 +5476,7 @@
5262
5476
  "kind": "interface",
5263
5477
  "locationInModule": {
5264
5478
  "filename": "src/esbuild-types.ts",
5265
- "line": 240
5479
+ "line": 244
5266
5480
  },
5267
5481
  "name": "TransformOptions",
5268
5482
  "properties": [
@@ -5274,7 +5488,7 @@
5274
5488
  "immutable": true,
5275
5489
  "locationInModule": {
5276
5490
  "filename": "src/esbuild-types.ts",
5277
- "line": 245
5491
+ "line": 249
5278
5492
  },
5279
5493
  "name": "banner",
5280
5494
  "optional": true,
@@ -5291,7 +5505,7 @@
5291
5505
  "immutable": true,
5292
5506
  "locationInModule": {
5293
5507
  "filename": "src/esbuild-types.ts",
5294
- "line": 48
5508
+ "line": 50
5295
5509
  },
5296
5510
  "name": "charset",
5297
5511
  "optional": true,
@@ -5308,7 +5522,7 @@
5308
5522
  "immutable": true,
5309
5523
  "locationInModule": {
5310
5524
  "filename": "src/esbuild-types.ts",
5311
- "line": 69
5525
+ "line": 75
5312
5526
  },
5313
5527
  "name": "color",
5314
5528
  "optional": true,
@@ -5325,7 +5539,7 @@
5325
5539
  "immutable": true,
5326
5540
  "locationInModule": {
5327
5541
  "filename": "src/esbuild-types.ts",
5328
- "line": 62
5542
+ "line": 68
5329
5543
  },
5330
5544
  "name": "define",
5331
5545
  "optional": true,
@@ -5347,7 +5561,7 @@
5347
5561
  "immutable": true,
5348
5562
  "locationInModule": {
5349
5563
  "filename": "src/esbuild-types.ts",
5350
- "line": 38
5564
+ "line": 40
5351
5565
  },
5352
5566
  "name": "drop",
5353
5567
  "optional": true,
@@ -5368,7 +5582,7 @@
5368
5582
  "immutable": true,
5369
5583
  "locationInModule": {
5370
5584
  "filename": "src/esbuild-types.ts",
5371
- "line": 246
5585
+ "line": 250
5372
5586
  },
5373
5587
  "name": "footer",
5374
5588
  "optional": true,
@@ -5419,7 +5633,7 @@
5419
5633
  "immutable": true,
5420
5634
  "locationInModule": {
5421
5635
  "filename": "src/esbuild-types.ts",
5422
- "line": 52
5636
+ "line": 54
5423
5637
  },
5424
5638
  "name": "ignoreAnnotations",
5425
5639
  "optional": true,
@@ -5436,7 +5650,7 @@
5436
5650
  "immutable": true,
5437
5651
  "locationInModule": {
5438
5652
  "filename": "src/esbuild-types.ts",
5439
- "line": 55
5653
+ "line": 57
5440
5654
  },
5441
5655
  "name": "jsx",
5442
5656
  "optional": true,
@@ -5444,6 +5658,23 @@
5444
5658
  "primitive": "string"
5445
5659
  }
5446
5660
  },
5661
+ {
5662
+ "abstract": true,
5663
+ "docs": {
5664
+ "stability": "stable",
5665
+ "summary": "Documentation: https://esbuild.github.io/api/#jsx-development."
5666
+ },
5667
+ "immutable": true,
5668
+ "locationInModule": {
5669
+ "filename": "src/esbuild-types.ts",
5670
+ "line": 65
5671
+ },
5672
+ "name": "jsxDev",
5673
+ "optional": true,
5674
+ "type": {
5675
+ "primitive": "boolean"
5676
+ }
5677
+ },
5447
5678
  {
5448
5679
  "abstract": true,
5449
5680
  "docs": {
@@ -5453,7 +5684,7 @@
5453
5684
  "immutable": true,
5454
5685
  "locationInModule": {
5455
5686
  "filename": "src/esbuild-types.ts",
5456
- "line": 57
5687
+ "line": 59
5457
5688
  },
5458
5689
  "name": "jsxFactory",
5459
5690
  "optional": true,
@@ -5470,7 +5701,7 @@
5470
5701
  "immutable": true,
5471
5702
  "locationInModule": {
5472
5703
  "filename": "src/esbuild-types.ts",
5473
- "line": 59
5704
+ "line": 61
5474
5705
  },
5475
5706
  "name": "jsxFragment",
5476
5707
  "optional": true,
@@ -5478,6 +5709,23 @@
5478
5709
  "primitive": "string"
5479
5710
  }
5480
5711
  },
5712
+ {
5713
+ "abstract": true,
5714
+ "docs": {
5715
+ "stability": "stable",
5716
+ "summary": "Documentation: https://esbuild.github.io/api/#jsx-import-source."
5717
+ },
5718
+ "immutable": true,
5719
+ "locationInModule": {
5720
+ "filename": "src/esbuild-types.ts",
5721
+ "line": 63
5722
+ },
5723
+ "name": "jsxImportSource",
5724
+ "optional": true,
5725
+ "type": {
5726
+ "primitive": "string"
5727
+ }
5728
+ },
5481
5729
  {
5482
5730
  "abstract": true,
5483
5731
  "docs": {
@@ -5487,7 +5735,7 @@
5487
5735
  "immutable": true,
5488
5736
  "locationInModule": {
5489
5737
  "filename": "src/esbuild-types.ts",
5490
- "line": 66
5738
+ "line": 72
5491
5739
  },
5492
5740
  "name": "keepNames",
5493
5741
  "optional": true,
@@ -5520,7 +5768,7 @@
5520
5768
  "immutable": true,
5521
5769
  "locationInModule": {
5522
5770
  "filename": "src/esbuild-types.ts",
5523
- "line": 244
5771
+ "line": 248
5524
5772
  },
5525
5773
  "name": "loader",
5526
5774
  "optional": true,
@@ -5537,7 +5785,7 @@
5537
5785
  "immutable": true,
5538
5786
  "locationInModule": {
5539
5787
  "filename": "src/esbuild-types.ts",
5540
- "line": 71
5788
+ "line": 77
5541
5789
  },
5542
5790
  "name": "logLevel",
5543
5791
  "optional": true,
@@ -5554,7 +5802,7 @@
5554
5802
  "immutable": true,
5555
5803
  "locationInModule": {
5556
5804
  "filename": "src/esbuild-types.ts",
5557
- "line": 73
5805
+ "line": 79
5558
5806
  },
5559
5807
  "name": "logLimit",
5560
5808
  "optional": true,
@@ -5571,7 +5819,7 @@
5571
5819
  "immutable": true,
5572
5820
  "locationInModule": {
5573
5821
  "filename": "src/esbuild-types.ts",
5574
- "line": 75
5822
+ "line": 81
5575
5823
  },
5576
5824
  "name": "logOverride",
5577
5825
  "optional": true,
@@ -5593,7 +5841,7 @@
5593
5841
  "immutable": true,
5594
5842
  "locationInModule": {
5595
5843
  "filename": "src/esbuild-types.ts",
5596
- "line": 36
5844
+ "line": 38
5597
5845
  },
5598
5846
  "name": "mangleCache",
5599
5847
  "optional": true,
@@ -5624,7 +5872,7 @@
5624
5872
  "immutable": true,
5625
5873
  "locationInModule": {
5626
5874
  "filename": "src/esbuild-types.ts",
5627
- "line": 30
5875
+ "line": 32
5628
5876
  },
5629
5877
  "name": "mangleProps",
5630
5878
  "optional": true,
@@ -5641,7 +5889,7 @@
5641
5889
  "immutable": true,
5642
5890
  "locationInModule": {
5643
5891
  "filename": "src/esbuild-types.ts",
5644
- "line": 34
5892
+ "line": 36
5645
5893
  },
5646
5894
  "name": "mangleQuoted",
5647
5895
  "optional": true,
@@ -5658,7 +5906,7 @@
5658
5906
  "immutable": true,
5659
5907
  "locationInModule": {
5660
5908
  "filename": "src/esbuild-types.ts",
5661
- "line": 40
5909
+ "line": 42
5662
5910
  },
5663
5911
  "name": "minify",
5664
5912
  "optional": true,
@@ -5675,7 +5923,7 @@
5675
5923
  "immutable": true,
5676
5924
  "locationInModule": {
5677
5925
  "filename": "src/esbuild-types.ts",
5678
- "line": 44
5926
+ "line": 46
5679
5927
  },
5680
5928
  "name": "minifyIdentifiers",
5681
5929
  "optional": true,
@@ -5692,7 +5940,7 @@
5692
5940
  "immutable": true,
5693
5941
  "locationInModule": {
5694
5942
  "filename": "src/esbuild-types.ts",
5695
- "line": 46
5943
+ "line": 48
5696
5944
  },
5697
5945
  "name": "minifySyntax",
5698
5946
  "optional": true,
@@ -5709,7 +5957,7 @@
5709
5957
  "immutable": true,
5710
5958
  "locationInModule": {
5711
5959
  "filename": "src/esbuild-types.ts",
5712
- "line": 42
5960
+ "line": 44
5713
5961
  },
5714
5962
  "name": "minifyWhitespace",
5715
5963
  "optional": true,
@@ -5717,6 +5965,23 @@
5717
5965
  "primitive": "boolean"
5718
5966
  }
5719
5967
  },
5968
+ {
5969
+ "abstract": true,
5970
+ "docs": {
5971
+ "stability": "stable",
5972
+ "summary": "Documentation: https://esbuild.github.io/api/#platform."
5973
+ },
5974
+ "immutable": true,
5975
+ "locationInModule": {
5976
+ "filename": "src/esbuild-types.ts",
5977
+ "line": 29
5978
+ },
5979
+ "name": "platform",
5980
+ "optional": true,
5981
+ "type": {
5982
+ "primitive": "string"
5983
+ }
5984
+ },
5720
5985
  {
5721
5986
  "abstract": true,
5722
5987
  "docs": {
@@ -5726,7 +5991,7 @@
5726
5991
  "immutable": true,
5727
5992
  "locationInModule": {
5728
5993
  "filename": "src/esbuild-types.ts",
5729
- "line": 64
5994
+ "line": 70
5730
5995
  },
5731
5996
  "name": "pure",
5732
5997
  "optional": true,
@@ -5748,7 +6013,7 @@
5748
6013
  "immutable": true,
5749
6014
  "locationInModule": {
5750
6015
  "filename": "src/esbuild-types.ts",
5751
- "line": 32
6016
+ "line": 34
5752
6017
  },
5753
6018
  "name": "reserveProps",
5754
6019
  "optional": true,
@@ -5764,7 +6029,7 @@
5764
6029
  "immutable": true,
5765
6030
  "locationInModule": {
5766
6031
  "filename": "src/esbuild-types.ts",
5767
- "line": 243
6032
+ "line": 247
5768
6033
  },
5769
6034
  "name": "sourcefile",
5770
6035
  "optional": true,
@@ -5894,7 +6159,7 @@
5894
6159
  "immutable": true,
5895
6160
  "locationInModule": {
5896
6161
  "filename": "src/esbuild-types.ts",
5897
- "line": 50
6162
+ "line": 52
5898
6163
  },
5899
6164
  "name": "treeShaking",
5900
6165
  "optional": true,
@@ -5910,7 +6175,7 @@
5910
6175
  "immutable": true,
5911
6176
  "locationInModule": {
5912
6177
  "filename": "src/esbuild-types.ts",
5913
- "line": 241
6178
+ "line": 245
5914
6179
  },
5915
6180
  "name": "tsconfigRaw",
5916
6181
  "optional": true,
@@ -5931,10 +6196,28 @@
5931
6196
  "kind": "interface",
5932
6197
  "locationInModule": {
5933
6198
  "filename": "src/inline-code.ts",
5934
- "line": 9
6199
+ "line": 10
5935
6200
  },
5936
6201
  "name": "TransformerProps",
5937
6202
  "properties": [
6203
+ {
6204
+ "abstract": true,
6205
+ "docs": {
6206
+ "remarks": "This is the same as setting the ESBUILD_BINARY_PATH environment variable.",
6207
+ "stability": "experimental",
6208
+ "summary": "Path to the binary used by esbuild."
6209
+ },
6210
+ "immutable": true,
6211
+ "locationInModule": {
6212
+ "filename": "src/inline-code.ts",
6213
+ "line": 39
6214
+ },
6215
+ "name": "esbuildBinaryPath",
6216
+ "optional": true,
6217
+ "type": {
6218
+ "primitive": "string"
6219
+ }
6220
+ },
5938
6221
  {
5939
6222
  "abstract": true,
5940
6223
  "docs": {
@@ -5951,7 +6234,7 @@
5951
6234
  "immutable": true,
5952
6235
  "locationInModule": {
5953
6236
  "filename": "src/inline-code.ts",
5954
- "line": 29
6237
+ "line": 30
5955
6238
  },
5956
6239
  "name": "transformFn",
5957
6240
  "optional": true,
@@ -5970,7 +6253,7 @@
5970
6253
  "immutable": true,
5971
6254
  "locationInModule": {
5972
6255
  "filename": "src/inline-code.ts",
5973
- "line": 16
6256
+ "line": 17
5974
6257
  },
5975
6258
  "name": "transformOptions",
5976
6259
  "optional": true,
@@ -6022,7 +6305,7 @@
6022
6305
  "kind": "class",
6023
6306
  "locationInModule": {
6024
6307
  "filename": "src/asset.ts",
6025
- "line": 138
6308
+ "line": 135
6026
6309
  },
6027
6310
  "name": "TypeScriptAsset",
6028
6311
  "symbolId": "src/asset:TypeScriptAsset"
@@ -6362,6 +6645,6 @@
6362
6645
  "symbolId": "src/source:TypeScriptSourceProps"
6363
6646
  }
6364
6647
  },
6365
- "version": "3.7.2",
6366
- "fingerprint": "FZoMp5kVnpWEgMI5zZu/4a3NYaGnkZCnyKZ+4SU2pwE="
6648
+ "version": "3.9.0",
6649
+ "fingerprint": "Bp8QFIef4EnkeSogdcX2OtOp8WZjqAaMiN0b4Ke2I3M="
6367
6650
  }