Juan
Juan5mo ago

Deno + Vite + Local Packages Issue

Hello! I'm new to deno and I'm giving a try to deno 2. I have a Vite project that relies on local packages.
deno -v
deno 2.0.2
deno -v
deno 2.0.2
<root>
├── some-vite-project <--- uses pkg-a and pkg-b
│ ├── deno.json
│ ├── index.html
│ ├── public
│ ├── src
│ └── vite.config.ts
├── deno.json
└── packages
   ├── pkg-a
   │   ├── mod.ts
   │   ├── deno.json
   └── pkg-b
   ├── mod.ts
   └── deno.json
<root>
├── some-vite-project <--- uses pkg-a and pkg-b
│ ├── deno.json
│ ├── index.html
│ ├── public
│ ├── src
│ └── vite.config.ts
├── deno.json
└── packages
   ├── pkg-a
   │   ├── mod.ts
   │   ├── deno.json
   └── pkg-b
   ├── mod.ts
   └── deno.json
In node/bun, you would use workspace protocols in package.json (https://bun.sh/docs/install/workspaces):
{
"name": "some-vite-project",
"dependencies": {
"@scope/pkg-a": "workspace:*",
"@scope/pkg-b": "workspace:*"
}
}
{
"name": "some-vite-project",
"dependencies": {
"@scope/pkg-a": "workspace:*",
"@scope/pkg-b": "workspace:*"
}
}
Following Deno's documentation, I attempted to use relative imports in deno.json:
{
"imports": {
"@scope/pkg-a": "../pkg-a/mod.ts",
"@scope/pkg-b": "../pkg-b/mod.ts",
"vite": "npm:vite@^5.4.9"
}
}
{
"imports": {
"@scope/pkg-a": "../pkg-a/mod.ts",
"@scope/pkg-b": "../pkg-b/mod.ts",
"vite": "npm:vite@^5.4.9"
}
}
However, this results in the following error:
[plugin:vite:import-analysis] Failed to resolve import "@scope/pkg-a" from "src/main.ts". Does the file exist?
/home/user/Desktop/deno-project/src/main.ts:3:34
1 | import "./style.css";
2 | import { someMethod } from "@scope/pkg-a";
| ^
3 | console.log(someMethod());
[plugin:vite:import-analysis] Failed to resolve import "@scope/pkg-a" from "src/main.ts". Does the file exist?
/home/user/Desktop/deno-project/src/main.ts:3:34
1 | import "./style.css";
2 | import { someMethod } from "@scope/pkg-a";
| ^
3 | console.log(someMethod());
I've set the workspace field in the root deno.json file like this:
{
"workspace": ["./some-vite-project", "./packages/pkg-a", "./package/pkg-b"],
}
{
"workspace": ["./some-vite-project", "./packages/pkg-a", "./package/pkg-b"],
}
Thanks for any help!
3 Replies
Almaju
Almaju3mo ago
Hi @Juan I am having a similar issue, did you manage to solve your problem?
SKUZZIE
SKUZZIE2mo ago
Just ran into this myself, anyone figure out a solution?
SKUZZIE
SKUZZIE2mo ago
GitHub
vite can't resolve local module in deno workspace from a node proje...
Version: Deno 2.0.0 Reproduction Repo linked below : https://github.com/cam-mcevenue/deno-monorepo-repro/tree/main I am attempting to build a sveltekit project within a deno monorepo. I have two di...

Did you find this page helpful?