fix CodePreview shiki dynamic load for frameworks like Next.js

This commit is contained in:
dswbx
2025-10-31 09:24:45 +01:00
parent be39e8a391
commit 2178e0ee8b
2 changed files with 32 additions and 3 deletions

View File

@@ -1,6 +1,6 @@
import { useEffect, useState } from "react";
import { useTheme } from "ui/client/use-theme";
import { cn } from "ui/lib/utils";
import { cn, importDynamicBrowserModule } from "ui/lib/utils";
export type CodePreviewProps = {
code: string;
@@ -30,8 +30,10 @@ export const CodePreview = ({
async function highlightCode() {
try {
// Dynamically import Shiki from CDN
// @ts-expect-error - Dynamic CDN import
const { codeToHtml } = await import("https://esm.sh/shiki@3.13.0");
const { codeToHtml } = await importDynamicBrowserModule(
"shiki",
"https://esm.sh/shiki@3.13.0",
);
if (cancelled) return;