[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"problem-detail-error-old-webpack-build-is-not-compatible-with-node":3},{"stack":4,"error":5,"seoName":6,"seoStack":7,"seo":8,"breadcrumb":10,"titlePrefix":17,"titleAccent":6,"lead":18,"facts":21,"why":36,"log":41,"fix":86,"engine":100,"related":104,"pitch":111},"cra","old-webpack-build-is-not-compatible-with-node","Old webpack 4 build is not compatible with Node 17 and newer","Cra",{"description":9},"Learn what causes Old webpack 4 build is not compatible with Node 17 and newer, how PanelAlpha Engine responds to it during deployment.",[11,14,16],{"label":12,"href":13},"App Installations","\u002Fapps",{"label":7,"href":15},"\u002Fapps\u002Fstacks\u002Fcra",{"label":6},"",[19],{"text":20},"Error recorded 2 times in PanelAlpha Engine deploys on Cra. The deploy log below is the recorded failure output.",[22,27,30,32],{"label":23,"value":24,"tone":25,"tooltip":26},"Type","Error","err","An error that occurred in the deployed application. It is not necessarily a PanelAlpha Engine error, but we keep working on improvements so you run into fewer of them.",{"label":28,"value":29},"Seen","2 times",{"label":31,"value":7},"Where",{"label":33,"value":34,"tooltip":35},"Status","In Analysis","Our team will look into this soon, verify the cause and try to fix it in an upcoming release.",{"heading":37,"body":38},"Why it happens",[39],{"text":40},"The project builds with react-scripts 3 (webpack 4), which uses a hash algorithm that OpenSSL 3 in Node 17 and newer refuses. The engine builds it with Node 22 because the project does not declare a Node version.",{"heading":42,"block":43},"What the log looks like",{"header":44,"lines":45},"Deploy log",[46,50,54,58,62,66,70,74,78,82],{"segments":47},[48],{"text":49},"Error: error:0308010C:digital envelope routines::unsupported",{"segments":51},[52],{"text":53},"at new Hash (node:internal\u002Fcrypto\u002Fhash:101:19)",{"segments":55},[56],{"text":57},"at Object.createHash (node:crypto:139:10)",{"segments":59},[60],{"text":61},"at module.exports (\u002Fapp\u002Fnode_modules\u002Fwebpack\u002Flib\u002Futil\u002FcreateHash.js:135:53)",{"segments":63},[64],{"text":65},"at NormalModule._initBuildHash (\u002Fapp\u002Fnode_modules\u002Fwebpack\u002Flib\u002FNormalModule.js:417:16)",{"segments":67},[68],{"text":69},"at handleParseError (\u002Fapp\u002Fnode_modules\u002Fwebpack\u002Flib\u002FNormalModule.js:471:10)",{"segments":71},[72],{"text":73},"at \u002Fapp\u002Fnode_modules\u002Fwebpack\u002Flib\u002FNormalModule.js:503:5",{"segments":75},[76],{"text":77},"at \u002Fapp\u002Fnode_modules\u002Fwebpack\u002Flib\u002FNormalModule.js:358:12",{"segments":79},[80],{"text":81},"at \u002Fapp\u002Fnode_modules\u002Floader-runner\u002Flib\u002FLoaderRunner.js:373:3",{"segments":83},[84],{"text":85},"at iterateNormalLoaders (\u002Fapp\u002Fnode_module…",{"heading":87,"steps":88,"block":97},"How to fix it",[89],[90,92,95],{"text":91},"Upgrade to react-scripts 5 (webpack 5), or add ",{"text":93,"code":94},"\"engines\": {\"node\": \"16\"}",true,{"text":96}," to package.json. A future engine release will enable OpenSSL's legacy provider for webpack 4 builds automatically.",{"header":98,"lines":99},"Fix by hand",[],{"heading":17,"body":101,"block":102},[],{"header":17,"lines":103},[],{"heading":105,"items":106},"Apps affected",[107],{"title":108,"badge":109,"tone":25,"href":110},"facebook-messenger-clone","2 occurrences","\u002Fapps\u002Fsantaknew\u002Freact-messenger-clone",{"heading":112,"body":113,"footNote":114,"docsLabel":115,"docsHref":116},"Try PanelAlpha Engine yourself.","The easiest way to turn your server into a safe, controlled environment for your AI agent. Deploy, manage and maintain any project from Claude Code, Cursor, Codex or any other MCP client. Open source under Apache 2.0, free to run.","Requires Ubuntu 24.04 or 26.04 · 2 GB RAM · 1 CPU","Read the documentation","https:\u002F\u002Fpanelalpha.com\u002Fdocs"]