@mrgrain/cdk-esbuild 3.6.0 → 3.8.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.61.0 (build abf4039)",
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) | [Migrating to v3](#migrating-to-v3) |\n[Documentation](#documentation) | [API Reference](#api-reference) | [Versioning](#versioning)\n\n> This version is compatible with AWS CDK v2. For the previous, AWS CDK v1 compatible release, see [cdk-esbuild@v2](https://github.com/mrgrain/cdk-esbuild/tree/v2).\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### Migrating to v3\n\nThe release of cdk-esbuild v3 brings compatibility with AWS CDK v2. Furthermore all deprecated properties and classes have been removed. In particular `InlineCode` classes now take `TransformerProps` as second parameter instead of transform options.\n\n#### Upgrading\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",
@@ -2833,14 +2833,14 @@
2833
2833
  {
2834
2834
  "abstract": true,
2835
2835
  "docs": {
2836
- "remarks": "E.g. `src/index.ts`.",
2836
+ "remarks": "Relative paths are by default resolved from the current working directory.\nTo change the working directory, see `buildOptions.absWorkingDir`.\n\nAbsolute paths can be used if files are part of the working directory.\n\nExamples:\n - `'src/index.ts'`\n - `require.resolve('./lambda')`\n - `['src/index.ts', 'src/util.ts']`\n - `{one: 'src/two.ts', two: 'src/one.ts'}`",
2837
2837
  "stability": "stable",
2838
- "summary": "A relative path or list or map of relative paths to the entry points of your code from the root of the project."
2838
+ "summary": "A path or list or map of paths to the entry points of your code."
2839
2839
  },
2840
2840
  "immutable": true,
2841
2841
  "locationInModule": {
2842
2842
  "filename": "src/asset.ts",
2843
- "line": 29
2843
+ "line": 40
2844
2844
  },
2845
2845
  "name": "entryPoints",
2846
2846
  "type": {
@@ -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,
@@ -3193,7 +3193,7 @@
3193
3193
  "abstract": true,
3194
3194
  "docs": {
3195
3195
  "stability": "stable",
3196
- "summary": "Documentation: https://esbuild.github.io/api/#globalName."
3196
+ "summary": "Documentation: https://esbuild.github.io/api/#global-name."
3197
3197
  },
3198
3198
  "immutable": true,
3199
3199
  "locationInModule": {
@@ -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,
@@ -3429,12 +3463,12 @@
3429
3463
  "abstract": true,
3430
3464
  "docs": {
3431
3465
  "stability": "stable",
3432
- "summary": "Documentation: https://esbuild.github.io/api/#mainFields."
3466
+ "summary": "Documentation: https://esbuild.github.io/api/#main-fields."
3433
3467
  },
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": 23
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": 79
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": 42
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": 65
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": 88
4146
+ "line": 98
4113
4147
  },
4114
4148
  "name": "esbuildBinaryPath",
4115
4149
  "optional": true,
@@ -4196,8 +4230,9 @@
4196
4230
  "assembly": "@mrgrain/cdk-esbuild",
4197
4231
  "base": "aws-cdk-lib.aws_s3_assets.Asset",
4198
4232
  "docs": {
4233
+ "remarks": "You should always use `TypeScriptAsset` or `JavaScriptAsset`.",
4199
4234
  "stability": "experimental",
4200
- "summary": "Represents the a generic Esbuild Asset."
4235
+ "summary": "Represents a generic esbuild asset."
4201
4236
  },
4202
4237
  "fqn": "@mrgrain/cdk-esbuild.EsbuildAsset",
4203
4238
  "initializer": {
@@ -4206,7 +4241,7 @@
4206
4241
  },
4207
4242
  "locationInModule": {
4208
4243
  "filename": "src/asset.ts",
4209
- "line": 44
4244
+ "line": 57
4210
4245
  },
4211
4246
  "parameters": [
4212
4247
  {
@@ -4232,7 +4267,7 @@
4232
4267
  "kind": "class",
4233
4268
  "locationInModule": {
4234
4269
  "filename": "src/asset.ts",
4235
- "line": 40
4270
+ "line": 53
4236
4271
  },
4237
4272
  "name": "EsbuildAsset",
4238
4273
  "symbolId": "src/asset:EsbuildAsset"
@@ -4251,14 +4286,14 @@
4251
4286
  },
4252
4287
  "locationInModule": {
4253
4288
  "filename": "src/bundler.ts",
4254
- "line": 115
4289
+ "line": 125
4255
4290
  },
4256
4291
  "parameters": [
4257
4292
  {
4258
4293
  "docs": {
4259
- "remarks": "E.g. `src/index.ts`.",
4294
+ "remarks": "Relative paths are by default resolved from the current working directory.\nTo change the working directory, see `buildOptions.absWorkingDir`.\n\nAbsolute paths can be used if files are part of the working directory.\n\nExamples:\n - `'src/index.ts'`\n - `require.resolve('./lambda')`\n - `['src/index.ts', 'src/util.ts']`\n - `{one: 'src/two.ts', two: 'src/one.ts'}`",
4260
4295
  "stability": "experimental",
4261
- "summary": "A relative path or list or map of relative paths to the entry points of your code from the root of the project."
4296
+ "summary": "A path or list or map of paths to the entry points of your code."
4262
4297
  },
4263
4298
  "name": "entryPoints",
4264
4299
  "type": {
@@ -4302,20 +4337,20 @@
4302
4337
  "kind": "class",
4303
4338
  "locationInModule": {
4304
4339
  "filename": "src/bundler.ts",
4305
- "line": 97
4340
+ "line": 107
4306
4341
  },
4307
4342
  "name": "EsbuildBundler",
4308
4343
  "properties": [
4309
4344
  {
4310
4345
  "docs": {
4311
- "remarks": "E.g. `src/index.ts`.",
4346
+ "remarks": "Relative paths are by default resolved from the current working directory.\nTo change the working directory, see `buildOptions.absWorkingDir`.\n\nAbsolute paths can be used if files are part of the working directory.\n\nExamples:\n - `'src/index.ts'`\n - `require.resolve('./lambda')`\n - `['src/index.ts', 'src/util.ts']`\n - `{one: 'src/two.ts', two: 'src/one.ts'}`",
4312
4347
  "stability": "experimental",
4313
- "summary": "A relative path or list or map of relative paths to the entry points of your code from the root of the project."
4348
+ "summary": "A path or list or map of paths to the entry points of your code."
4314
4349
  },
4315
4350
  "immutable": true,
4316
4351
  "locationInModule": {
4317
4352
  "filename": "src/bundler.ts",
4318
- "line": 122
4353
+ "line": 142
4319
4354
  },
4320
4355
  "name": "entryPoints",
4321
4356
  "type": {
@@ -4352,7 +4387,7 @@
4352
4387
  "immutable": true,
4353
4388
  "locationInModule": {
4354
4389
  "filename": "src/bundler.ts",
4355
- "line": 110
4390
+ "line": 120
4356
4391
  },
4357
4392
  "name": "image",
4358
4393
  "type": {
@@ -4367,7 +4402,7 @@
4367
4402
  "immutable": true,
4368
4403
  "locationInModule": {
4369
4404
  "filename": "src/bundler.ts",
4370
- "line": 103
4405
+ "line": 113
4371
4406
  },
4372
4407
  "name": "local",
4373
4408
  "type": {
@@ -4382,7 +4417,7 @@
4382
4417
  "immutable": true,
4383
4418
  "locationInModule": {
4384
4419
  "filename": "src/bundler.ts",
4385
- "line": 129
4420
+ "line": 149
4386
4421
  },
4387
4422
  "name": "props",
4388
4423
  "type": {
@@ -4396,8 +4431,9 @@
4396
4431
  "assembly": "@mrgrain/cdk-esbuild",
4397
4432
  "base": "aws-cdk-lib.aws_lambda.Code",
4398
4433
  "docs": {
4434
+ "remarks": "You should always use `TypeScriptCode` or `JavaScriptCode`.",
4399
4435
  "stability": "experimental",
4400
- "summary": "Represents the a generic Esbuild Code bundle."
4436
+ "summary": "Represents a generic esbuild code bundle."
4401
4437
  },
4402
4438
  "fqn": "@mrgrain/cdk-esbuild.EsbuildCode",
4403
4439
  "initializer": {
@@ -4406,14 +4442,14 @@
4406
4442
  },
4407
4443
  "locationInModule": {
4408
4444
  "filename": "src/code.ts",
4409
- "line": 49
4445
+ "line": 51
4410
4446
  },
4411
4447
  "parameters": [
4412
4448
  {
4413
4449
  "docs": {
4414
- "remarks": "E.g. `src/index.ts`.",
4450
+ "remarks": "Relative paths are by default resolved from the current working directory.\nTo change the working directory, see `buildOptions.absWorkingDir`.\n\nAbsolute paths can be used if files are part of the working directory.\n\nExamples:\n - `'src/index.ts'`\n - `require.resolve('./lambda')`\n - `['src/index.ts', 'src/util.ts']`\n - `{one: 'src/two.ts', two: 'src/one.ts'}`",
4415
4451
  "stability": "stable",
4416
- "summary": "A relative path or list or map of relative paths to the entry points of your code from the root of the project."
4452
+ "summary": "A path or list or map of paths to the entry points of your code."
4417
4453
  },
4418
4454
  "name": "entryPoints",
4419
4455
  "type": {
@@ -4467,7 +4503,7 @@
4467
4503
  "kind": "class",
4468
4504
  "locationInModule": {
4469
4505
  "filename": "src/code.ts",
4470
- "line": 27
4506
+ "line": 29
4471
4507
  },
4472
4508
  "methods": [
4473
4509
  {
@@ -4477,7 +4513,7 @@
4477
4513
  },
4478
4514
  "locationInModule": {
4479
4515
  "filename": "src/code.ts",
4480
- "line": 89
4516
+ "line": 101
4481
4517
  },
4482
4518
  "name": "bind",
4483
4519
  "overrides": "aws-cdk-lib.aws_lambda.Code",
@@ -4503,7 +4539,7 @@
4503
4539
  },
4504
4540
  "locationInModule": {
4505
4541
  "filename": "src/code.ts",
4506
- "line": 117
4542
+ "line": 129
4507
4543
  },
4508
4544
  "name": "bindToResource",
4509
4545
  "overrides": "aws-cdk-lib.aws_lambda.Code",
@@ -4529,7 +4565,7 @@
4529
4565
  },
4530
4566
  "locationInModule": {
4531
4567
  "filename": "src/code.ts",
4532
- "line": 30
4568
+ "line": 32
4533
4569
  },
4534
4570
  "name": "getAsset",
4535
4571
  "parameters": [
@@ -4552,14 +4588,14 @@
4552
4588
  "properties": [
4553
4589
  {
4554
4590
  "docs": {
4555
- "remarks": "E.g. `src/index.ts`.",
4591
+ "remarks": "Relative paths are by default resolved from the current working directory.\nTo change the working directory, see `buildOptions.absWorkingDir`.\n\nAbsolute paths can be used if files are part of the working directory.\n\nExamples:\n - `'src/index.ts'`\n - `require.resolve('./lambda')`\n - `['src/index.ts', 'src/util.ts']`\n - `{one: 'src/two.ts', two: 'src/one.ts'}`",
4556
4592
  "stability": "stable",
4557
- "summary": "A relative path or list or map of relative paths to the entry points of your code from the root of the project."
4593
+ "summary": "A path or list or map of paths to the entry points of your code."
4558
4594
  },
4559
4595
  "immutable": true,
4560
4596
  "locationInModule": {
4561
4597
  "filename": "src/code.ts",
4562
- "line": 56
4598
+ "line": 68
4563
4599
  },
4564
4600
  "name": "entryPoints",
4565
4601
  "type": {
@@ -4594,7 +4630,7 @@
4594
4630
  },
4595
4631
  "locationInModule": {
4596
4632
  "filename": "src/code.ts",
4597
- "line": 40
4633
+ "line": 42
4598
4634
  },
4599
4635
  "name": "asset",
4600
4636
  "protected": true,
@@ -4610,7 +4646,7 @@
4610
4646
  },
4611
4647
  "locationInModule": {
4612
4648
  "filename": "src/code.ts",
4613
- "line": 47
4649
+ "line": 49
4614
4650
  },
4615
4651
  "name": "isInline",
4616
4652
  "type": {
@@ -4623,7 +4659,7 @@
4623
4659
  },
4624
4660
  "locationInModule": {
4625
4661
  "filename": "src/code.ts",
4626
- "line": 38
4662
+ "line": 40
4627
4663
  },
4628
4664
  "name": "props",
4629
4665
  "protected": true,
@@ -4648,7 +4684,7 @@
4648
4684
  },
4649
4685
  "locationInModule": {
4650
4686
  "filename": "src/inline-code.ts",
4651
- "line": 84
4687
+ "line": 104
4652
4688
  },
4653
4689
  "parameters": [
4654
4690
  {
@@ -4688,7 +4724,7 @@
4688
4724
  "kind": "class",
4689
4725
  "locationInModule": {
4690
4726
  "filename": "src/inline-code.ts",
4691
- "line": 83
4727
+ "line": 103
4692
4728
  },
4693
4729
  "name": "InlineJavaScriptCode",
4694
4730
  "symbolId": "src/inline-code:InlineJavaScriptCode"
@@ -4707,7 +4743,7 @@
4707
4743
  },
4708
4744
  "locationInModule": {
4709
4745
  "filename": "src/inline-code.ts",
4710
- "line": 115
4746
+ "line": 135
4711
4747
  },
4712
4748
  "parameters": [
4713
4749
  {
@@ -4747,7 +4783,7 @@
4747
4783
  "kind": "class",
4748
4784
  "locationInModule": {
4749
4785
  "filename": "src/inline-code.ts",
4750
- "line": 114
4786
+ "line": 134
4751
4787
  },
4752
4788
  "name": "InlineJsxCode",
4753
4789
  "symbolId": "src/inline-code:InlineJsxCode"
@@ -4766,7 +4802,7 @@
4766
4802
  },
4767
4803
  "locationInModule": {
4768
4804
  "filename": "src/inline-code.ts",
4769
- "line": 175
4805
+ "line": 195
4770
4806
  },
4771
4807
  "parameters": [
4772
4808
  {
@@ -4806,7 +4842,7 @@
4806
4842
  "kind": "class",
4807
4843
  "locationInModule": {
4808
4844
  "filename": "src/inline-code.ts",
4809
- "line": 174
4845
+ "line": 194
4810
4846
  },
4811
4847
  "name": "InlineTsxCode",
4812
4848
  "symbolId": "src/inline-code:InlineTsxCode"
@@ -4825,7 +4861,7 @@
4825
4861
  },
4826
4862
  "locationInModule": {
4827
4863
  "filename": "src/inline-code.ts",
4828
- "line": 145
4864
+ "line": 165
4829
4865
  },
4830
4866
  "parameters": [
4831
4867
  {
@@ -4865,7 +4901,7 @@
4865
4901
  "kind": "class",
4866
4902
  "locationInModule": {
4867
4903
  "filename": "src/inline-code.ts",
4868
- "line": 144
4904
+ "line": 164
4869
4905
  },
4870
4906
  "name": "InlineTypeScriptCode",
4871
4907
  "symbolId": "src/inline-code:InlineTypeScriptCode"
@@ -4885,7 +4921,7 @@
4885
4921
  },
4886
4922
  "locationInModule": {
4887
4923
  "filename": "src/asset.ts",
4888
- "line": 44
4924
+ "line": 57
4889
4925
  },
4890
4926
  "parameters": [
4891
4927
  {
@@ -4911,7 +4947,7 @@
4911
4947
  "kind": "class",
4912
4948
  "locationInModule": {
4913
4949
  "filename": "src/asset.ts",
4914
- "line": 99
4950
+ "line": 126
4915
4951
  },
4916
4952
  "name": "JavaScriptAsset",
4917
4953
  "symbolId": "src/asset:JavaScriptAsset"
@@ -4930,14 +4966,14 @@
4930
4966
  },
4931
4967
  "locationInModule": {
4932
4968
  "filename": "src/code.ts",
4933
- "line": 141
4969
+ "line": 153
4934
4970
  },
4935
4971
  "parameters": [
4936
4972
  {
4937
4973
  "docs": {
4938
- "remarks": "E.g. `src/index.ts`.",
4974
+ "remarks": "Relative paths are by default resolved from the current working directory.\nTo change the working directory, see `buildOptions.absWorkingDir`.\n\nAbsolute paths can be used if files are part of the working directory.\n\nExamples:\n - `'src/index.ts'`\n - `require.resolve('./lambda')`\n - `['src/index.ts', 'src/util.ts']`\n - `{one: 'src/two.ts', two: 'src/one.ts'}`",
4939
4975
  "stability": "stable",
4940
- "summary": "A relative path or list or map of relative paths to the entry points of your code from the root of the project."
4976
+ "summary": "A path or list or map of paths to the entry points of your code."
4941
4977
  },
4942
4978
  "name": "entryPoints",
4943
4979
  "type": {
@@ -4983,7 +5019,7 @@
4983
5019
  "kind": "class",
4984
5020
  "locationInModule": {
4985
5021
  "filename": "src/code.ts",
4986
- "line": 132
5022
+ "line": 144
4987
5023
  },
4988
5024
  "methods": [
4989
5025
  {
@@ -4992,7 +5028,7 @@
4992
5028
  },
4993
5029
  "locationInModule": {
4994
5030
  "filename": "src/code.ts",
4995
- "line": 133
5031
+ "line": 145
4996
5032
  },
4997
5033
  "name": "getAsset",
4998
5034
  "overrides": "@mrgrain/cdk-esbuild.EsbuildCode",
@@ -5065,10 +5101,15 @@
5065
5101
  },
5066
5102
  "locationInModule": {
5067
5103
  "filename": "src/source.ts",
5068
- "line": 89
5104
+ "line": 113
5069
5105
  },
5070
5106
  "parameters": [
5071
5107
  {
5108
+ "docs": {
5109
+ "remarks": "Relative paths are by default resolved from the current working directory.\nTo change the working directory, see `buildOptions.absWorkingDir`.\n\nAbsolute paths can be used if files are part of the working directory.\n\nExamples:\n - `'src/index.ts'`\n - `require.resolve('./lambda')`\n - `['src/index.ts', 'src/util.ts']`\n - `{one: 'src/two.ts', two: 'src/one.ts'}`",
5110
+ "stability": "stable",
5111
+ "summary": "A path or list or map of paths to the entry points of your code."
5112
+ },
5072
5113
  "name": "entryPoints",
5073
5114
  "type": {
5074
5115
  "union": {
@@ -5097,6 +5138,11 @@
5097
5138
  }
5098
5139
  },
5099
5140
  {
5141
+ "docs": {
5142
+ "remarks": "Default values for `props.buildOptions`:\n- `bundle=true`\n- `platform=browser`",
5143
+ "stability": "stable",
5144
+ "summary": "Props to change the behavior of the bundler."
5145
+ },
5100
5146
  "name": "props",
5101
5147
  "optional": true,
5102
5148
  "type": {
@@ -5111,7 +5157,7 @@
5111
5157
  "kind": "class",
5112
5158
  "locationInModule": {
5113
5159
  "filename": "src/source.ts",
5114
- "line": 83
5160
+ "line": 107
5115
5161
  },
5116
5162
  "methods": [
5117
5163
  {
@@ -5121,7 +5167,7 @@
5121
5167
  },
5122
5168
  "locationInModule": {
5123
5169
  "filename": "src/source.ts",
5124
- "line": 49
5170
+ "line": 73
5125
5171
  },
5126
5172
  "name": "bind",
5127
5173
  "overrides": "aws-cdk-lib.aws_s3_deployment.ISource",
@@ -5178,7 +5224,7 @@
5178
5224
  },
5179
5225
  "locationInModule": {
5180
5226
  "filename": "src/source.ts",
5181
- "line": 87
5227
+ "line": 111
5182
5228
  },
5183
5229
  "name": "assetClass",
5184
5230
  "type": {
@@ -5250,7 +5296,7 @@
5250
5296
  "kind": "interface",
5251
5297
  "locationInModule": {
5252
5298
  "filename": "src/esbuild-types.ts",
5253
- "line": 240
5299
+ "line": 244
5254
5300
  },
5255
5301
  "name": "TransformOptions",
5256
5302
  "properties": [
@@ -5262,7 +5308,7 @@
5262
5308
  "immutable": true,
5263
5309
  "locationInModule": {
5264
5310
  "filename": "src/esbuild-types.ts",
5265
- "line": 245
5311
+ "line": 249
5266
5312
  },
5267
5313
  "name": "banner",
5268
5314
  "optional": true,
@@ -5279,7 +5325,7 @@
5279
5325
  "immutable": true,
5280
5326
  "locationInModule": {
5281
5327
  "filename": "src/esbuild-types.ts",
5282
- "line": 48
5328
+ "line": 50
5283
5329
  },
5284
5330
  "name": "charset",
5285
5331
  "optional": true,
@@ -5296,7 +5342,7 @@
5296
5342
  "immutable": true,
5297
5343
  "locationInModule": {
5298
5344
  "filename": "src/esbuild-types.ts",
5299
- "line": 69
5345
+ "line": 75
5300
5346
  },
5301
5347
  "name": "color",
5302
5348
  "optional": true,
@@ -5313,7 +5359,7 @@
5313
5359
  "immutable": true,
5314
5360
  "locationInModule": {
5315
5361
  "filename": "src/esbuild-types.ts",
5316
- "line": 62
5362
+ "line": 68
5317
5363
  },
5318
5364
  "name": "define",
5319
5365
  "optional": true,
@@ -5335,7 +5381,7 @@
5335
5381
  "immutable": true,
5336
5382
  "locationInModule": {
5337
5383
  "filename": "src/esbuild-types.ts",
5338
- "line": 38
5384
+ "line": 40
5339
5385
  },
5340
5386
  "name": "drop",
5341
5387
  "optional": true,
@@ -5356,7 +5402,7 @@
5356
5402
  "immutable": true,
5357
5403
  "locationInModule": {
5358
5404
  "filename": "src/esbuild-types.ts",
5359
- "line": 246
5405
+ "line": 250
5360
5406
  },
5361
5407
  "name": "footer",
5362
5408
  "optional": true,
@@ -5385,7 +5431,7 @@
5385
5431
  "abstract": true,
5386
5432
  "docs": {
5387
5433
  "stability": "stable",
5388
- "summary": "Documentation: https://esbuild.github.io/api/#globalName."
5434
+ "summary": "Documentation: https://esbuild.github.io/api/#global-name."
5389
5435
  },
5390
5436
  "immutable": true,
5391
5437
  "locationInModule": {
@@ -5407,7 +5453,7 @@
5407
5453
  "immutable": true,
5408
5454
  "locationInModule": {
5409
5455
  "filename": "src/esbuild-types.ts",
5410
- "line": 52
5456
+ "line": 54
5411
5457
  },
5412
5458
  "name": "ignoreAnnotations",
5413
5459
  "optional": true,
@@ -5424,7 +5470,7 @@
5424
5470
  "immutable": true,
5425
5471
  "locationInModule": {
5426
5472
  "filename": "src/esbuild-types.ts",
5427
- "line": 55
5473
+ "line": 57
5428
5474
  },
5429
5475
  "name": "jsx",
5430
5476
  "optional": true,
@@ -5432,6 +5478,23 @@
5432
5478
  "primitive": "string"
5433
5479
  }
5434
5480
  },
5481
+ {
5482
+ "abstract": true,
5483
+ "docs": {
5484
+ "stability": "stable",
5485
+ "summary": "Documentation: https://esbuild.github.io/api/#jsx-development."
5486
+ },
5487
+ "immutable": true,
5488
+ "locationInModule": {
5489
+ "filename": "src/esbuild-types.ts",
5490
+ "line": 65
5491
+ },
5492
+ "name": "jsxDev",
5493
+ "optional": true,
5494
+ "type": {
5495
+ "primitive": "boolean"
5496
+ }
5497
+ },
5435
5498
  {
5436
5499
  "abstract": true,
5437
5500
  "docs": {
@@ -5441,7 +5504,7 @@
5441
5504
  "immutable": true,
5442
5505
  "locationInModule": {
5443
5506
  "filename": "src/esbuild-types.ts",
5444
- "line": 57
5507
+ "line": 59
5445
5508
  },
5446
5509
  "name": "jsxFactory",
5447
5510
  "optional": true,
@@ -5458,7 +5521,7 @@
5458
5521
  "immutable": true,
5459
5522
  "locationInModule": {
5460
5523
  "filename": "src/esbuild-types.ts",
5461
- "line": 59
5524
+ "line": 61
5462
5525
  },
5463
5526
  "name": "jsxFragment",
5464
5527
  "optional": true,
@@ -5466,6 +5529,23 @@
5466
5529
  "primitive": "string"
5467
5530
  }
5468
5531
  },
5532
+ {
5533
+ "abstract": true,
5534
+ "docs": {
5535
+ "stability": "stable",
5536
+ "summary": "Documentation: https://esbuild.github.io/api/#jsx-import-source."
5537
+ },
5538
+ "immutable": true,
5539
+ "locationInModule": {
5540
+ "filename": "src/esbuild-types.ts",
5541
+ "line": 63
5542
+ },
5543
+ "name": "jsxImportSource",
5544
+ "optional": true,
5545
+ "type": {
5546
+ "primitive": "string"
5547
+ }
5548
+ },
5469
5549
  {
5470
5550
  "abstract": true,
5471
5551
  "docs": {
@@ -5475,7 +5555,7 @@
5475
5555
  "immutable": true,
5476
5556
  "locationInModule": {
5477
5557
  "filename": "src/esbuild-types.ts",
5478
- "line": 66
5558
+ "line": 72
5479
5559
  },
5480
5560
  "name": "keepNames",
5481
5561
  "optional": true,
@@ -5508,7 +5588,7 @@
5508
5588
  "immutable": true,
5509
5589
  "locationInModule": {
5510
5590
  "filename": "src/esbuild-types.ts",
5511
- "line": 244
5591
+ "line": 248
5512
5592
  },
5513
5593
  "name": "loader",
5514
5594
  "optional": true,
@@ -5525,7 +5605,7 @@
5525
5605
  "immutable": true,
5526
5606
  "locationInModule": {
5527
5607
  "filename": "src/esbuild-types.ts",
5528
- "line": 71
5608
+ "line": 77
5529
5609
  },
5530
5610
  "name": "logLevel",
5531
5611
  "optional": true,
@@ -5542,7 +5622,7 @@
5542
5622
  "immutable": true,
5543
5623
  "locationInModule": {
5544
5624
  "filename": "src/esbuild-types.ts",
5545
- "line": 73
5625
+ "line": 79
5546
5626
  },
5547
5627
  "name": "logLimit",
5548
5628
  "optional": true,
@@ -5559,7 +5639,7 @@
5559
5639
  "immutable": true,
5560
5640
  "locationInModule": {
5561
5641
  "filename": "src/esbuild-types.ts",
5562
- "line": 75
5642
+ "line": 81
5563
5643
  },
5564
5644
  "name": "logOverride",
5565
5645
  "optional": true,
@@ -5581,7 +5661,7 @@
5581
5661
  "immutable": true,
5582
5662
  "locationInModule": {
5583
5663
  "filename": "src/esbuild-types.ts",
5584
- "line": 36
5664
+ "line": 38
5585
5665
  },
5586
5666
  "name": "mangleCache",
5587
5667
  "optional": true,
@@ -5612,7 +5692,7 @@
5612
5692
  "immutable": true,
5613
5693
  "locationInModule": {
5614
5694
  "filename": "src/esbuild-types.ts",
5615
- "line": 30
5695
+ "line": 32
5616
5696
  },
5617
5697
  "name": "mangleProps",
5618
5698
  "optional": true,
@@ -5629,7 +5709,7 @@
5629
5709
  "immutable": true,
5630
5710
  "locationInModule": {
5631
5711
  "filename": "src/esbuild-types.ts",
5632
- "line": 34
5712
+ "line": 36
5633
5713
  },
5634
5714
  "name": "mangleQuoted",
5635
5715
  "optional": true,
@@ -5646,7 +5726,7 @@
5646
5726
  "immutable": true,
5647
5727
  "locationInModule": {
5648
5728
  "filename": "src/esbuild-types.ts",
5649
- "line": 40
5729
+ "line": 42
5650
5730
  },
5651
5731
  "name": "minify",
5652
5732
  "optional": true,
@@ -5663,7 +5743,7 @@
5663
5743
  "immutable": true,
5664
5744
  "locationInModule": {
5665
5745
  "filename": "src/esbuild-types.ts",
5666
- "line": 44
5746
+ "line": 46
5667
5747
  },
5668
5748
  "name": "minifyIdentifiers",
5669
5749
  "optional": true,
@@ -5680,7 +5760,7 @@
5680
5760
  "immutable": true,
5681
5761
  "locationInModule": {
5682
5762
  "filename": "src/esbuild-types.ts",
5683
- "line": 46
5763
+ "line": 48
5684
5764
  },
5685
5765
  "name": "minifySyntax",
5686
5766
  "optional": true,
@@ -5697,7 +5777,7 @@
5697
5777
  "immutable": true,
5698
5778
  "locationInModule": {
5699
5779
  "filename": "src/esbuild-types.ts",
5700
- "line": 42
5780
+ "line": 44
5701
5781
  },
5702
5782
  "name": "minifyWhitespace",
5703
5783
  "optional": true,
@@ -5705,6 +5785,23 @@
5705
5785
  "primitive": "boolean"
5706
5786
  }
5707
5787
  },
5788
+ {
5789
+ "abstract": true,
5790
+ "docs": {
5791
+ "stability": "stable",
5792
+ "summary": "Documentation: https://esbuild.github.io/api/#platform."
5793
+ },
5794
+ "immutable": true,
5795
+ "locationInModule": {
5796
+ "filename": "src/esbuild-types.ts",
5797
+ "line": 29
5798
+ },
5799
+ "name": "platform",
5800
+ "optional": true,
5801
+ "type": {
5802
+ "primitive": "string"
5803
+ }
5804
+ },
5708
5805
  {
5709
5806
  "abstract": true,
5710
5807
  "docs": {
@@ -5714,7 +5811,7 @@
5714
5811
  "immutable": true,
5715
5812
  "locationInModule": {
5716
5813
  "filename": "src/esbuild-types.ts",
5717
- "line": 64
5814
+ "line": 70
5718
5815
  },
5719
5816
  "name": "pure",
5720
5817
  "optional": true,
@@ -5736,7 +5833,7 @@
5736
5833
  "immutable": true,
5737
5834
  "locationInModule": {
5738
5835
  "filename": "src/esbuild-types.ts",
5739
- "line": 32
5836
+ "line": 34
5740
5837
  },
5741
5838
  "name": "reserveProps",
5742
5839
  "optional": true,
@@ -5752,7 +5849,7 @@
5752
5849
  "immutable": true,
5753
5850
  "locationInModule": {
5754
5851
  "filename": "src/esbuild-types.ts",
5755
- "line": 243
5852
+ "line": 247
5756
5853
  },
5757
5854
  "name": "sourcefile",
5758
5855
  "optional": true,
@@ -5882,7 +5979,7 @@
5882
5979
  "immutable": true,
5883
5980
  "locationInModule": {
5884
5981
  "filename": "src/esbuild-types.ts",
5885
- "line": 50
5982
+ "line": 52
5886
5983
  },
5887
5984
  "name": "treeShaking",
5888
5985
  "optional": true,
@@ -5898,7 +5995,7 @@
5898
5995
  "immutable": true,
5899
5996
  "locationInModule": {
5900
5997
  "filename": "src/esbuild-types.ts",
5901
- "line": 241
5998
+ "line": 245
5902
5999
  },
5903
6000
  "name": "tsconfigRaw",
5904
6001
  "optional": true,
@@ -5919,10 +6016,28 @@
5919
6016
  "kind": "interface",
5920
6017
  "locationInModule": {
5921
6018
  "filename": "src/inline-code.ts",
5922
- "line": 9
6019
+ "line": 8
5923
6020
  },
5924
6021
  "name": "TransformerProps",
5925
6022
  "properties": [
6023
+ {
6024
+ "abstract": true,
6025
+ "docs": {
6026
+ "remarks": "This is the same as setting the ESBUILD_BINARY_PATH environment variable.",
6027
+ "stability": "experimental",
6028
+ "summary": "Path to the binary used by esbuild."
6029
+ },
6030
+ "immutable": true,
6031
+ "locationInModule": {
6032
+ "filename": "src/inline-code.ts",
6033
+ "line": 37
6034
+ },
6035
+ "name": "esbuildBinaryPath",
6036
+ "optional": true,
6037
+ "type": {
6038
+ "primitive": "string"
6039
+ }
6040
+ },
5926
6041
  {
5927
6042
  "abstract": true,
5928
6043
  "docs": {
@@ -5939,7 +6054,7 @@
5939
6054
  "immutable": true,
5940
6055
  "locationInModule": {
5941
6056
  "filename": "src/inline-code.ts",
5942
- "line": 29
6057
+ "line": 28
5943
6058
  },
5944
6059
  "name": "transformFn",
5945
6060
  "optional": true,
@@ -5958,7 +6073,7 @@
5958
6073
  "immutable": true,
5959
6074
  "locationInModule": {
5960
6075
  "filename": "src/inline-code.ts",
5961
- "line": 16
6076
+ "line": 15
5962
6077
  },
5963
6078
  "name": "transformOptions",
5964
6079
  "optional": true,
@@ -5984,7 +6099,7 @@
5984
6099
  },
5985
6100
  "locationInModule": {
5986
6101
  "filename": "src/asset.ts",
5987
- "line": 44
6102
+ "line": 57
5988
6103
  },
5989
6104
  "parameters": [
5990
6105
  {
@@ -6010,7 +6125,7 @@
6010
6125
  "kind": "class",
6011
6126
  "locationInModule": {
6012
6127
  "filename": "src/asset.ts",
6013
- "line": 108
6128
+ "line": 135
6014
6129
  },
6015
6130
  "name": "TypeScriptAsset",
6016
6131
  "symbolId": "src/asset:TypeScriptAsset"
@@ -6029,14 +6144,14 @@
6029
6144
  },
6030
6145
  "locationInModule": {
6031
6146
  "filename": "src/code.ts",
6032
- "line": 179
6147
+ "line": 202
6033
6148
  },
6034
6149
  "parameters": [
6035
6150
  {
6036
6151
  "docs": {
6037
- "remarks": "E.g. `src/index.ts`.",
6152
+ "remarks": "Relative paths are by default resolved from the current working directory.\nTo change the working directory, see `buildOptions.absWorkingDir`.\n\nAbsolute paths can be used if files are part of the working directory.\n\nExamples:\n - `'src/index.ts'`\n - `require.resolve('./lambda')`\n - `['src/index.ts', 'src/util.ts']`\n - `{one: 'src/two.ts', two: 'src/one.ts'}`",
6038
6153
  "stability": "stable",
6039
- "summary": "A relative path or list or map of relative paths to the entry points of your code from the root of the project."
6154
+ "summary": "A path or list or map of paths to the entry points of your code."
6040
6155
  },
6041
6156
  "name": "entryPoints",
6042
6157
  "type": {
@@ -6082,7 +6197,7 @@
6082
6197
  "kind": "class",
6083
6198
  "locationInModule": {
6084
6199
  "filename": "src/code.ts",
6085
- "line": 170
6200
+ "line": 193
6086
6201
  },
6087
6202
  "methods": [
6088
6203
  {
@@ -6091,7 +6206,7 @@
6091
6206
  },
6092
6207
  "locationInModule": {
6093
6208
  "filename": "src/code.ts",
6094
- "line": 171
6209
+ "line": 194
6095
6210
  },
6096
6211
  "name": "getAsset",
6097
6212
  "overrides": "@mrgrain/cdk-esbuild.EsbuildCode",
@@ -6164,10 +6279,15 @@
6164
6279
  },
6165
6280
  "locationInModule": {
6166
6281
  "filename": "src/source.ts",
6167
- "line": 103
6282
+ "line": 154
6168
6283
  },
6169
6284
  "parameters": [
6170
6285
  {
6286
+ "docs": {
6287
+ "remarks": "Relative paths are by default resolved from the current working directory.\nTo change the working directory, see `buildOptions.absWorkingDir`.\n\nAbsolute paths can be used if files are part of the working directory.\n\nExamples:\n - `'src/index.ts'`\n - `require.resolve('./lambda')`\n - `['src/index.ts', 'src/util.ts']`\n - `{one: 'src/two.ts', two: 'src/one.ts'}`",
6288
+ "stability": "stable",
6289
+ "summary": "A path or list or map of paths to the entry points of your code."
6290
+ },
6171
6291
  "name": "entryPoints",
6172
6292
  "type": {
6173
6293
  "union": {
@@ -6196,6 +6316,11 @@
6196
6316
  }
6197
6317
  },
6198
6318
  {
6319
+ "docs": {
6320
+ "remarks": "Default values for `props.buildOptions`:\n- `bundle=true`\n- `platform=browser`",
6321
+ "stability": "stable",
6322
+ "summary": "Props to change the behavior of the bundler."
6323
+ },
6199
6324
  "name": "props",
6200
6325
  "optional": true,
6201
6326
  "type": {
@@ -6210,7 +6335,7 @@
6210
6335
  "kind": "class",
6211
6336
  "locationInModule": {
6212
6337
  "filename": "src/source.ts",
6213
- "line": 97
6338
+ "line": 148
6214
6339
  },
6215
6340
  "methods": [
6216
6341
  {
@@ -6220,7 +6345,7 @@
6220
6345
  },
6221
6346
  "locationInModule": {
6222
6347
  "filename": "src/source.ts",
6223
- "line": 49
6348
+ "line": 73
6224
6349
  },
6225
6350
  "name": "bind",
6226
6351
  "overrides": "aws-cdk-lib.aws_s3_deployment.ISource",
@@ -6277,7 +6402,7 @@
6277
6402
  },
6278
6403
  "locationInModule": {
6279
6404
  "filename": "src/source.ts",
6280
- "line": 101
6405
+ "line": 152
6281
6406
  },
6282
6407
  "name": "assetClass",
6283
6408
  "type": {
@@ -6340,6 +6465,6 @@
6340
6465
  "symbolId": "src/source:TypeScriptSourceProps"
6341
6466
  }
6342
6467
  },
6343
- "version": "3.6.0",
6344
- "fingerprint": "OAsSCJMukUlupNUvkv/c82z3BzZsVDNL0B3lXQqr6EE="
6345
- }
6468
+ "version": "3.8.0",
6469
+ "fingerprint": "sQh0nC65ejsvGXaBNTb27k4YFv6WOeZks++x8q1/vd8="
6470
+ }