From e3745d75043b76f2b336da4566039e9c7af7933b Mon Sep 17 00:00:00 2001 From: nntrivi2001 Date: Mon, 26 Oct 2026 14:43:01 +0700 Subject: [PATCH] fix(build): target ES2021 so esbuild keeps xterm 6's requestMode variable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Vite's es2020 default made esbuild 0.25 lower `let r; …(r||={})` to `void 0||(i={})` without the declaration, so every DECRQM query tmux sends threw "i is not defined" inside the terminal's parser. Found by a headless smoke run of the preview build. --- client/vite.config.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/client/vite.config.ts b/client/vite.config.ts index ac9667f5..4663642e 100644 --- a/client/vite.config.ts +++ b/client/vite.config.ts @@ -99,6 +99,12 @@ export default defineConfig({ }, build: { outDir: "dist", + // ES2021 or newer, never Vite's es2020 default: esbuild 0.25 lowers + // xterm 6's `let r; …(r||={})` (requestMode, DECRQM) to `void 0||(i={})` + // and drops the `let`, so every DECRQM query tmux sends threw + // "i is not defined" inside the terminal's parser. React 19 needs these + // browsers anyway. + target: ["es2021", "chrome100", "edge100", "firefox100", "safari15"], // Maps are still written (for debugging a build), but no bundle points at // them, so a browser never downloads them. sourcemap: "hidden",