From d99086ff2927d17c793f8f0f39c50c269887424e Mon Sep 17 00:00:00 2001 From: choo jian cheng Date: Mon, 15 Sep 2025 13:58:40 +0800 Subject: [PATCH 1/5] fix/flowbite import issue in playground --- packages/repl/src/lib/workers/bundler/index.ts | 3 ++- packages/repl/src/lib/workers/npm.ts | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/repl/src/lib/workers/bundler/index.ts b/packages/repl/src/lib/workers/bundler/index.ts index 6e84324a03..f7e352bbea 100644 --- a/packages/repl/src/lib/workers/bundler/index.ts +++ b/packages/repl/src/lib/workers/bundler/index.ts @@ -443,7 +443,8 @@ async function get_bundle( glsl, loop_protect, replace({ - 'process.env.NODE_ENV': JSON.stringify('production') + 'process.env.NODE_ENV': JSON.stringify('production'), + 'import.meta.env.MODE': JSON.stringify('development'), }), { name: 'css', diff --git a/packages/repl/src/lib/workers/npm.ts b/packages/repl/src/lib/workers/npm.ts index 57710a3daa..3eef5cb4d9 100644 --- a/packages/repl/src/lib/workers/npm.ts +++ b/packages/repl/src/lib/workers/npm.ts @@ -200,7 +200,7 @@ export function resolve_subpath(pkg: Package, subpath: string): string { export function normalize_path(pkg: Package, path: string, importee: string, importer: string) { for (const suffix of ['', '.js', '.mjs', '.cjs', '/index.js', '/index.mjs', '/index.cjs']) { - let with_suffix = path + suffix; + let with_suffix = (path + suffix).replace(/\/+/g, '/'); if (pkg.meta.browser) { with_suffix = pkg.meta.browser[`./${with_suffix}`]?.replace('./', '') ?? with_suffix; From 50cb34741ddcc76371bbfffad9a124f187143307 Mon Sep 17 00:00:00 2001 From: choo jian cheng Date: Mon, 15 Sep 2025 14:16:06 +0800 Subject: [PATCH 2/5] fix: flowbite import issue in playground --- packages/repl/src/lib/workers/bundler/index.ts | 3 +-- packages/repl/src/lib/workers/npm.ts | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/repl/src/lib/workers/bundler/index.ts b/packages/repl/src/lib/workers/bundler/index.ts index f7e352bbea..6e84324a03 100644 --- a/packages/repl/src/lib/workers/bundler/index.ts +++ b/packages/repl/src/lib/workers/bundler/index.ts @@ -443,8 +443,7 @@ async function get_bundle( glsl, loop_protect, replace({ - 'process.env.NODE_ENV': JSON.stringify('production'), - 'import.meta.env.MODE': JSON.stringify('development'), + 'process.env.NODE_ENV': JSON.stringify('production') }), { name: 'css', diff --git a/packages/repl/src/lib/workers/npm.ts b/packages/repl/src/lib/workers/npm.ts index 3eef5cb4d9..57710a3daa 100644 --- a/packages/repl/src/lib/workers/npm.ts +++ b/packages/repl/src/lib/workers/npm.ts @@ -200,7 +200,7 @@ export function resolve_subpath(pkg: Package, subpath: string): string { export function normalize_path(pkg: Package, path: string, importee: string, importer: string) { for (const suffix of ['', '.js', '.mjs', '.cjs', '/index.js', '/index.mjs', '/index.cjs']) { - let with_suffix = (path + suffix).replace(/\/+/g, '/'); + let with_suffix = path + suffix; if (pkg.meta.browser) { with_suffix = pkg.meta.browser[`./${with_suffix}`]?.replace('./', '') ?? with_suffix; From 89c723c4d4221ae2aa8c724991522c9b4482cab9 Mon Sep 17 00:00:00 2001 From: choo jian cheng Date: Mon, 15 Sep 2025 14:27:40 +0800 Subject: [PATCH 3/5] fix: flowbite import issue in playground --- packages/repl/src/lib/workers/bundler/index.ts | 3 ++- packages/repl/src/lib/workers/npm.ts | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/repl/src/lib/workers/bundler/index.ts b/packages/repl/src/lib/workers/bundler/index.ts index 6e84324a03..115f4eeed3 100644 --- a/packages/repl/src/lib/workers/bundler/index.ts +++ b/packages/repl/src/lib/workers/bundler/index.ts @@ -443,7 +443,8 @@ async function get_bundle( glsl, loop_protect, replace({ - 'process.env.NODE_ENV': JSON.stringify('production') + 'process.env.NODE_ENV': JSON.stringify('production'), + 'import.meta.env.MODE': JSON.stringify('development') }), { name: 'css', diff --git a/packages/repl/src/lib/workers/npm.ts b/packages/repl/src/lib/workers/npm.ts index 57710a3daa..3eef5cb4d9 100644 --- a/packages/repl/src/lib/workers/npm.ts +++ b/packages/repl/src/lib/workers/npm.ts @@ -200,7 +200,7 @@ export function resolve_subpath(pkg: Package, subpath: string): string { export function normalize_path(pkg: Package, path: string, importee: string, importer: string) { for (const suffix of ['', '.js', '.mjs', '.cjs', '/index.js', '/index.mjs', '/index.cjs']) { - let with_suffix = path + suffix; + let with_suffix = (path + suffix).replace(/\/+/g, '/'); if (pkg.meta.browser) { with_suffix = pkg.meta.browser[`./${with_suffix}`]?.replace('./', '') ?? with_suffix; From db36e79667083a1c15a8a607be286d607c41035d Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Mon, 15 Sep 2025 14:24:42 +0200 Subject: [PATCH 4/5] more robust / perf sensitive approach --- packages/repl/src/lib/workers/npm.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/repl/src/lib/workers/npm.ts b/packages/repl/src/lib/workers/npm.ts index 3eef5cb4d9..3c50057268 100644 --- a/packages/repl/src/lib/workers/npm.ts +++ b/packages/repl/src/lib/workers/npm.ts @@ -199,7 +199,10 @@ export function resolve_subpath(pkg: Package, subpath: string): string { } export function normalize_path(pkg: Package, path: string, importee: string, importer: string) { - for (const suffix of ['', '.js', '.mjs', '.cjs', '/index.js', '/index.mjs', '/index.cjs']) { + const suffixes = path.endsWith('/') + ? ['index.js', 'index.mjs', 'index.cjs'] + : ['', '.js', '.mjs', '.cjs', '/index.js', '/index.mjs', '/index.cjs']; + for (const suffix of suffixes) { let with_suffix = (path + suffix).replace(/\/+/g, '/'); if (pkg.meta.browser) { From 10f130b973b4ec56726f4793695b7e725e59a134 Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Mon, 15 Sep 2025 14:25:04 +0200 Subject: [PATCH 5/5] Update packages/repl/src/lib/workers/npm.ts --- packages/repl/src/lib/workers/npm.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/repl/src/lib/workers/npm.ts b/packages/repl/src/lib/workers/npm.ts index 3c50057268..10abe6f312 100644 --- a/packages/repl/src/lib/workers/npm.ts +++ b/packages/repl/src/lib/workers/npm.ts @@ -203,7 +203,7 @@ export function normalize_path(pkg: Package, path: string, importee: string, imp ? ['index.js', 'index.mjs', 'index.cjs'] : ['', '.js', '.mjs', '.cjs', '/index.js', '/index.mjs', '/index.cjs']; for (const suffix of suffixes) { - let with_suffix = (path + suffix).replace(/\/+/g, '/'); + let with_suffix = path + suffix; if (pkg.meta.browser) { with_suffix = pkg.meta.browser[`./${with_suffix}`]?.replace('./', '') ?? with_suffix;