I've deployed some code a AWS lambda and I am getting the following error:
ENOENT No such file or directory found var/task/../data/cacert.pem
The file it's looking for is within the lambda see image below:
I used webpack to add the file there :
{
from: 'node_modules/tinify/lib/data/cacert.pem', to: 'app/../data/cacert.pem'
}
Can anyone help me understand whats causing this?
Edit:
The certificate file is being imported within the handler.js
file see below:
let data = fs.readFileSync(__dirname "/../data/cacert.pem").toString()
Please note that the above code is added by webpack when it bundles the app and I can't edit that import statement. The certificate is needed by aa third party library (tinify.js).
You've got an error in the code that is importing the certificate. You're not constructing the path correctly.
You should use the following:
path.join
will construct the correct path based on the location of the handler file and the relative path between the handler and the certificate.