DenoDDeno
Powered by
tacoT
Denoβ€’13mo agoβ€’
3 replies
taco

Vite + Codemirror in SvelteKit 4 broken due to @codemirror/state being loaded twice

I am trying to migrate the SvelteKit project from Node to Deno, and this issue is preventing me from switching over.

The npm modules installed alongside SvelteKit 4 needed to reproduce are
codemirror @codemirror/lang-json
codemirror @codemirror/lang-json


I would imagine that being able to change the
.deno
.deno
directory to somewhere outside of
node_modules
node_modules
would fix this.

This is the error received in the browser on load:
Error: Unrecognized extension value in extension set ([object Object]). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.
Error: Unrecognized extension value in extension set ([object Object]). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.


The 2 instances being loaded in the browser are at:
node_modules/@codemirror/state/dist/index.js
node_modules/@codemirror/state/dist/index.js

node_modules/.deno/@codemirror+state@6.5.2/node_modules/@codemirror/state/dist
node_modules/.deno/@codemirror+state@6.5.2/node_modules/@codemirror/state/dist


This is running in the denoland/deno:alpine docker container.
FROM denoland/deno:alpine as dev

COPY ./lib /app/lib

COPY ./web /app/web

WORKDIR /app/web

RUN deno install

EXPOSE 5173

CMD ["deno", "run", "-A", "npm:vite", "dev", "--host"]
FROM denoland/deno:alpine as dev

COPY ./lib /app/lib

COPY ./web /app/web

WORKDIR /app/web

RUN deno install

EXPOSE 5173

CMD ["deno", "run", "-A", "npm:vite", "dev", "--host"]


Deno version (in the container):
deno 2.2.2 (stable, release, x86_64-unknown-linux-gnu)
v8 13.4.114.9-rusty
typescript 5.7.3
deno 2.2.2 (stable, release, x86_64-unknown-linux-gnu)
v8 13.4.114.9-rusty
typescript 5.7.3


I have tried to deny .deno in vite.config.js in server/fs/deny. Neither denying node_modules/.deno or denying .deno work.
import { sveltekit } from '@sveltejs/kit/vite';
import { defineConfig } from 'vitest/config';

export default defineConfig({
  plugins: [sveltekit()],
  test: {
    include: ['src/**/*.{test,spec}.{js,ts}'],
  },
  server: {
    allowedHosts: ['mydomain.com'],
    fs: {
      deny: '.deno'
    }
  },
  
});
import { sveltekit } from '@sveltejs/kit/vite';
import { defineConfig } from 'vitest/config';

export default defineConfig({
  plugins: [sveltekit()],
  test: {
    include: ['src/**/*.{test,spec}.{js,ts}'],
  },
  server: {
    allowedHosts: ['mydomain.com'],
    fs: {
      deny: '.deno'
    }
  },
  
});
Deno banner
DenoJoin
Chat about Deno, a modern runtime for JavaScript and TypeScript.
20,934Members
Resources
Recent Announcements

Similar Threads

Was this page helpful?

Similar Threads

[Fresh] vite crashes with Broken Pipe error
vicaryVvicary / help
2mo ago
Is there a way to use `deno lsp` in a SvelteKit or (Svelte + Vite) project?
Dezly MacauleyDDezly Macauley / help
3mo ago
Imports in Deno2 + Sveltekit
NathanNNathan / help
8mo ago