diff --git a/packages/components/src/utils/shiki/worker-client.ts b/packages/components/src/utils/shiki/worker-client.ts index 969905c2..525d294f 100644 --- a/packages/components/src/utils/shiki/worker-client.ts +++ b/packages/components/src/utils/shiki/worker-client.ts @@ -18,11 +18,19 @@ function getShikiWorker(): ShikiWorkerInstance { if (instance) { return instance; } - const worker = new Worker(new URL("./worker.js", import.meta.url), { - type: "module", - }); - instance = wrap(worker); - return instance; + try { + const worker = new Worker(new URL("./worker.js", import.meta.url), { + type: "module", + }); + instance = wrap(worker); + return instance; + } catch (error) { + console.warn( + "@mintlify/components: Shiki worker unavailable, using synchronous highlighting", + error + ); + return undefined; + } } export { getShikiWorker }; diff --git a/packages/components/vite.config.ts b/packages/components/vite.config.ts index 5c620c2f..b1fe85bc 100644 --- a/packages/components/vite.config.ts +++ b/packages/components/vite.config.ts @@ -5,6 +5,7 @@ import { defineConfig } from "vite"; import dts from "vite-plugin-dts"; export default defineConfig({ + base: "", plugins: [ react(), tailwindcss(), @@ -26,6 +27,13 @@ export default defineConfig({ }, worker: { format: "es", + rollupOptions: { + external: [], + output: { + entryFileNames: "utils/shiki/worker.js", + inlineDynamicImports: true, + }, + }, }, build: { lib: {