solidjs / solid-start

SolidStart, the Solid app framework
https://start.solidjs.com
MIT License
5.17k stars 375 forks source link

[Bug?]: Error when evaluating SSR module /src/middleware.ts #1375

Closed asterikx closed 7 months ago

asterikx commented 7 months ago

Duplicates

Latest version

Current behavior 😯

After upgrading to version v0.7.2. (from v0.6.1), I get the following error using middleware:

4:21:51 PM [vite] Error when evaluating SSR module /src/middleware.ts: failed to import "@solidjs/start/middleware"
|- Error: Cannot find module '/Users/erikmuller/app/node_modules/@solidjs/start/dist/server/fetchEvent' imported from /Users/erikmuller/app/node_modules/@solidjs/start/dist/middleware/index.js
    at finalizeResolution (node:internal/modules/esm/resolve:264:11)
    at moduleResolve (node:internal/modules/esm/resolve:917:10)
    at defaultResolve (node:internal/modules/esm/resolve:1130:11)
    at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:396:12)
    at ModuleLoader.resolve (node:internal/modules/esm/loader:365:25)
    at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:240:38)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:85:39)
    at link (node:internal/modules/esm/module_job:84:36)

4:21:51 PM [vite] Error when evaluating SSR module #vinxi/handler/ssr: failed to import "/src/middleware.ts"
|- Error: Cannot find module '/Users/erikmuller/app/node_modules/@solidjs/start/dist/server/fetchEvent' imported from /Users/erikmuller/app/node_modules/@solidjs/start/dist/middleware/index.js
    at finalizeResolution (node:internal/modules/esm/resolve:264:11)
    at moduleResolve (node:internal/modules/esm/resolve:917:10)
    at defaultResolve (node:internal/modules/esm/resolve:1130:11)
    at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:396:12)
    at ModuleLoader.resolve (node:internal/modules/esm/loader:365:25)
    at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:240:38)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:85:39)
    at link (node:internal/modules/esm/module_job:84:36)

[h3] [unhandled] H3Error: Cannot find module '/Users/erikmuller/app/node_modules/@solidjs/start/dist/server/fetchEvent' imported from /Users/erikmuller/app/node_modules/@solidjs/start/dist/middleware/index.js
    at finalizeResolution (node:internal/modules/esm/resolve:264:11)
    ... 6 lines matching cause stack trace ...
    at link (node:internal/modules/esm/module_job:84:36) {
  cause: Error: Cannot find module '/Users/erikmuller/app/node_modules/@solidjs/start/dist/server/fetchEvent' imported from /Users/erikmuller/app/node_modules/@solidjs/start/dist/middleware/index.js
      at finalizeResolution (node:internal/modules/esm/resolve:264:11)
      at moduleResolve (node:internal/modules/esm/resolve:917:10)
      at defaultResolve (node:internal/modules/esm/resolve:1130:11)
      at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:396:12)
      at ModuleLoader.resolve (node:internal/modules/esm/loader:365:25)
      at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:240:38)
      at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:85:39)
      at link (node:internal/modules/esm/module_job:84:36) {
    code: 'ERR_MODULE_NOT_FOUND',
    url: 'file:///Users/erikmuller/app/node_modules/@solidjs/start/dist/server/fetchEvent'
  },
  statusCode: 500,
  fatal: false,
  unhandled: true,
  statusMessage: undefined,
  data: undefined
}

Expected behavior 🤔

No error.

Context 🔦

Also other users report the same issue in Discord. This repro hast been posted in the Discord by the Discord user "Ashyni": https://stackblitz.com/edit/github-htmjmk?file=app.config.ts,src%2Fmiddleware.ts

Ashyni commented 7 months ago

https://discord.com/channels/722131463138705510/910635844119982080/1215966951529254942 https://discord.com/channels/722131463138705510/910635844119982080/1215995803102085190 As mentioned in discord, it's related to import { getFetchEvent } from "../server/fetchEvent" expecting import { getFetchEvent } from "../server/fetchEvent.js"

ryansolid commented 7 months ago

It's another one of those fun ones that isn't reproducible inside the repo and only outside for some reason. As far as I can figure it Vinxi processes all .ts, .tsx and .jsx files but not .js files, so after we started compiling types this difference in module resolution showed up.