[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"problem-detail-error-static-node-build-completed-without-dist-index-html":3},{"stack":4,"error":5,"seoName":6,"seoStack":7,"seo":8,"breadcrumb":10,"titlePrefix":17,"titleAccent":6,"lead":18,"facts":21,"why":36,"log":46,"fix":75,"engine":88,"related":95,"pitch":105},"node","static-node-build-completed-without-dist-index-html","Static Node build completed without dist\u002Findex.html","Node.js",{"description":9},"Learn what causes Static Node build completed without dist\u002Findex.html, how PanelAlpha Engine responds to it during deployment.",[11,14,16],{"label":12,"href":13},"App Installations","\u002Fapps",{"label":7,"href":15},"\u002Fapps\u002Fstacks\u002Fnode",{"label":6},"",[19],{"text":20},"Error recorded 2 times in PanelAlpha Engine deploys on Node.js. 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","Observed","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,41,44],{"text":40},"The project was detected as a static SPA, so Engine expected a built site at dist\u002Findex.html. Its build command runs only ",{"text":42,"code":43},"tsc",true,{"text":45},", and no dist\u002Findex.html was produced. The build therefore finished, but the static site could not be started.",{"heading":47,"block":48},"What the log looks like",{"header":49,"lines":50},"Deploy log",[51,55,59,63,67,71],{"segments":52},[53],{"text":54},"Detected project type: Static SPA (bundler build)",{"segments":56},[57],{"text":58},"Using strategy: node",{"segments":60},[61],{"text":62},"Compiling static assets on host",{"segments":64},[65],{"text":66},"> bubo-reader@2.0.2 build",{"segments":68},[69],{"text":70},"> tsc",{"segments":72},[73],{"text":74},"Deploy failed: Failed to start app: Static build finished but dist\u002Findex.html is missing",{"heading":76,"steps":77,"block":85},"How to fix it",[78],[79,81,83],{"text":80},"Check package.json and confirm the build command generates a browser bundle and dist\u002Findex.html. Configure the bundler output directory to ",{"text":82,"code":43},"dist",{"text":84},", or update the detected build\u002Foutput settings to match the project. If this is not a static SPA, use a strategy that starts the application server instead.",{"header":86,"lines":87},"Fix by hand",[],{"heading":89,"body":90,"block":93},"How PanelAlpha Engine solves it",[91],{"text":92},"Validate the expected output file after the build and report the actual build directory or command when it is missing. Detection could also distinguish a TypeScript compile-only project from a browser SPA before selecting the static strategy.",{"header":17,"lines":94},[],{"heading":96,"items":97},"Apps affected",[98,102],{"title":99,"badge":100,"tone":25,"href":101},"saladict","1 occurrence","\u002Fapps\u002Fcrimx\u002Fext-saladict",{"title":103,"badge":100,"tone":25,"href":104},"vditor","\u002Fapps\u002Fvanessa219\u002Fvditor",{"heading":106,"body":107,"footNote":108,"docsLabel":109,"docsHref":110},"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"]