Victor Rodriguez
11/30/2021, 5:54 PMCfnInclude
, path.join(__dirname, "../../path/to/file")
works
When using sst constructs, it respects the baseUrl in tsconfig.json
, in my case, ./
which is src
, so src/path/to/file
works
For experimental.EdgeFunction
, Code.fromAsset
, seems like it should work the same as CfnInclude
, but I always get:
Error: ENOENT: no such file or directory, copyfile '/Users/***/Projects/***/***/node_modules/@aws-cdk/core/lib/custom-resource-provider/nodejs-entrypoint.js' -> '/Users/***/Projects/***/***/lambdas/.build/lib/edge-function/__entrypoint__.js'
thdxr
11/30/2021, 5:57 PMimport
functionsthdxr
11/30/2021, 5:57 PMpath.join
Victor Rodriguez
11/30/2021, 5:59 PMlambdas
˪ src
| ˪ stacks
| | ˪ jobs-distribution
| | | ˪ my-handler.js
| | | ˪ jobs-distribution.stack.ts
| ˪ index.ts
˪ sst.json
˪ tsconfig.json
˪ package.json
So how will the following work?
const location = path.resolve(__dirname, '../../src/stacks/jobs-distribution');
new experimental.EdgeFunction(this, 'jobAccessControl', {
handler: 'my-handler.handler',
runtime: Runtime.NODEJS_14_X,
code: Code.fromAsset(location) // ENOENT
});
thdxr
11/30/2021, 6:01 PMthdxr
11/30/2021, 6:02 PMVictor Rodriguez
11/30/2021, 7:14 PMCode.fromAsset('src/stacks/jobs-distribution')
, but I get the same ENOENT
error. Is there a way to debug this?thdxr
11/30/2021, 7:19 PMthdxr
11/30/2021, 7:19 PMthdxr
11/30/2021, 7:19 PMconsole.log(process.cwd())
in your stack codeVictor Rodriguez
11/30/2021, 7:21 PMlambdas
thdxr
11/30/2021, 7:24 PMVictor Rodriguez
11/30/2021, 7:27 PMlambdas/src/stacks
and imports each stack from a subdirectory.Victor Rodriguez
11/30/2021, 7:28 PM{
"name": "***",
"region": "us-west-2",
"main": "src/stacks/index.ts",
"lint": false,
"typeCheck": true
}
thdxr
11/30/2021, 7:34 PMVictor Rodriguez
11/30/2021, 7:36 PMthdxr
11/30/2021, 7:37 PMconsole.log(path.resolve("src/stacks/jobs-distribution"))
what do you getVictor Rodriguez
11/30/2021, 7:39 PM/Users/vrodriguez/Projects/***/***/lambdas/src/stacks/jobs-distribution
thdxr
11/30/2021, 7:39 PMVictor Rodriguez
11/30/2021, 7:39 PMthdxr
11/30/2021, 7:40 PMVictor Rodriguez
11/30/2021, 7:40 PMError: ENOENT: no such file or directory, copyfile '/Users/vrodriguez/Projects/onica/casa/node_modules/@aws-cdk/core/lib/custom-resource-provider/nodejs-entrypoint.js' -> '/Users/vrodriguez/Projects/onica/casa/lambdas/.build/lib/edge-function/__entrypoint__.js'
at Object.copyFileSync (node:fs:2800:3)
at new CustomResourceProvider (/Users/vrodriguez/Projects/onica/casa/node_modules/@aws-cdk/core/lib/custom-resource-provider/custom-resource-provider.ts:86:8)
at Function.getOrCreateProvider (/Users/vrodriguez/Projects/onica/casa/node_modules/@aws-cdk/core/lib/custom-resource-provider/custom-resource-provider.ts:69:10)
at Function.getOrCreate (/Users/vrodriguez/Projects/onica/casa/node_modules/@aws-cdk/core/lib/custom-resource-provider/custom-resource-provider.ts:61:17)
at EdgeFunction.createCrossRegionArnReader (/Users/vrodriguez/Projects/onica/casa/node_modules/@aws-cdk/aws-cloudfront/lib/experimental/edge-function.ts:164:49)
at EdgeFunction.createCrossRegionFunction (/Users/vrodriguez/Projects/onica/casa/node_modules/@aws-cdk/aws-cloudfront/lib/experimental/edge-function.ts:146:26)
at new EdgeFunction (/Users/vrodriguez/Projects/onica/casa/node_modules/@aws-cdk/aws-cloudfront/lib/experimental/edge-function.ts:43:14)
at new JobsDistributionStack (/Users/vrodriguez/Projects/onica/casa/lambdas/src/stacks/jobs-distribution/jobs-distribution.stack.ts:44:30)
at Object.main (/Users/vrodriguez/Projects/onica/casa/lambdas/src/stacks/index.ts:64:5)
at Object.<anonymous> (/Users/vrodriguez/Projects/onica/casa/lambdas/.build/run.js:94:16)
thdxr
11/30/2021, 7:41 PMthdxr
11/30/2021, 7:41 PMVictor Rodriguez
11/30/2021, 7:41 PMthdxr
11/30/2021, 7:42 PMthdxr
11/30/2021, 7:43 PM__dirname
inside cdkthdxr
11/30/2021, 7:44 PM@aws-cdk/aws-cloudfront
is in you rpackage.jsonthdxr
11/30/2021, 7:44 PMVictor Rodriguez
11/30/2021, 7:47 PM