-
Notifications
You must be signed in to change notification settings - Fork 12
Description
I have set up a workspace with three packages:
{
"workspace": [
"./packages/core",
"./packages/cli",
"./packages/web",
],
"imports": {
"@std/fs": "jsr:@std/fs@^1.0.1",
"@std/path": "jsr:@std/path@^1.0.2",
"@andykais/ts-rpc": "jsr:@andykais/ts-rpc@^0.1.1",
"@std/media-types": "jsr:@std/media-types@0.224.0",
"forager-test": "./lib/test/lib/util.ts"
},
"nodeModulesDir": "auto"
}
I am working on setting up the web
package that will be a sveltekit project. My vite.config.ts looks like this:
import tailwindcss from "@tailwindcss/vite";
import deno from "@deno/vite-plugin";
import { sveltekit } from '@sveltejs/kit/vite';
import { defineConfig } from 'vite';
export default defineConfig({
plugins: [deno(), sveltekit(), tailwindcss()],
server: {
fs: {
allow: ['../../node_modules']
}
}
});
I have not touched the defaults from deno run npm:sv create web
(with the options typesscript, tailwind). I noticed that when I attempt to import the @forager/core
(mapped to ./packages/core
dependency, it fails because of an import alias I have set up in that workspace. Full deno.json here:
{
"name": "@forager/core",
"version": "0.6.0",
"tasks": {
"lint": "deno lint",
"test": "deno test --allow-run=ffprobe,ffmpeg --unstable-ffi --check --allow-read --allow-write --allow-ffi --allow-env=HOME,DENO_DIR,XDG_CACHE_HOME --allow-net=github.com,objects.githubusercontent.com --trace-leaks test",
"test:watch": "deno test --allow-run=ffprobe,ffmpeg --unstable-ffi --check --allow-read --allow-write --allow-ffi --allow-env=HOME,DENO_DIR,XDG_CACHE_HOME --allow-net=github.com,objects.githubusercontent.com --trace-leaks --watch"
},
"imports": {
"@std/fmt": "jsr:@std/fmt@0.225.6",
"@std/fs": "jsr:@std/fs@0.229.3",
"@std/log": "jsr:@std/log@^0.224.6",
"@std/media-types": "jsr:@std/media-types@0.224.0",
"@std/path": "jsr:@std/path@1.0.0",
"@torm/sqlite": "jsr:@torm/sqlite@^1.6.0",
"forager": "./src/mod.ts",
"ts-pattern": "npm:ts-pattern@5.2.0",
"zod": "npm:zod@^3.24.2",
"~/": "./src/"
},
"exports": {
".": "./src/mod.ts",
"./logger": "./src/lib/logger.ts"
},
"lint": {
"include": [
"./src/",
"./test/"
],
"rules": {
"tags": [],
"include": [
"no-unused-vars"
]
}
}
}
I believe the key piece that is breaking here is "~/": "./src/"
. I feel this is true because vite is breaking on the very first import that uses the alias, though it resolves relative imports.
4:26:06 PM [vite] (ssr) Error when evaluating SSR module /Users/andrew.kaiser/Code/andykais/forager/monorepo/packages/web/src/routes/test/+server.ts: Cannot find module '~/lib/logger.ts' imported from '/Users/andrew.kaiser/Code/andykais/forager/monorepo/packages/core/src/context.ts'
at fetchModule (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/chunks/dep-ByPKlqZ5.js:52036:19)
at RunnableDevEnvironment.fetchModule (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/chunks/dep-ByPKlqZ5.js:53130:12)
at fetchModule (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/chunks/dep-ByPKlqZ5.js:53088:21)
at handleInvoke (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/chunks/dep-ByPKlqZ5.js:44492:28)
at EventEmitter.listenerForInvokeHandler (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/chunks/dep-ByPKlqZ5.js:44565:25)
at EventEmitter.emit (ext:deno_node/_events.mjs:393:28)
at Object.send (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/chunks/dep-ByPKlqZ5.js:30829:40)
at Object.invoke (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/module-runner.js:610:34)
at Object.invoke (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/module-runner.js:671:34)
at SSRCompatModuleRunner.getModuleInformation (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/module-runner.js:1192:94)
Error: Cannot find module '~/lib/logger.ts' imported from '/Users/andrew.kaiser/Code/andykais/forager/monorepo/packages/core/src/context.ts'
at fetchModule (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/chunks/dep-ByPKlqZ5.js:52036:19)
at RunnableDevEnvironment.fetchModule (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/chunks/dep-ByPKlqZ5.js:53130:12)
at fetchModule (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/chunks/dep-ByPKlqZ5.js:53088:21)
at handleInvoke (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/chunks/dep-ByPKlqZ5.js:44492:28)
at EventEmitter.listenerForInvokeHandler (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/chunks/dep-ByPKlqZ5.js:44565:25)
at EventEmitter.emit (ext:deno_node/_events.mjs:393:28)
at Object.send (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/chunks/dep-ByPKlqZ5.js:30829:40)
at Object.invoke (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/module-runner.js:610:34)
at Object.invoke (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/module-runner.js:671:34)
at SSRCompatModuleRunner.getModuleInformation (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/module-runner.js:1192:94) {
stack: "Error: Cannot find module '~/lib/logger.ts' imported from '/Users/andrew.kaiser/Code/andykais/forager/monorepo/packages/core/src/context.ts'\n" +
" at fetchModule (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/chunks/dep-ByPKlqZ5.js:52036:19)\n" +
" at RunnableDevEnvironment.fetchModule (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/chunks/dep-ByPKlqZ5.js:53130:12)\n" +
" at fetchModule (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/chunks/dep-ByPKlqZ5.js:53088:21)\n" +
" at handleInvoke (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/chunks/dep-ByPKlqZ5.js:44492:28)\n" +
" at EventEmitter.listenerForInvokeHandler (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/chunks/dep-ByPKlqZ5.js:44565:25)\n" +
" at EventEmitter.emit (ext:deno_node/_events.mjs:393:28)\n" +
" at Object.send (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/chunks/dep-ByPKlqZ5.js:30829:40)\n" +
" at Object.invoke (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/module-runner.js:610:34)\n" +
" at Object.invoke (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/module-runner.js:671:34)\n" +
" at SSRCompatModuleRunner.getModuleInformation (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/module-runner.js:1192:94)",
name: "Error",
code: "ERR_MODULE_NOT_FOUND",
runnerError: Error: RunnerError
at reviveInvokeError (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/module-runner.js:541:18)
at Object.invoke (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/module-runner.js:624:15)
at async SSRCompatModuleRunner.getModuleInformation (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/module-runner.js:1192:73)
at async request (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/module-runner.js:1214:88)
at async eval (/Users/andrew.kaiser/Code/andykais/forager/monorepo/packages/core/src/context.ts, <anonymous>:3:44)
at async ESModulesEvaluator.runInlinedModule (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/module-runner.js:1049:5)
at async SSRCompatModuleRunner.directRequest (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/module-runner.js:1271:61)
at async SSRCompatModuleRunner.directRequest (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/chunks/dep-ByPKlqZ5.js:30913:23)
at async SSRCompatModuleRunner.cachedRequest (file:///Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/vite@6.2.0/node_modules/vite/dist/node/module-runner.js:1167:76)
at async eval (deno::TypeScript::@forager/core::/Users/andrew.kaiser/Code/andykais/forager/monorepo/packages/core/src/mod.ts, <anonymous>:3:44)
}
Error: Not found: /favicon.ico
at resolve (/Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/@sveltejs+kit@2.17.3/node_modules/@sveltejs/kit/src/runtime/server/respond.js, <anonymous>:438:18)
at resolve (/Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/@sveltejs+kit@2.17.3/node_modules/@sveltejs/kit/src/runtime/server/respond.js, <anonymous>:273:34)
at Object.eval [as handle] (/Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/@sveltejs+kit@2.17.3/node_modules/@sveltejs/kit/src/runtime/server/index.js, <anonymous>:78:56)
at respond (/Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/@sveltejs+kit@2.17.3/node_modules/@sveltejs/kit/src/runtime/server/respond.js, <anonymous>:271:42)
at Object.runMicrotasks (ext:core/01_core.js:686:26)
at processTicksAndRejections (ext:deno_node/_next_tick.ts:59:10)
at runNextTicks (ext:deno_node/_next_tick.ts:76:3)
at eventLoopTick (ext:core/01_core.js:184:21) {
stack: "Error: Not found: /favicon.ico\n" +
" at resolve (/Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/@sveltejs+kit@2.17.3/node_modules/@sveltejs/kit/src/runtime/server/respond.js, <anonymous>:438:18)\n" +
" at resolve (/Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/@sveltejs+kit@2.17.3/node_modules/@sveltejs/kit/src/runtime/server/respond.js, <anonymous>:273:34)\n" +
" at Object.eval [as handle] (/Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/@sveltejs+kit@2.17.3/node_modules/@sveltejs/kit/src/runtime/server/index.js, <anonymous>:78:56)\n" +
" at respond (/Users/andrew.kaiser/Code/andykais/forager/monorepo/node_modules/.deno/@sveltejs+kit@2.17.3/node_modules/@sveltejs/kit/src/runtime/server/respond.js, <anonymous>:271:42)\n" +
" at Object.runMicrotasks (ext:core/01_core.js:686:26)\n" +
" at processTicksAndRejections (ext:deno_node/_next_tick.ts:59:10)\n" +
" at runNextTicks (ext:deno_node/_next_tick.ts:76:3)\n" +
" at eventLoopTick (ext:core/01_core.js:184:21)",
status: 404,
text: "Not Found"
is this expected behavior? I am wondering if I should refactor my repo to only use relative imports, or if this is just something that has yet to be implemented in this plugin.
Let me know if a full repro repo is necessary to help out here. I can add one if its useful, but if this is just a known thing that is not implemented in this plugin, I want to hold off on that