All checks were successful
Build & Sign Wraith / Build Windows + Sign (push) Successful in 3m42s
Tool windows (still closing instantly with CSP=null): - Root cause: Vite adds crossorigin attribute to <script> and <link> tags in index.html. This forces CORS mode for resource loading. WKWebView's Tauri custom protocol handler (tauri://) may not return proper CORS headers for child WebviewWindows, causing the module script to fail to load and the window to close immediately. - Fix: Vite plugin strips crossorigin from built HTML via transformIndexHtml - Also set crossOriginLoading: false for Rollup output chunks Status bar: - h-[48px] text-base px-6 — 48px height with 16px text, explicit pixel value to avoid Tailwind spacing ambiguity Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
42 lines
1.3 KiB
TypeScript
42 lines
1.3 KiB
TypeScript
import { defineConfig, type Plugin } from "vite";
|
|
import vue from "@vitejs/plugin-vue";
|
|
import tailwindcss from "@tailwindcss/vite";
|
|
import { resolve } from "path";
|
|
|
|
/** Strip crossorigin attribute from HTML — WKWebView + Tauri custom protocol compatibility. */
|
|
function stripCrossOrigin(): Plugin {
|
|
return {
|
|
name: "strip-crossorigin",
|
|
transformIndexHtml(html) {
|
|
return html.replace(/ crossorigin/g, "");
|
|
},
|
|
};
|
|
}
|
|
|
|
export default defineConfig({
|
|
plugins: [vue(), tailwindcss(), stripCrossOrigin()],
|
|
resolve: {
|
|
alias: {
|
|
"@": resolve(__dirname, "src"),
|
|
},
|
|
},
|
|
// Tauri expects a fixed port and does not use Vite's host broadcasting
|
|
server: {
|
|
port: 5173,
|
|
strictPort: true,
|
|
host: false,
|
|
},
|
|
// Suppress Vite's own clear-screen so Tauri's stdout stays readable
|
|
clearScreen: false,
|
|
build: {
|
|
// Tauri supports ES2021 on all desktop targets
|
|
target: ["es2021", "chrome100", "safari13"],
|
|
minify: !process.env.TAURI_DEBUG ? "esbuild" : false,
|
|
sourcemap: !!process.env.TAURI_DEBUG,
|
|
// Disable crossorigin attribute on script/link tags — WKWebView on
|
|
// macOS may reject CORS-mode requests for Tauri's custom tauri://
|
|
// protocol in dynamically created child WebviewWindows.
|
|
crossOriginLoading: false,
|
|
},
|
|
});
|