Skip to content

Avoid confusing error when trying to run in production #309

@wkeese

Description

@wkeese

Developers in our division have NODE_ENV=dev set in our environments. This leads to confusing errors when you try to build and run in production via:

npm run build
npm run preview:prod

Everything seems to work, but when you try to load any page it gets an error:

% npm run preview:prod

> carbon-react-starter@0.1.0 preview:prod
> cross-env NODE_ENV=production node src/server.js

Server started at http://localhost:5173/
TypeError: jsxDEV is not a function
    at render (file:///Users/bill/oss/carbon-react-router-starter/dist/server/entry-server.js:1396:132)
    at file:///Users/bill/oss/carbon-react-router-starter/src/server.js:67:41
TypeError: jsxDEV is not a function
    at render (file:///Users/bill/oss/carbon-react-router-starter/dist/server/entry-server.js:1396:132)
    at file:///Users/bill/oss/carbon-react-router-starter/src/server.js:67:41
TypeError: jsxDEV is not a function
    at render (file:///Users/bill/oss/carbon-react-router-starter/dist/server/entry-server.js:1396:132)
    at file:///Users/bill/oss/carbon-react-router-starter/src/server.js:67:41

Your preview:prod script explicitly sets NODE_ENV to "production":

    "preview:prod": "cross-env NODE_ENV=production node src/server.js",

So maybe the build scripts should do the same thing?

    "build": "npm run build:client && npm run build:server",
    "build:client": "vite build --ssrManifest .vite/ssr-manifest.json  --outDir dist/client",
    "build:server": "vite build --ssr src/entry-server.jsx --outDir dist/server",

And also maybe build should be renamed to build:prod (and maybe likewise for build:client and build:server).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions