From d0238add2dc4629109890d5b568943561a53fa87 Mon Sep 17 00:00:00 2001 From: YHH <359807859@qq.com> Date: Fri, 5 Dec 2025 16:24:26 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=BD=93=20esbuild=20=E6=9C=AA=E6=89=93?= =?UTF-8?q?=E5=8C=85=E6=97=B6=E5=88=9B=E5=BB=BA=E5=8D=A0=E4=BD=8D=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E9=81=BF=E5=85=8D=20Tauri=20=E6=9E=84=E5=BB=BA?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=20(#276)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/editor-app/scripts/bundle-runtime.mjs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/editor-app/scripts/bundle-runtime.mjs b/packages/editor-app/scripts/bundle-runtime.mjs index cd4c1d98..38623b5d 100644 --- a/packages/editor-app/scripts/bundle-runtime.mjs +++ b/packages/editor-app/scripts/bundle-runtime.mjs @@ -176,6 +176,7 @@ const platform = process.platform; const esbuildSrc = esbuildSources[platform]; const esbuildDst = path.join(binDir, platform === 'win32' ? 'esbuild.exe' : 'esbuild'); +let esbuildBundled = false; if (esbuildSrc && fs.existsSync(esbuildSrc)) { try { fs.copyFileSync(esbuildSrc, esbuildDst); @@ -185,6 +186,7 @@ if (esbuildSrc && fs.existsSync(esbuildSrc)) { } const stats = fs.statSync(esbuildDst); console.log(`✓ Bundled esbuild binary (${(stats.size / 1024 / 1024).toFixed(2)} MB)`); + esbuildBundled = true; } catch (error) { console.warn(`Failed to bundle esbuild: ${error.message}`); console.log(' User code compilation will require global esbuild installation'); @@ -194,6 +196,16 @@ if (esbuildSrc && fs.existsSync(esbuildSrc)) { console.log(' User code compilation will require global esbuild installation'); } +// Create a placeholder file if esbuild was not bundled +// Tauri requires resources patterns to match at least one file +// 如果 esbuild 没有打包,创建占位文件 +// Tauri 要求资源模式至少匹配一个文件 +if (!esbuildBundled) { + const placeholderPath = path.join(binDir, '.gitkeep'); + fs.writeFileSync(placeholderPath, '# Placeholder for Tauri resources\n# esbuild binary will be bundled during release build\n'); + console.log('✓ Created placeholder in bin directory'); +} + if (!success) { console.error('Runtime bundling failed'); process.exit(1);