@cfxlabsinc/nx-lambdaWorkspace-internal Nx plugin for CFX lambda API projects.
The plugin's createNodesV2 watches for **/src/lambda.ts. When it finds one alongside src/main.ts, it contributes these targets to the project (in addition to whatever's in the project's project.json):
build-lambda, serve, doppler-serveserve-lambda, doppler-serve-lambdatestIt also tags the project with lambda.
Pulumi targets (pulumi-up, pulumi-preview, pulumi-cancel, pulumi-stack-init, pulumi-refresh) are contributed by @cfxlabsinc/nx-pulumi whenever a pulumi/Pulumi.yaml is present.
The actual executors and options come from nx.json targetDefaults. The plugin only declares that the project participates in those target names.
build and typecheck live in project.json, not the pluginNx merges targetDefaults after plugin contributions. That means targetDefaults.build.dependsOn = ["^build"] and targetDefaults.typecheck.options.tsConfig = ["tsconfig.lib.json", ...] win over a plugin's values for those keys. The lambda-specific overrides for those two targets (build → dependsOn: ["build-lambda"], typecheck → tsConfig: ["tsconfig.app.json", ...]) only stick when declared on the project itself.
Plugin is registered in workspace nx.json under plugins:
{
"plugin": "@cfxlabsinc/nx-lambda",
"options": {}
}
Resolves through the path mapping in tsconfig.base.json:
"@cfxlabsinc/nx-lambda": ["./packages/nx-lambda/src/index.ts"]