const fs = require('fs'); let code = fs.readFileSync('src/components/TerminalPanel.vue', 'utf8'); // 1. Remove global event debug block code = code.replace(/\/\/ \-\-\- 极致全局监听器,抓出是谁吃掉了 move \-\-\-[\s\S]*?\/\/ 用最顶级的 window capture 拦截,这样在任何人(包括 xterm 内部那些黑盒代码)前面执行\n\s*window\.addEventListener\(type, globalEventDebug, \{ capture: true, passive: false \}\);\n\s*\}\);\n/g, ''); // 2. Remove all console.log("[Scroll Deep]...") code = code.replace(/\s*console\.log\(\s*`?\[Scroll Deep\].*?\);\n/g, '\n'); // 3. Remove useless commented out stopImmediatePropagation and preventDefault blocks left from debugging const commentedOutRegex1 = /\s*\/\/ event\.stopImmediatePropagation\(\);/g; code = code.replace(commentedOutRegex1, ''); const commentedOutRegex2 = /\s*\/\/ if \(event\.cancelable\) \{\n\s*\/\/ event\.preventDefault\(\); \/\/ 我们使用 JS 控制滚动,必须禁止系统原生滚动争抢\n\s*\/\/\}/g; code = code.replace(commentedOutRegex2, ''); fs.writeFileSync('src/components/TerminalPanel.vue', code);