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
@@ -8,7 +8,9 @@
<div class="demo-content">
<div class="pipeline-visual">
<div class="pipeline-title">编译流程</div>
<div class="pipeline-title">
编译流程
</div>
<div class="pipeline-stages">
<div
v-for="(stage, i) in stages"
@@ -16,39 +18,73 @@
:class="['stage', { active: activeStage === i }]"
@click="activeStage = i"
>
<div class="stage-num">{{ i + 1 }}</div>
<div class="stage-name">{{ stage.name }}</div>
<div class="stage-output">{{ stage.output }}</div>
<div class="stage-num">
{{ i + 1 }}
</div>
<div class="stage-name">
{{ stage.name }}
</div>
<div class="stage-output">
{{ stage.output }}
</div>
</div>
<div
v-for="i in stages.length - 1"
:key="'arrow-' + i"
class="stage-arrow"
>
</div>
<div class="stage-arrow" v-for="i in stages.length - 1" :key="'arrow-' + i"></div>
</div>
</div>
<div class="stage-detail" v-if="currentStage">
<div
v-if="currentStage"
class="stage-detail"
>
<div class="detail-header">
<span class="detail-name">{{ currentStage.name }}</span>
</div>
<div class="detail-desc">{{ currentStage.desc }}</div>
<div class="detail-desc">
{{ currentStage.desc }}
</div>
<div class="detail-tasks">
<div class="task-title">主要任务</div>
<div class="task-title">
主要任务
</div>
<ul>
<li v-for="(task, j) in currentStage.tasks" :key="j">{{ task }}</li>
<li
v-for="(task, j) in currentStage.tasks"
:key="j"
>
{{ task }}
</li>
</ul>
</div>
<div class="detail-example">
<div class="example-title">示例</div>
<div class="example-title">
示例
</div>
<pre><code>{{ currentStage.example }}</code></pre>
</div>
</div>
<div class="interactive-demo">
<div class="demo-title">词法分析演示</div>
<div class="demo-title">
词法分析演示
</div>
<div class="lexer-input">
<label>输入代码</label>
<input v-model="sourceCode" type="text" placeholder="例如: int x = 10 + 5;" />
<input
v-model="sourceCode"
type="text"
placeholder="例如: int x = 10 + 5;"
>
</div>
<div class="lexer-output">
<div class="output-title">词法单元 (Tokens)</div>
<div class="output-title">
词法单元 (Tokens)
</div>
<div class="tokens">
<div
v-for="(token, i) in tokens"
@@ -63,20 +99,44 @@
</div>
<div class="ast-demo">
<div class="demo-title">语法树 (AST) 可视化</div>
<div class="demo-title">
语法树 (AST) 可视化
</div>
<div class="ast-input">
<label>表达式</label>
<input v-model="expression" type="text" placeholder="例如: 1 + 2 * 3" />
<input
v-model="expression"
type="text"
placeholder="例如: 1 + 2 * 3"
>
</div>
<div class="ast-visual">
<div class="ast-node root" v-if="ast">
<div class="node-value">{{ ast.value }}</div>
<div class="node-children" v-if="ast.left || ast.right">
<div class="ast-node left" v-if="ast.left">
<div class="node-value">{{ ast.left.value }}</div>
<div
v-if="ast"
class="ast-node root"
>
<div class="node-value">
{{ ast.value }}
</div>
<div
v-if="ast.left || ast.right"
class="node-children"
>
<div
v-if="ast.left"
class="ast-node left"
>
<div class="node-value">
{{ ast.left.value }}
</div>
</div>
<div class="ast-node right" v-if="ast.right">
<div class="node-value">{{ ast.right.value }}</div>
<div
v-if="ast.right"
class="ast-node right"
>
<div class="node-value">
{{ ast.right.value }}
</div>
</div>
</div>
</div>
@@ -84,14 +144,30 @@
</div>
<div class="comparison-section">
<div class="section-title">编译型 vs 解释型 vs JIT</div>
<div class="section-title">
编译型 vs 解释型 vs JIT
</div>
<div class="comparison-grid">
<div class="comparison-item" v-for="(item, i) in executionModels" :key="i">
<div class="item-name">{{ item.name }}</div>
<div class="item-flow">{{ item.flow }}</div>
<div class="item-pros">{{ item.pros }}</div>
<div class="item-cons">{{ item.cons }}</div>
<div class="item-langs">{{ item.langs }}</div>
<div
v-for="(item, i) in executionModels"
:key="i"
class="comparison-item"
>
<div class="item-name">
{{ item.name }}
</div>
<div class="item-flow">
{{ item.flow }}
</div>
<div class="item-pros">
{{ item.pros }}
</div>
<div class="item-cons">
{{ item.cons }}
</div>
<div class="item-langs">
{{ item.langs }}
</div>
</div>
</div>
</div>