builder icon indicating copy to clipboard operation
builder copied to clipboard

`npm run dev` "package.json invalid path" error caused by `@builder.io/dev-tools`

Open ijustwannacodetoday opened this issue 1 year ago • 3 comments

Hi, I just signed up for Builder, I’m on the “Welcome to Builder” screen, using “Integrate your existing project”. I get an error when starting dev server - Error: Invalid path: C:\dev\project\code\package.json (7341) - when executing npm run dev on Windows.

Describe the bug I created a new Qwik site using Cloudflare Pages integration following Deploy a Qwik site · Cloudflare Pages docs. Then, I signed up at builder.io, and got to the “Welcome to Builder” screen, which said to run npm init builder.io@latest --existing to “Integrate your existing project”. After that, I ran npm install and npm run dev, but it errors out right away with the following:

> dev
> vite --mode ssr

error when starting dev server:
Error: Invalid path: C:\dev\project\code\package.json (7341)
    at m (file:///C:/dev/project/code/node_modules/@builder.io/dev-tools/node/index.mjs:1:2907)
    at Object.readFile (file:///C:/dev/project/code/node_modules/@builder.io/dev-tools/node/index.mjs:1:1629)
    at f (file:///C:/dev/project/code/node_modules/@builder.io/dev-tools/node/index.mjs:1:466)
    at u (file:///C:/dev/project/code/node_modules/@builder.io/dev-tools/node/index.mjs:1:583)
    at $ (file:///C:/dev/project/code/node_modules/@builder.io/dev-tools/node/index.mjs:1:2704)
    at configureServer (file:///C:/dev/project/code/node_modules/@builder.io/dev-tools/vite/index.mjs:3:293)
    at _createServer (file:///C:/dev/project/code/node_modules/vite/dist/node/chunks/dep-jDlpJiMN.js:64550:30)
    at async CAC.<anonymous> (file:///C:/dev/project/code/node_modules/vite/dist/node/cli.js:762:24)

To Reproduce Steps to reproduce the behavior on Windows:

  1. npm create cloudflare@latest my-qwik-app -- --framework=qwik
  2. npm init builder.io@latest --existing
  3. npm install
  4. npm run dev

Expected behavior Qwik dev server working locally on a Windows machine after integrating Builder.

Additional context These are the dependencies added:

    "@builder.io/dev-tools": "^0.2.19",
    "@builder.io/sdk-qwik": "^0.14.3"

And it fails here:

if(!o.startsWith(n))throw new Error(`Invalid path: ${o} (7341)`)

Debugging values:

n: 'C:/dev/project/code'
o: 'C:\dev\project\code\package.json'

The issue seems to stem from a non-normalized path separator.

Could anyone please help fix this?

ijustwannacodetoday avatar Mar 07 '24 08:03 ijustwannacodetoday

Solution 1:

A quick fix for you and anyone on Windows

Edit your /node_modules/@builder.io/dev-tools/vite/index.mjs file on line 3, character 293

// add .replaceAll("/", "\\") to t.config.root
async configureServer(t){let n=await $({getRootDir:()=>t.config.root.replaceAll("/", "\\")})

Solution 2: A bit more typing Edit your /node_modules/@builder.io/dev-tools/vite/index.mjs file

// import join from path at beginning of file
import { join } from 'path';
//... rest of file
// search for and edit -> configureServer(t)
async configureServer(t){let n=await $({getRootDir:()=>join(t.config.root)})
//... rest of file

rbaekdev avatar Mar 23 '24 19:03 rbaekdev

Thank you @rbaekdev for the workaround!

mrkoreye avatar Apr 09 '24 15:04 mrkoreye

how can I fix the issue with out editing the node modules ??

akshays-repo avatar Apr 09 '24 16:04 akshays-repo

Should be fixed asap

freebreix avatar Jun 02 '24 11:06 freebreix

The issue is fixed in latest dev-tools version 1.0.13

harmeet-builder avatar Jun 05 '24 13:06 harmeet-builder