From 5b6032fdbc92f3d4d8c54cdccb54f3b30b93df1b Mon Sep 17 00:00:00 2001 From: Reuben Son Date: Mon, 8 Sep 2025 16:07:13 -0400 Subject: [PATCH 1/2] handling some gaps in compilation --- src/media/config.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/media/config.js b/src/media/config.js index 718ecb9..08caefa 100644 --- a/src/media/config.js +++ b/src/media/config.js @@ -5,18 +5,22 @@ import esbuild from 'esbuild'; import compiler from '../constants.js' const outdir = path.join(process.cwd(), 'public', 'media'); -const mediaGlobs = '*.+(jpg|jpeg|png|gif|webp|svg|ico)'; +const mediaGlobs = '*.+(jpg|jpeg|png|gif|webp|svg|ico|js)'; const modules = { components: { path: path.join(process.cwd(), 'components'), src: globby(path.join(process.cwd(), 'components', '**', 'media', mediaGlobs)), }, + layouts: { + path: path.join(process.cwd(), 'layouts'), + src: globby(path.join(process.cwd(), 'layouts', '**', 'media', mediaGlobs)), + }, sites: { path: path.join(process.cwd(), 'sites'), src: globby([ path.join(process.cwd(), 'sites', '**', 'media', mediaGlobs), ]), - } + }, } /** @@ -82,6 +86,7 @@ const mediaConfig = { '.png': 'copy', '.svg': 'copy', '.webp': 'copy', + '.js': 'copy', }, logLevel: compiler.logLever, } From 1fe96e02052d6dec9fbc2a30cae2e71e02aa0250 Mon Sep 17 00:00:00 2001 From: Reuben Son Date: Thu, 18 Sep 2025 14:39:57 -0400 Subject: [PATCH 2/2] additional fixes --- src/scripts/config.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/scripts/config.js b/src/scripts/config.js index 9b80377..a3682af 100644 --- a/src/scripts/config.js +++ b/src/scripts/config.js @@ -268,13 +268,11 @@ async function processModule(filePath, cachedIds, registry, ids, envs) { let prependContent = `window.modules["${moduleId}"] = [function(require,module,exports){`; let appendContent = ''; - const fileName = `${moduleId}.js`; - // compile vue to JS before creating the magic string if (isVue) { try { const vueSFC = await vueSfcHandler({ - filename: fileName, + filename: filePath, source: code, extractCss: true, production: false, @@ -319,6 +317,14 @@ async function processModule(filePath, cachedIds, registry, ids, envs) { } } + if (!isJson) { + const transformed = await esbuild.transform(code, { + format: 'cjs', + target: 'es2015' + }); + code = transformed.code; + } + // magic-string for file content manipulation const s = new MagicString(code);