Class BundlingOptions.Jsii$Proxy
- All Implemented Interfaces:
BundlingOptions
,software.amazon.jsii.JsiiSerializable
- Enclosing interface:
BundlingOptions
BundlingOptions
-
Nested Class Summary
Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject
software.amazon.jsii.JsiiObject.InitializationMode
Nested classes/interfaces inherited from interface software.amazon.awscdk.services.lambda.nodejs.BundlingOptions
BundlingOptions.Builder, BundlingOptions.Jsii$Proxy
-
Constructor Summary
ModifierConstructorDescriptionprotected
Jsii$Proxy
(BundlingOptions.Builder builder) Constructor that initializes the object based on literal property values passed by theBundlingOptions.Builder
.protected
Jsii$Proxy
(software.amazon.jsii.JsiiObjectRef objRef) Constructor that initializes the object based on values retrieved from the JsiiObject. -
Method Summary
Modifier and TypeMethodDescriptioncom.fasterxml.jackson.databind.JsonNode
final boolean
final String
Specify a custom hash for this asset.final String
Use this to insert an arbitrary string at the beginning of generated JavaScript files.Build arguments to pass when building the bundling image.final Charset
The charset to use for esbuild's output.final ICommandHooks
Command hooks.Replace global identifiers with constant expressions.final DockerImage
A custom bundling Docker image.Environment variables defined when bundling runs.Build arguments to pass into esbuild.final String
The version of esbuild to use when running in a Docker container.A list of modules that should be considered as externals (already available in the runtime).final String
Use this to insert an arbitrary string at the end of generated JavaScript files.final Boolean
Force bundling in a Docker container even if local bundling is possible.final OutputFormat
Output format for the generated JavaScript files.This option allows you to automatically replace a global variable with an import from another file.final Boolean
Whether to preserve the originalname
values even in minified code.Use loaders to change how a given input file is interpreted.final LogLevel
Log level for esbuild.How to determine the entry point for modules.final Boolean
This option tells esbuild to write out a JSON file relative to output directory with metadata about the build.final Boolean
Whether to minify files when bundling.A list of modules that should be installed instead of bundled.final Boolean
Run compilation using tsc before running file through bundling step.final Boolean
Whether to include source maps when bundling.final SourceMapMode
Source map mode to be used when bundling.final Boolean
Whether to include original source code in source maps when bundling.final String
Target environment for the generated JavaScript code.final String
Normally the esbuild automatically discoverstsconfig.json
files and reads their contents during a build.final int
hashCode()
Methods inherited from class software.amazon.jsii.JsiiObject
jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSet
-
Constructor Details
-
Jsii$Proxy
protected Jsii$Proxy(software.amazon.jsii.JsiiObjectRef objRef) Constructor that initializes the object based on values retrieved from the JsiiObject.- Parameters:
objRef
- Reference to the JSII managed object.
-
Jsii$Proxy
Constructor that initializes the object based on literal property values passed by theBundlingOptions.Builder
.
-
-
Method Details
-
getAssetHash
Description copied from interface:BundlingOptions
Specify a custom hash for this asset.For consistency, this custom hash will be SHA256 hashed and encoded as hex. The resulting hash will be the asset hash.
NOTE: the hash is used in order to identify a specific revision of the asset, and used for optimizing and caching deployment activities related to this asset such as packaging, uploading to Amazon S3, etc. If you chose to customize the hash, you will need to make sure it is updated every time the asset changes, or otherwise it is possible that some deployments will not be invalidated.
Default: - asset hash is calculated based on the bundled output
- Specified by:
getAssetHash
in interfaceBundlingOptions
-
getBanner
Description copied from interface:BundlingOptions
Use this to insert an arbitrary string at the beginning of generated JavaScript files.This is similar to footer which inserts at the end instead of the beginning.
This is commonly used to insert comments:
Default: - no comments are passed
- Specified by:
getBanner
in interfaceBundlingOptions
-
getBuildArgs
Description copied from interface:BundlingOptions
Build arguments to pass when building the bundling image.Default: - no build arguments are passed
- Specified by:
getBuildArgs
in interfaceBundlingOptions
-
getCharset
Description copied from interface:BundlingOptions
The charset to use for esbuild's output.By default esbuild's output is ASCII-only. Any non-ASCII characters are escaped using backslash escape sequences. Using escape sequences makes the generated output slightly bigger, and also makes it harder to read. If you would like for esbuild to print the original characters without using escape sequences, use
Charset.UTF8
.Default: Charset.ASCII
- Specified by:
getCharset
in interfaceBundlingOptions
- See Also:
-
getCommandHooks
Description copied from interface:BundlingOptions
Command hooks.Default: - do not run additional commands
- Specified by:
getCommandHooks
in interfaceBundlingOptions
-
getDefine
Description copied from interface:BundlingOptions
Replace global identifiers with constant expressions.For example,
{ 'process.env.DEBUG': 'true' }
.Another example,
{ 'process.env.API_KEY': JSON.stringify('xxx-xxxx-xxx') }
.Default: - no replacements are made
- Specified by:
getDefine
in interfaceBundlingOptions
-
getDockerImage
Description copied from interface:BundlingOptions
A custom bundling Docker image.This image should have esbuild installed globally. If you plan to use
nodeModules
it should also havenpm
oryarn
depending on the lock file you're using.See https://github.com/aws/aws-cdk/blob/master/packages/%40aws-cdk/aws-lambda-nodejs/lib/Dockerfile for the default image provided by @aws-cdk/aws-lambda-nodejs.
Default: - use the Docker image provided by
- Specified by:
getDockerImage
in interfaceBundlingOptions
-
getEnvironment
Description copied from interface:BundlingOptions
Environment variables defined when bundling runs.Default: - no environment variables are defined.
- Specified by:
getEnvironment
in interfaceBundlingOptions
-
getEsbuildArgs
Description copied from interface:BundlingOptions
Build arguments to pass into esbuild.For example, to add the --log-limit flag:
new NodejsFunction(scope, id, { ... bundling: { esbuildArgs: { "--log-limit": "0", } } });
Default: - no additional esbuild arguments are passed
- Specified by:
getEsbuildArgs
in interfaceBundlingOptions
-
getEsbuildVersion
Description copied from interface:BundlingOptions
The version of esbuild to use when running in a Docker container.Default: - latest v0
- Specified by:
getEsbuildVersion
in interfaceBundlingOptions
-
getExternalModules
Description copied from interface:BundlingOptions
A list of modules that should be considered as externals (already available in the runtime).Default: ['aws-sdk']
- Specified by:
getExternalModules
in interfaceBundlingOptions
-
getForceDockerBundling
Description copied from interface:BundlingOptions
Force bundling in a Docker container even if local bundling is possible.This is useful if your function relies on node modules that should be installed (
nodeModules
) in a Lambda compatible environment.Default: false
- Specified by:
getForceDockerBundling
in interfaceBundlingOptions
-
getFormat
Description copied from interface:BundlingOptions
Output format for the generated JavaScript files.Default: OutputFormat.CJS
- Specified by:
getFormat
in interfaceBundlingOptions
-
getInject
Description copied from interface:BundlingOptions
This option allows you to automatically replace a global variable with an import from another file.Default: - no code is injected
- Specified by:
getInject
in interfaceBundlingOptions
- See Also:
-
getKeepNames
Description copied from interface:BundlingOptions
Whether to preserve the originalname
values even in minified code.In JavaScript the
name
property on functions and classes defaults to a nearby identifier in the source code.However, minification renames symbols to reduce code size and bundling sometimes need to rename symbols to avoid collisions. That changes value of the
name
property for many of these cases. This is usually fine because thename
property is normally only used for debugging. However, some frameworks rely on thename
property for registration and binding purposes. If this is the case, you can enable this option to preserve the originalname
values even in minified code.Default: false
- Specified by:
getKeepNames
in interfaceBundlingOptions
-
getLoader
Description copied from interface:BundlingOptions
Use loaders to change how a given input file is interpreted.Configuring a loader for a given file type lets you load that file type with an
import
statement or arequire
call.Default: - use esbuild default loaders
- Specified by:
getLoader
in interfaceBundlingOptions
- See Also:
-
getLogLevel
Description copied from interface:BundlingOptions
Log level for esbuild.This is also propagated to the package manager and applies to its specific install command.
Default: LogLevel.WARNING
- Specified by:
getLogLevel
in interfaceBundlingOptions
-
getMainFields
Description copied from interface:BundlingOptions
How to determine the entry point for modules.Try ['module', 'main'] to default to ES module versions.
Default: ['main', 'module']
- Specified by:
getMainFields
in interfaceBundlingOptions
-
getMetafile
Description copied from interface:BundlingOptions
This option tells esbuild to write out a JSON file relative to output directory with metadata about the build.The metadata in this JSON file follows this schema (specified using TypeScript syntax):
{ outputs: { [path: string]: { bytes: number inputs: { [path: string]: { bytesInOutput: number } } imports: { path: string }[] exports: string[] } } }
This data can then be analyzed by other tools. For example, bundle buddy can consume esbuild's metadata format and generates a treemap visualization of the modules in your bundle and how much space each one takes up.
Default: false
- Specified by:
getMetafile
in interfaceBundlingOptions
- See Also:
-
getMinify
Description copied from interface:BundlingOptions
Whether to minify files when bundling.Default: false
- Specified by:
getMinify
in interfaceBundlingOptions
-
getNodeModules
Description copied from interface:BundlingOptions
A list of modules that should be installed instead of bundled.Modules are installed in a Lambda compatible environment only when bundling runs in Docker.
Default: - all modules are bundled
- Specified by:
getNodeModules
in interfaceBundlingOptions
-
getPreCompilation
Description copied from interface:BundlingOptions
Run compilation using tsc before running file through bundling step.This usually is not required unless you are using new experimental features that are only supported by typescript's
tsc
compiler. One example of such feature isemitDecoratorMetadata
.Default: false
- Specified by:
getPreCompilation
in interfaceBundlingOptions
-
getSourceMap
Description copied from interface:BundlingOptions
Whether to include source maps when bundling.Default: false
- Specified by:
getSourceMap
in interfaceBundlingOptions
-
getSourceMapMode
Description copied from interface:BundlingOptions
Source map mode to be used when bundling.Default: SourceMapMode.DEFAULT
- Specified by:
getSourceMapMode
in interfaceBundlingOptions
- See Also:
-
getSourcesContent
Description copied from interface:BundlingOptions
Whether to include original source code in source maps when bundling.Default: true
- Specified by:
getSourcesContent
in interfaceBundlingOptions
- See Also:
-
getTarget
Description copied from interface:BundlingOptions
Target environment for the generated JavaScript code.Default: - the node version of the runtime
- Specified by:
getTarget
in interfaceBundlingOptions
- See Also:
-
getTsconfig
Description copied from interface:BundlingOptions
Normally the esbuild automatically discoverstsconfig.json
files and reads their contents during a build.However, you can also configure a custom
tsconfig.json
file to use instead.This is similar to entry path, you need to provide path to your custom
tsconfig.json
.This can be useful if you need to do multiple builds of the same code with different settings.
For example,
{ 'tsconfig': 'path/custom.tsconfig.json' }
.Default: - automatically discovered by `esbuild`
- Specified by:
getTsconfig
in interfaceBundlingOptions
-
$jsii$toJson
@Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson()- Specified by:
$jsii$toJson
in interfacesoftware.amazon.jsii.JsiiSerializable
-
equals
-
hashCode
public final int hashCode()
-