Run npx webpack as part of Cloud Run deployment

Viewed 36

I have a web application that's a hybrid of JS/NPM/Webpack for the frontend and Python/Django for the backend. The backend code and the source code for the frontend are stored in the code repository but the "compiled" frontend code is not as the expectation is that Webpack would build this code after deployment.

Currently, I have the following package.json:

{
  "name": "Name",
  "description": "...",
  "scripts": {
    "start": "npx webpack --config webpack.config.js"
  },
  "engines": {
    "npm": ">=8.11.0",
    "node": ">=16.15.1"
  },
  "devDependencies": {
    [...]
  },
  "dependencies": {
    [...]
  }
}

The app is deployed to Google Cloud's Run Cloud via the deploy command, specifically:

/gcloud/google-cloud-sdk/bin/gcloud run deploy [SERVICE-NAME] --source . --region us-west1 --allow-unauthenticated

However, the command npx webpack --config webpack.config.js is apparently never executed as the built files are not generated. Django returns the error:

Error reading /app/webpack-stats.json. Are you sure webpack has generated the file and the path is correct?

What's the most elegant/efficient way to execute the build command in production? Should I include in the Dockerfile via RUN npx webpack --config webpack.config.js? I'm not even sure this would work.

0 Answers
Related