fix(eslint): reduce warnings in GitHub Actions deployment

- Disable formatting rules (handled by Prettier)
- Relaxed strict Vue/JS rules for demo code compatibility
- Fix syntax errors in ApiPlayground and VoiceCloningDemo
- Fix duplicate else-if condition in ApiPlayground
- Fix Promise executor async pattern in AutoregressiveAudioDemo
- Add TypeScript file support to ESLint config

Warnings reduced from 295 to 251 problems.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
sanbuphy
2026-02-18 17:38:10 +08:00
parent 8b01686e68
commit 0eba9e87e9
456 changed files with 28450 additions and 9677 deletions
@@ -15,35 +15,56 @@
<div class="arch-demo">
<div class="analogy-header">
<div class="analogy-item">
<div class="icon">🖥</div>
<div class="icon">
🖥
</div>
<div class="text">
<div class="role">Terminal (终端)</div>
<div class="desc">传声筒 / 窗口</div>
<div class="role">
Terminal (终端)
</div>
<div class="desc">
传声筒 / 窗口
</div>
</div>
</div>
<div class="analogy-item">
<div class="icon">🗣</div>
<div class="icon">
🗣
</div>
<div class="text">
<div class="role">Shell ()</div>
<div class="desc">翻译官 / 助手</div>
<div class="role">
Shell ()
</div>
<div class="desc">
翻译官 / 助手
</div>
</div>
</div>
<div class="analogy-item">
<div class="icon"></div>
<div class="icon">
</div>
<div class="text">
<div class="role">Kernel (内核)</div>
<div class="desc">大管家 / 芯片</div>
<div class="role">
Kernel (内核)
</div>
<div class="desc">
大管家 / 芯片
</div>
</div>
</div>
</div>
<div
class="diagram-container"
@click="nextStep"
:class="{ clickable: currentStep < totalSteps }"
@click="nextStep"
>
<!-- Click Overlay Hint -->
<div class="click-overlay" v-if="currentStep === 0">
<div
v-if="currentStep === 0"
class="click-overlay"
>
<div class="click-hint">
<span class="icon">👆</span>
<span class="text">不断点击屏幕演示 / Keep Clicking</span>
@@ -51,8 +72,14 @@
</div>
<!-- Completed Overlay -->
<div class="completed-overlay" v-if="currentStep >= totalSteps">
<div class="completed-hint" @click.stop="reset">
<div
v-if="currentStep >= totalSteps"
class="completed-overlay"
>
<div
class="completed-hint"
@click.stop="reset"
>
<span class="icon"></span>
<span class="text">演示结束点击重置 / Finished (Reset)</span>
</div>
@@ -61,30 +88,48 @@
<!-- Spaces Background -->
<div class="spaces-bg">
<div class="space user-space">
<div class="space-header">User Space (用户空间)</div>
<div class="space-header">
User Space (用户空间)
</div>
</div>
<div class="barrier">
<div class="barrier-line"></div>
<div class="barrier-line" />
</div>
<div class="space kernel-space">
<div class="space-header">Kernel Space (内核空间)</div>
<div class="space-header">
Kernel Space (内核空间)
</div>
</div>
</div>
<!-- Terminal Node -->
<div class="node terminal" :class="{ active: activeNode === 'terminal' }">
<div class="node-title">TERMINAL (终端)</div>
<div
class="node terminal"
:class="{ active: activeNode === 'terminal' }"
>
<div class="node-title">
TERMINAL (终端)
</div>
<div class="screen">
<div v-for="(line, i) in terminalLines" :key="i" class="line">
<div
v-for="(line, i) in terminalLines"
:key="i"
class="line"
>
{{ line }}
</div>
<div class="line input-line">
<span class="prompt">$</span>
<span class="typing">{{ currentInput }}</span>
<span class="cursor" v-if="activeNode === 'terminal'"></span>
<span
v-if="activeNode === 'terminal'"
class="cursor"
/>
</div>
</div>
<div class="node-label">/dev/tty</div>
<div class="node-label">
/dev/tty
</div>
</div>
<!-- Connections -->
@@ -94,24 +139,43 @@
active: packetState === 't-to-s' || packetState === 's-to-t'
}"
>
<div class="line-path"></div>
<div class="data-label" v-if="packetState === 't-to-s'">
<div class="line-path" />
<div
v-if="packetState === 't-to-s'"
class="data-label"
>
<span class="icon"></span> Bytes
</div>
<div class="data-label" v-if="packetState === 's-to-t'">
<div
v-if="packetState === 's-to-t'"
class="data-label"
>
<span class="icon"></span> Text
</div>
<div class="conn-label">stdin / stdout</div>
<div class="conn-label">
stdin / stdout
</div>
</div>
<!-- Shell Node -->
<div class="node shell" :class="{ active: activeNode === 'shell' }">
<div class="node-title">SHELL ()</div>
<div class="process-box">
<div class="status-icon">{{ shellIcon }}</div>
<div class="status">{{ shellStatus }}</div>
<div
class="node shell"
:class="{ active: activeNode === 'shell' }"
>
<div class="node-title">
SHELL ()
</div>
<div class="process-box">
<div class="status-icon">
{{ shellIcon }}
</div>
<div class="status">
{{ shellStatus }}
</div>
</div>
<div class="node-label">
/bin/zsh
</div>
<div class="node-label">/bin/zsh</div>
</div>
<!-- Connections -->
@@ -121,24 +185,43 @@
active: packetState === 's-to-k' || packetState === 'k-to-s'
}"
>
<div class="line-path"></div>
<div class="data-label" v-if="packetState === 's-to-k'">
<div class="line-path" />
<div
v-if="packetState === 's-to-k'"
class="data-label"
>
<span class="icon"></span> Syscall
</div>
<div class="data-label" v-if="packetState === 'k-to-s'">
<div
v-if="packetState === 'k-to-s'"
class="data-label"
>
<span class="icon"></span> Raw Data
</div>
<div class="conn-label">System Calls</div>
<div class="conn-label">
System Calls
</div>
</div>
<!-- Kernel Node -->
<div class="node kernel" :class="{ active: activeNode === 'kernel' }">
<div class="node-title">KERNEL (内核)</div>
<div class="process-box">
<div class="status-icon">{{ kernelIcon }}</div>
<div class="status">{{ kernelStatus }}</div>
<div
class="node kernel"
:class="{ active: activeNode === 'kernel' }"
>
<div class="node-title">
KERNEL (内核)
</div>
<div class="process-box">
<div class="status-icon">
{{ kernelIcon }}
</div>
<div class="status">
{{ kernelStatus }}
</div>
</div>
<div class="node-label">
macOS / Linux
</div>
<div class="node-label">macOS / Linux</div>
</div>
</div>
@@ -146,45 +229,63 @@
<div class="btn-group">
<button
class="btn primary"
@click="nextStep"
:disabled="currentStep >= totalSteps"
@click="nextStep"
>
<span v-if="currentStep === 0"> Start Simulation / 开始演示</span>
<span v-else-if="currentStep < totalSteps"
>Next Step / 下一步 ({{ currentStep }}/{{ totalSteps }}) </span
>
<span v-else-if="currentStep < totalSteps">Next Step / 下一步 ({{ currentStep }}/{{ totalSteps }}) </span>
<span v-else> Done / 完成 (Reset)</span>
</button>
<button class="btn secondary" @click="reset" v-if="currentStep > 0">
<button
v-if="currentStep > 0"
class="btn secondary"
@click="reset"
>
Reset / 重置
</button>
</div>
<div class="step-info" v-if="currentStep > 0">
<div
v-if="currentStep > 0"
class="step-info"
>
<div class="step-title">
{{ steps[currentStep - 1].titleEn }}
<span class="divider">|</span>
{{ steps[currentStep - 1].titleZh }}
</div>
<div class="step-desc">
<div class="en">{{ steps[currentStep - 1].descEn }}</div>
<div class="zh">{{ steps[currentStep - 1].descZh }}</div>
<div class="en">
{{ steps[currentStep - 1].descEn }}
</div>
<div class="zh">
{{ steps[currentStep - 1].descZh }}
</div>
</div>
<div class="step-tech">
<span class="tech-label">Technical / 技术原理:</span>
<div class="tech-content">
<div class="en">{{ steps[currentStep - 1].techEn }}</div>
<div class="zh">{{ steps[currentStep - 1].techZh }}</div>
<div class="en">
{{ steps[currentStep - 1].techEn }}
</div>
<div class="zh">
{{ steps[currentStep - 1].techZh }}
</div>
</div>
</div>
</div>
<div class="step-info placeholder" v-else>
<div
v-else
class="step-info placeholder"
>
<div class="step-desc">
<div class="en">
Click "Start Simulation" to see how the command 'ls' travels through
the system.
</div>
<div class="zh">点击开始演示查看 'ls' 命令如何在系统中流转</div>
<div class="zh">
点击开始演示查看 'ls' 命令如何在系统中流转
</div>
</div>
</div>
</div>