Interface NodejsFunctionProps
- All Superinterfaces:
EventInvokeConfigOptions
,FunctionOptions
,software.amazon.jsii.JsiiSerializable
- All Known Implementing Classes:
NodejsFunctionProps.Jsii$Proxy
Example:
NodejsFunction.Builder.create(this, "my-handler") .bundling(BundlingOptions.builder() .minify(true) // minify code, defaults to false .sourceMap(true) // include source map, defaults to false .sourceMapMode(SourceMapMode.INLINE) // defaults to SourceMapMode.DEFAULT .sourcesContent(false) // do not include original source into source map, defaults to true .target("es2020") // target environment for the generated JavaScript code .loader(Map.of( // Use the 'dataurl' loader for '.png' files ".png", "dataurl")) .define(Map.of( // Replace strings during build time "process.env.API_KEY", JSON.stringify("xxx-xxxx-xxx"), "process.env.PRODUCTION", JSON.stringify(true), "process.env.NUMBER", JSON.stringify(123))) .logLevel(LogLevel.SILENT) // defaults to LogLevel.WARNING .keepNames(true) // defaults to false .tsconfig("custom-tsconfig.json") // use custom-tsconfig.json instead of default, .metafile(true) // include meta file, defaults to false .banner("/* comments */") // requires esbuild >= 0.9.0, defaults to none .footer("/* comments */") // requires esbuild >= 0.9.0, defaults to none .charset(Charset.UTF8) // do not escape non-ASCII characters, defaults to Charset.ASCII .format(OutputFormat.ESM) // ECMAScript module output format, defaults to OutputFormat.CJS (OutputFormat.ESM requires Node.js 14.x) .mainFields(List.of("module", "main")) // prefer ECMAScript versions of dependencies .inject(List.of("./my-shim.js", "./other-shim.js")) // allows to automatically replace a global variable with an import from another file .esbuildArgs(Map.of( // Pass additional arguments to esbuild "--log-limit", "0", "--splitting", true)) .build()) .build();
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic final class
A builder forNodejsFunctionProps
static final class
An implementation forNodejsFunctionProps
-
Method Summary
Modifier and TypeMethodDescriptionstatic NodejsFunctionProps.Builder
builder()
default Boolean
Whether to automatically reuse TCP connections when working with the AWS SDK for JavaScript.default BundlingOptions
Bundling options.default String
The path to the dependencies lock file (yarn.lock
orpackage-lock.json
).default String
getEntry()
Path to the entry file (JavaScript or TypeScript).default String
The name of the exported handler in the entry file.default String
The path to the directory containing project config files (package.json
ortsconfig.json
).default Runtime
The runtime environment.Methods inherited from interface software.amazon.awscdk.services.lambda.EventInvokeConfigOptions
getMaxEventAge, getOnFailure, getOnSuccess, getRetryAttempts
Methods inherited from interface software.amazon.awscdk.services.lambda.FunctionOptions
getAllowAllOutbound, getAllowPublicSubnet, getArchitecture, getArchitectures, getCodeSigningConfig, getCurrentVersionOptions, getDeadLetterQueue, getDeadLetterQueueEnabled, getDeadLetterTopic, getDescription, getEnvironment, getEnvironmentEncryption, getEphemeralStorageSize, getEvents, getFilesystem, getFunctionName, getInitialPolicy, getInsightsVersion, getLayers, getLogRetention, getLogRetentionRetryOptions, getLogRetentionRole, getMemorySize, getProfiling, getProfilingGroup, getReservedConcurrentExecutions, getRole, getSecurityGroup, getSecurityGroups, getTimeout, getTracing, getVpc, getVpcSubnets
Methods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Method Details
-
getAwsSdkConnectionReuse
Whether to automatically reuse TCP connections when working with the AWS SDK for JavaScript.This sets the
AWS_NODEJS_CONNECTION_REUSE_ENABLED
environment variable to1
.Default: true
- See Also:
-
getBundling
Bundling options.Default: - use default bundling options: no minify, no sourcemap, all modules are bundled.
-
getDepsLockFilePath
The path to the dependencies lock file (yarn.lock
orpackage-lock.json
).This will be used as the source for the volume mounted in the Docker container.
Modules specified in
nodeModules
will be installed using the right installer (npm
oryarn
) along with this lock file.Default: - the path is found by walking up parent directories searching for a `yarn.lock` or `package-lock.json` file
-
getEntry
Path to the entry file (JavaScript or TypeScript).Default: - Derived from the name of the defining file and the construct's id. If the `NodejsFunction` is defined in `stack.ts` with `my-handler` as id (`new NodejsFunction(this, 'my-handler')`), the construct will look at `stack.my-handler.ts` and `stack.my-handler.js`.
-
getHandler
The name of the exported handler in the entry file.Default: handler
-
getProjectRoot
The path to the directory containing project config files (package.json
ortsconfig.json
).Default: - the directory containing the `depsLockFilePath`
-
getRuntime
The runtime environment.Only runtimes of the Node.js family are supported.
Default: Runtime.NODEJS_14_X
-
builder
- Returns:
- a
NodejsFunctionProps.Builder
ofNodejsFunctionProps
-