serverless-nextjs/serverless-next.js
CDK Construct - S3 Deployment stage missing `basePath`
Ouverte
#1 620 ouverte le 2 sept. 2021
good first issue
Métriques du dépôt
- Stars
- (3 998 étoiles)
- Métriques de merge PR
- (Métriques PR en attente)
Description
If basePath is set in next.config.js, the build would put static assets within ${sererlessBuildOutDir}/assets/${basePath}.
However, in the CDK construct (NextJSLambdaEdge), it tries to read the assets from ${sererlessBuildOutDir}/assets without including the basePath
The function returns with an empty assets object leading to none of the assets being uploaded.
Similar code in s3-static-assets handle this correctly
The fix looks relatively straight forward and it works for my use case.
const { basePath } = this.routesManifest || {};
const normalizedBasePath = basePath && basePath.length > 0? basePath.slice(1) : "";
const assets = readAssetsDirectory({ assetsDirectory: path.join(assetsDirectory, normalizedBasePath) });