Class BundlingOptions.Jsii$Proxy
- All Implemented Interfaces:
DockerRunOptions,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.InitializationModeNested classes/interfaces inherited from interface software.amazon.awscdk.services.lambda.nodejs.BundlingOptions
BundlingOptions.Builder, BundlingOptions.Jsii$Proxy -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedJsii$Proxy(BundlingOptions.Builder builder) Constructor that initializes the object based on literal property values passed by theBundlingOptions.Builder.protectedJsii$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.JsonNodefinal booleanfinal StringSpecify a custom hash for this asset.final StringUse this to insert an arbitrary string at the beginning of generated JavaScript files.Build arguments to pass when building the bundling image.final BooleanIncludes AWS SDK in the bundle asset.final BundlingFileAccessWhich option to use to copy the source files to the docker container and output files back.final CharsetThe charset to use for esbuild's output.The command to run in the container.final ICommandHooksCommand hooks.Replace global identifiers with constant expressions.final DockerImageA custom bundling Docker image.The entrypoint to run in the container.The environment variables to pass to the container.Build arguments to pass into esbuild.final StringThe 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 StringUse this to insert an arbitrary string at the end of generated JavaScript files.final BooleanForce bundling in a Docker container even if local bundling is possible.final OutputFormatOutput format for the generated JavaScript files.This option allows you to automatically replace a global variable with an import from another file.final BooleanWhether to preserve the originalnamevalues even in minified code.Use loaders to change how a given input file is interpreted.final LogLevelLog level for esbuild.How to determine the entry point for modules.final BooleanThis option tells esbuild to write out a JSON file relative to output directory with metadata about the build.final BooleanWhether to minify files when bundling.final StringDocker Networking options.A list of modules that should be installed instead of bundled.final StringSet platform if server is multi-platform capable.final BooleanRun compilation using tsc before running file through bundling step.final StringSecurity configuration when running the docker container.final BooleanWhether to include source maps when bundling.final SourceMapModeSource map mode to be used when bundling.final BooleanWhether to include original source code in source maps when bundling.final StringTarget environment for the generated JavaScript code.final StringNormally the esbuild automatically discoverstsconfig.jsonfiles and reads their contents during a build.final StringgetUser()The user to use when running the container.final List<DockerVolume> Docker volumes to mount.Where to mount the specified volumes from.final StringWorking directory inside the container.final inthashCode()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:BundlingOptionsSpecify 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:
getAssetHashin interfaceBundlingOptions
-
getBanner
Description copied from interface:BundlingOptionsUse 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:
getBannerin interfaceBundlingOptions
-
getBuildArgs
Description copied from interface:BundlingOptionsBuild arguments to pass when building the bundling image.Default: - no build arguments are passed
- Specified by:
getBuildArgsin interfaceBundlingOptions
-
getBundleAwsSDK
Description copied from interface:BundlingOptionsIncludes AWS SDK in the bundle asset.Default: - false if `true` the `aws-sdk` will be included in the asset bundle and not be resolved to the Lambda provided sdk.
- Specified by:
getBundleAwsSDKin interfaceBundlingOptions
-
getBundlingFileAccess
Description copied from interface:BundlingOptionsWhich option to use to copy the source files to the docker container and output files back.Default: - BundlingFileAccess.BIND_MOUNT
- Specified by:
getBundlingFileAccessin interfaceBundlingOptions
-
getCharset
Description copied from interface:BundlingOptionsThe 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:
getCharsetin interfaceBundlingOptions- See Also:
-
getCommandHooks
Description copied from interface:BundlingOptionsCommand hooks.Default: - do not run additional commands
- Specified by:
getCommandHooksin interfaceBundlingOptions
-
getDefine
Description copied from interface:BundlingOptionsReplace 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:
getDefinein interfaceBundlingOptions
-
getDockerImage
Description copied from interface:BundlingOptionsA custom bundling Docker image.This image should have esbuild installed globally. If you plan to use
nodeModulesit should also havenpm,yarn,bunorpnpmdepending on the lock file you're using.See https://github.com/aws/aws-cdk/blob/main/packages/aws-cdk-lib/aws-lambda-nodejs/lib/Dockerfile for the default image provided by aws-cdk-lib/aws-lambda-nodejs.
Default: - use the Docker image provided by aws-cdk-lib/aws-lambda-nodejs
- Specified by:
getDockerImagein interfaceBundlingOptions
-
getEsbuildArgs
Description copied from interface:BundlingOptionsBuild arguments to pass into esbuild.For example, to add the --log-limit flag:
new NodejsFunction(scope, id, { ... bundling: { esbuildArgs: { "--log-limit": "0", } } });Returns union: Mapinvalid input: '<'String, either
StringorBoolean>Default: - no additional esbuild arguments are passed
- Specified by:
getEsbuildArgsin interfaceBundlingOptions
-
getEsbuildVersion
Description copied from interface:BundlingOptionsThe version of esbuild to use when running in a Docker container.Default: - latest v0
- Specified by:
getEsbuildVersionin interfaceBundlingOptions
-
getExternalModules
Description copied from interface:BundlingOptionsA list of modules that should be considered as externals (already available in the runtime).Default: - no replacements are made
- Specified by:
getExternalModulesin interfaceBundlingOptions
-
getForceDockerBundling
Description copied from interface:BundlingOptionsForce 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:
getForceDockerBundlingin interfaceBundlingOptions
-
getFormat
Description copied from interface:BundlingOptionsOutput format for the generated JavaScript files.Default: OutputFormat.CJS
- Specified by:
getFormatin interfaceBundlingOptions
-
getInject
Description copied from interface:BundlingOptionsThis option allows you to automatically replace a global variable with an import from another file.Default: - no code is injected
- Specified by:
getInjectin interfaceBundlingOptions- See Also:
-
getKeepNames
Description copied from interface:BundlingOptionsWhether to preserve the originalnamevalues even in minified code.In JavaScript the
nameproperty 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
nameproperty for many of these cases. This is usually fine because thenameproperty is normally only used for debugging. However, some frameworks rely on thenameproperty for registration and binding purposes. If this is the case, you can enable this option to preserve the originalnamevalues even in minified code.Default: false
- Specified by:
getKeepNamesin interfaceBundlingOptions
-
getLoader
Description copied from interface:BundlingOptionsUse 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
importstatement or arequirecall.For example,
{ '.png': 'dataurl' }.Default: - use esbuild default loaders
- Specified by:
getLoaderin interfaceBundlingOptions- See Also:
-
getLogLevel
Description copied from interface:BundlingOptionsLog level for esbuild.This is also propagated to the package manager and applies to its specific install command.
Default: LogLevel.WARNING
- Specified by:
getLogLevelin interfaceBundlingOptions
-
getMainFields
Description copied from interface:BundlingOptionsHow to determine the entry point for modules.Try ['module', 'main'] to default to ES module versions.
Default: []
- Specified by:
getMainFieldsin interfaceBundlingOptions
-
getMetafile
Description copied from interface:BundlingOptionsThis 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:
getMetafilein interfaceBundlingOptions- See Also:
-
getMinify
Description copied from interface:BundlingOptionsWhether to minify files when bundling.Default: false
- Specified by:
getMinifyin interfaceBundlingOptions
-
getNodeModules
Description copied from interface:BundlingOptionsA 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:
getNodeModulesin interfaceBundlingOptions
-
getPreCompilation
Description copied from interface:BundlingOptionsRun 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
tsccompiler. One example of such feature isemitDecoratorMetadata.Default: false
- Specified by:
getPreCompilationin interfaceBundlingOptions
-
getSourceMap
Description copied from interface:BundlingOptionsWhether to include source maps when bundling.Default: false
- Specified by:
getSourceMapin interfaceBundlingOptions
-
getSourceMapMode
Description copied from interface:BundlingOptionsSource map mode to be used when bundling.Default: SourceMapMode.DEFAULT
- Specified by:
getSourceMapModein interfaceBundlingOptions- See Also:
-
getSourcesContent
Description copied from interface:BundlingOptionsWhether to include original source code in source maps when bundling.Default: true
- Specified by:
getSourcesContentin interfaceBundlingOptions- See Also:
-
getTarget
Description copied from interface:BundlingOptionsTarget environment for the generated JavaScript code.Default: - the node version of the runtime
- Specified by:
getTargetin interfaceBundlingOptions- See Also:
-
getTsconfig
Description copied from interface:BundlingOptionsNormally the esbuild automatically discoverstsconfig.jsonfiles and reads their contents during a build.However, you can also configure a custom
tsconfig.jsonfile 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:
getTsconfigin interfaceBundlingOptions
-
getCommand
Description copied from interface:DockerRunOptionsThe command to run in the container.Default: - run the command defined in the image
- Specified by:
getCommandin interfaceDockerRunOptions
-
getEntrypoint
Description copied from interface:DockerRunOptionsThe entrypoint to run in the container.Default: - run the entrypoint defined in the image
- Specified by:
getEntrypointin interfaceDockerRunOptions
-
getEnvironment
Description copied from interface:DockerRunOptionsThe environment variables to pass to the container.Default: - no environment variables.
- Specified by:
getEnvironmentin interfaceDockerRunOptions
-
getNetwork
Description copied from interface:DockerRunOptionsDocker Networking options.Default: - no networking options
- Specified by:
getNetworkin interfaceDockerRunOptions
-
getPlatform
Description copied from interface:DockerRunOptionsSet platform if server is multi-platform capable. Requires Docker Engine API v1.38+.Example value:
linux/amd64Default: - no platform specified
- Specified by:
getPlatformin interfaceDockerRunOptions
-
getSecurityOpt
Description copied from interface:DockerRunOptionsSecurity configuration when running the docker container.Default: - no security options
- Specified by:
getSecurityOptin interfaceDockerRunOptions
-
getUser
Description copied from interface:DockerRunOptionsThe user to use when running the container.Default: - root or image default
- Specified by:
getUserin interfaceDockerRunOptions
-
getVolumes
Description copied from interface:DockerRunOptionsDocker volumes to mount.Default: - no volumes are mounted
- Specified by:
getVolumesin interfaceDockerRunOptions
-
getVolumesFrom
Description copied from interface:DockerRunOptionsWhere to mount the specified volumes from.Default: - no containers are specified to mount volumes from
- Specified by:
getVolumesFromin interfaceDockerRunOptions- See Also:
-
getWorkingDirectory
Description copied from interface:DockerRunOptionsWorking directory inside the container.Default: - image default
- Specified by:
getWorkingDirectoryin interfaceDockerRunOptions
-
$jsii$toJson
@Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson()- Specified by:
$jsii$toJsonin interfacesoftware.amazon.jsii.JsiiSerializable
-
equals
-
hashCode
public final int hashCode()
-