chore: [ENG-LINT-02] restore clean repository lint

This commit is contained in:
Harvey Zhao committed 2026-09-15 05:30:05 +08:00
1 parent d2f4261aa7
commit 7cf6f33130
9 files changed
+130 -13

No files matched your search

+1 -1
View File
@@ -1,5 +1,5 @@
// Generated from packages/artplayer/public/artplayer.ts by yarn build:ts. Do not edit.
/* eslint-disable ts/no-redeclare, ts/no-namespace -- UMD constructor and named types share the global export. */
/* eslint-disable ts/no-redeclare -- UMD constructor and named types share the global export. */
declare namespace ArtplayerDefinitions {
export interface ComponentInput extends Omit<ComponentOption, 'html'> {
html?: string | HTMLElement | number
+4 -4
View File
@@ -44,10 +44,6 @@
"types": "./types/artplayer-plugin-vast.d.ts",
"legacy": "./dist/artplayer-plugin-vast.legacy.js",
"browserslist": "last 1 Chrome version",
"dependencies": {
"@alugha/ima": "2.1.0",
"@glomex/vast-ima-player": "^1.21.2"
},
"typesVersions": {
"*": {
"legacy": [
@@ -57,5 +53,9 @@
"types/runtime.d.ts"
]
}
},
"dependencies": {
"@alugha/ima": "2.1.0",
"@glomex/vast-ima-player": "^1.21.2"
}
}
@@ -0,0 +1,53 @@
{
"schemaVersion": 1,
"task": "ENG-LINT-02",
"baseCommit": "d2f4261aa719a21a8d0dbe042d4d22e307786093",
"node": "24.21.0",
"yarn": "1.22.22",
"commands": [
{
"name": "build:ts",
"log": "refactor/.cache/eng-lint02-generate.log",
"exitCode": 0,
"seconds": 9.06,
"logSha256": "bc4340fb8a83101d1be97b55a78dda62617cbe4161eacc38c295e6acc1cb74c4"
},
{
"name": "check:editor-types",
"log": "refactor/.cache/eng-lint02-editor-check.log",
"exitCode": 0,
"seconds": 9.47,
"logSha256": "210e8fd473d069331331141ec53515edd90f40fa995d402b090a68f3c4aee193"
},
{
"name": "lint",
"log": "refactor/.cache/eng-lint02-lint.log",
"exitCode": 0,
"seconds": 13.1,
"errors": 0,
"warnings": 0,
"logSha256": "cccd079780223122fd33f320e6103514b5280db7e51496a020340c0542812900"
}
],
"checks": [
"strict docs-tools TypeScript",
"strict toolchain",
"risk register"
],
"manifest": {
"path": "packages/artplayer-plugin-vast/package.json",
"deepEqual": true,
"allNestedKeyOrderingUnchanged": true,
"newSha256Lf": "5b19f43dc951e25c8aa6c3fb72161c0d52a11ce74b79fdec920f04b1cb7eb042"
},
"declaration": {
"path": "docs/assets/ts/artplayer.d.ts",
"onlyLintCommentChanged": true,
"sha256Lf": "6b038ad9084766023baaa037e6abcd9edde2a3c40b8b9b1dfc5e45c20be7b7ba"
},
"limits": [
"Metadata bytes change; next VAST npm candidate must be repacked",
"No runtime behavior change, no additional browser playback run",
"No push or publication"
]
}
@@ -0,0 +1,28 @@
# ENG-LINT-02 恢复零错误、零警告的全仓 lint
SITE-07 的扩大检查发现 VAST package.json 顶层 dependencies 排在 typesVersions
之前,违反既有排序规则;核心编辑器声明还保留一个不再需要的 no-namespace 禁用项。
起点 d2f4261aa719a21a8d0dbe042d4d22e307786093,工作区干净且提交审计通过后独立修复。
只移动 VAST 顶层 dependencies 区块;其解析值深度相等,逐字段序列化也相等,
包括条件导出中具有语义的嵌套键顺序。版本、依赖、JS/类型入口及旧路径均不变。
从 scripts/editor-declarations/core.ts 的生成模板删除无效禁用项,保留必要的
no-redeclare。通过 yarn build:ts 重新生成,未手改生成文件。生成声明除这一行
注释外逐字一致;其他生成输出没有实际 Git 差异。模块说明同步说明该注释边界。
Node 24.21.0 / Yarn 1.22.22 的实际检查:
- build:ts 退出 0,24 个声明/清单输出同时经 TS 5.9.3 和 4.3.5 验证;随后生成
5 个站点浏览器资产、26 条英文路由,产物字节未改变。
- check:editor-types 退出 0,24 个输出无漂移。
- 全仓只读 lint 退出 0,零 error、零 warning,13.10 秒。
- VAST 元数据深度相等及全部嵌套顺序保留、核心生成声明仅注释变化均已实际断言。
- 严格 docs-tools 类型、工具链、计划/风险、Git diff 与提交审计按本批核验。
这是元数据排序和生成注释修复,不增加仅镜像格式的单元测试,不重复真实广告播放。
VAST 下一次 tarball 字节和完整性值会变化,必须重新冻结候选;不能复用此前 tarball
来证明新候选分发。没有新依赖、锁文件、运行时或公共类型变化,也没有推送或发布。
具体命令、日志和语义断言见[验证记录](../baselines/eng-lint02-validation.json)。
本任务单独完成并提交;SITE-07 及 VAST 的其他待验收步骤不因此标为完成。
回退此提交会恢复原格式错误和警告;运行时代码无需回退。
+8 -6
View File
@@ -2,9 +2,9 @@
> 由 tasks.json 生成。请修改数据后运行 `node refactor/scripts/plan.mjs --write`,不要手改本表。
基线:`40fcda6a37d0049d42e49c1e64e70d4fd9ba5f7f`。总任务 263 项,范围 22 个包及工作区/示例。
基线:`40fcda6a37d0049d42e49c1e64e70d4fd9ba5f7f`。总任务 264 项,范围 22 个包及工作区/示例。
状态:todo 44 / doing 22 / blocked 0 / done 197 / deferred 0。风险 L/M/H 表示兼容风险,不表示工期。
状态:todo 44 / doing 22 / blocked 0 / done 198 / deferred 0。风险 L/M/H 表示兼容风险,不表示工期。
前置依赖是启动条件;验收是完成条件。任务可以继续拆分,但不能复用或悄悄删除旧 ID。
@@ -14,7 +14,7 @@
| 包 | 基线版本 | 任务 |
| --- | --- | --- |
| artplayer | 5.4.1 | CORE-01, CORE-02, CORE-03, CORE-04, CORE-05, CORE-06, CORE-07, CORE-08, CORE-09, CORE-10, CORE-11, CORE-12, CORE-13, CORE-14, CORE-15, CORE-16, CORE-17, CORE-18, CORE-19, CORE-20, CORE-21, CORE-23, CORE-22, CORE-24, SITE-BUILD-01, CORE-25, ENG-12, CORE-SUBTITLE-OFFSET-01, PKG-MULTI-SUB-09 |
| artplayer | 5.4.1 | CORE-01, CORE-02, CORE-03, CORE-04, CORE-05, CORE-06, CORE-07, CORE-08, CORE-09, CORE-10, CORE-11, CORE-12, CORE-13, CORE-14, CORE-15, CORE-16, CORE-17, CORE-18, CORE-19, CORE-20, CORE-21, CORE-23, CORE-22, CORE-24, SITE-BUILD-01, CORE-25, ENG-12, CORE-SUBTITLE-OFFSET-01, PKG-MULTI-SUB-09, ENG-LINT-02 |
| artplayer-plugin-ads | 2.1.0 | PKG-ADS-01, PKG-ADS-02, PKG-ADS-03, PKG-ADS-04, PKG-ADS-05, PKG-ADS-06 |
| artplayer-plugin-ambilight | 1.1.0 | PKG-AMBILIGHT-01, PKG-AMBILIGHT-02, PKG-AMBILIGHT-03, PKG-AMBILIGHT-04, PKG-AMBILIGHT-PROXY-01, PKG-AMBILIGHT-05, PKG-AMBILIGHT-06, PKG-FACTORY-01 |
| artplayer-plugin-asr | 2.1.0 | PKG-ASR-01, PKG-ASR-02, PKG-ASR-03, PKG-ASR-04, PKG-ASR-05, PKG-ASR-06, PKG-ASR-07, PKG-ASR-08, PKG-ASR-09 |
@@ -29,13 +29,13 @@
| artplayer-plugin-hls-control | 1.1.0 | PKG-HLS-01, PKG-HLS-02, PKG-HLS-03, PKG-HLS-04, PKG-HLS-SDK-01, PKG-HLS-05, PKG-HLS-06, PKG-HLS-PACK-01 |
| artplayer-plugin-jassub | 1.1.0 | PKG-JASSUB-01, PKG-JASSUB-02, PKG-JASSUB-03, PKG-JASSUB-04, PKG-JASSUB-05, PKG-JASSUB-06, PKG-JASSUB-07, PKG-JASSUB-08, PKG-JASSUB-09, PKG-JASSUB-10 |
| artplayer-plugin-multiple-subtitles | 1.2.0 | PKG-MULTI-SUB-01, PKG-MULTI-SUB-02, PKG-MULTI-SUB-03, PKG-MULTI-SUB-04, PKG-MULTI-SUB-07, PKG-MULTI-SUB-08, PKG-MULTI-SUB-05, PKG-MULTI-SUB-06, PKG-MULTI-SUB-09, PKG-MULTI-SUB-10, PKG-MULTI-SUB-11 |
| artplayer-plugin-vast | 1.2.0 | PKG-VAST-01, PKG-VAST-02, PKG-VAST-03, PKG-VAST-04, PKG-VAST-05, PKG-VAST-06, PKG-VAST-07 |
| artplayer-plugin-vast | 1.2.0 | PKG-VAST-01, PKG-VAST-02, PKG-VAST-03, PKG-VAST-04, PKG-VAST-05, PKG-VAST-06, PKG-VAST-07, ENG-LINT-02 |
| artplayer-plugin-vtt-thumbnail | 1.1.0 | PKG-VTT-THUMB-01, PKG-VTT-THUMB-02, PKG-VTT-THUMB-03, PKG-VTT-THUMB-04, PKG-VTT-THUMB-05, PKG-VTT-THUMB-06 |
| artplayer-proxy-canvas | 1.1.0 | PKG-AMBILIGHT-PROXY-01, PKG-CANVAS-01, PKG-CANVAS-02, PKG-CANVAS-03, PKG-CANVAS-04, PKG-CANVAS-05, PKG-CANVAS-06, PKG-FACTORY-01, PKG-CANVAS-SUBTITLE-01 |
| artplayer-proxy-mediabunny | 1.2.0 | PKG-MB-01, PKG-MB-02, PKG-MB-03, PKG-MB-04, PKG-MB-05, PKG-MB-06, PKG-MB-07, PKG-MB-08, PKG-MB-09, PKG-MB-10 |
| artplayer-tool-iframe | 1.1.0 | PKG-IFRAME-01, PKG-IFRAME-02, PKG-IFRAME-03, PKG-IFRAME-04, PKG-IFRAME-05, PKG-IFRAME-06 |
| artplayer-tool-thumbnail | 4.4.0 | PKG-TOOL-THUMB-01, PKG-TOOL-THUMB-02, PKG-TOOL-THUMB-03, PKG-TOOL-THUMB-04, PKG-TOOL-THUMB-05, PKG-TOOL-THUMB-06 |
| artplayer-vitepress | 1.1.0 | SITE-01, SITE-SMOKE-01, SITE-02, SITE-LOAD-01, SITE-AI-DOCS-01, SITE-BUILD-01, SITE-03, SITE-04, SITE-05, SITE-06, SITE-07, SITE-VCONSOLE-01 |
| artplayer-vitepress | 1.1.0 | SITE-01, SITE-SMOKE-01, SITE-02, SITE-LOAD-01, SITE-AI-DOCS-01, SITE-BUILD-01, SITE-03, SITE-04, SITE-05, SITE-06, SITE-07, SITE-VCONSOLE-01, ENG-LINT-02 |
## 0 规划
@@ -435,7 +435,7 @@
| REL-04 | workspace<br>提前演练回退与主线修复同步 | REL-08, ENG-07 | 分包旧版本/tag/依赖回退方案与 master 差异 | 隔离包演练可回退,主线修复同步流程可执行;正式每批再核对其实际回退产物 | H | doing |
| REL-05 | workspace<br>经授权发布候选并收集反馈 | REL-03, REL-04, REVIEW-03 | 候选 tag、完整产物 integrity、反馈与复现记录 | 实际发布授权/操作/版本可追溯;本计划不自动执行发布 | H | todo |
| REL-06 | workspace<br>经授权分批正式发布 | REL-05 | 正式分包版本/tag/站点文档及兼容公告 | 候选验收通过,安装/浏览器复核和回退入口就绪;候选反馈修复须独立建任务并复验三轮受影响结论,正式内容与最终验证产物一致 | H | todo |
| REL-07 | workspace<br>关闭重构里程碑并维护后续队列 | REL-06, ENG-LINT-01 | 最终任务/设计/证据归档和维护指南 | 全范围任务有结论、无未解释兼容缺口;遗留项有明确后续责任 | L | todo |
| REL-07 | workspace<br>关闭重构里程碑并维护后续队列 | REL-06, ENG-LINT-01, ENG-LINT-02 | 最终任务/设计/证据归档和维护指南 | 全范围任务有结论、无未解释兼容缺口;遗留项有明确后续责任 | L | todo |
## 8.1 多轮复盘
@@ -463,6 +463,7 @@
| --- | --- | --- | --- | --- | --- | --- |
| ENG-LINT-01 | artplayer-plugin-danmuku-mask, workspace<br>修复 Mask manifest 排序并恢复全仓 lint | PKG-MASK-04 | 仅调整 manifest 字段顺序,独立验证全仓只读 lint 与元数据语义不变 | 根 lint 通过;解析后的 manifest 深度相等;不改包版本、依赖或公开入口 | L | done |
| ENG-13 | workspace<br>保证性能资源探针的最小观察时长 | ENG-08 | 性能页面按实测时钟补足既有350ms观察窗口,保留冻结基线和原校验门槛;时钟边界测试和实际安装包配对证据 | 349ms仍被拒绝;早到定时器补足观察、正常超时保留实际值;冻结计时样本逻辑未变,三浏览器实际350ms观察及资源校验通过 | M | done |
| ENG-LINT-02 | artplayer-plugin-vast, artplayer, artplayer-vitepress, workspace<br>修复 VAST 清单与生成声明的 lint 遗留 | PKG-VAST-04, SITE-02 | 仅整理 VAST 顶层元数据键顺序,并从声明生成源移除无效 lint 禁用项;保留入口与类型语义 | 全仓只读 lint 零错误零警告;VAST 元数据和嵌套条件键顺序不变;生成声明除注释外逐字一致,生成/只读检查通过 | L | done |
## 5 包组合:Danmuku / Mask
@@ -691,3 +692,4 @@
- PKG-CANVAS-SUBTITLE-01: [记录](changes/2026-09-14-PKG-CANVAS-SUBTITLE-01-track.md) [记录](baselines/canvas-subtitles-validation.json)
- PKG-DANMUKU-MASK-LOAD-01: [记录](changes/2026-09-14-PKG-DANMUKU-08-combined-load.md) [记录](baselines/danmuku-combined-load-validation.json) [记录](changes/2026-09-14-PKG-DANMUKU-MASK-LOAD-01-scheduling.md) [记录](baselines/danmuku-mask-load-validation.json)
- PKG-HLS-PACK-01: [记录](changes/2026-09-15-PKG-HLS-PACK-01-config.md) [记录](baselines/hls-pack-config-validation.json)
- ENG-LINT-02: [记录](changes/2026-09-15-ENG-LINT-02-clean-checks.md) [记录](baselines/eng-lint02-validation.json)
+7
View File
@@ -1,5 +1,12 @@
# 进度与证据
## ENG-LINT-02 全仓 lint 零错误、零警告
修正 VAST 顶层清单顺序,从生成源去掉无效 lint 禁用项并重新生成。元数据值与
嵌套条件顺序不变,声明只改注释;24 个输出经过两版 TS 校验及只读复核,根 lint
零错误/警告。见[记录](changes/2026-09-15-ENG-LINT-02-clean-checks.md)。
本修复单独完成:198/264 项;SITE-07 继续 console.js 来源与剩余站点资产工作。
## SITE-07 vConsole 精确重建与完整通知
固定源码/锁文件重建与 npm 3.15.0 逐字节一致;补齐 MIT 正文、署名及九个运行时
+25 -1
View File
@@ -4952,7 +4952,8 @@
],
"dependsOn": [
"REL-06",
"ENG-LINT-01"
"ENG-LINT-01",
"ENG-LINT-02"
],
"status": "todo",
"risk": "L",
@@ -5571,6 +5572,29 @@
"changes/2026-09-15-PKG-HLS-PACK-01-config.md",
"baselines/hls-pack-config-validation.json"
]
},
{
"id": "ENG-LINT-02",
"phase": "2 工程基础",
"title": "修复 VAST 清单与生成声明的 lint 遗留",
"scope": [
"artplayer-plugin-vast",
"artplayer",
"artplayer-vitepress",
"workspace"
],
"dependsOn": [
"PKG-VAST-04",
"SITE-02"
],
"status": "done",
"risk": "L",
"deliverable": "仅整理 VAST 顶层元数据键顺序,并从声明生成源移除无效 lint 禁用项;保留入口与类型语义",
"acceptance": "全仓只读 lint 零错误零警告;VAST 元数据和嵌套条件键顺序不变;生成声明除注释外逐字一致,生成/只读检查通过",
"evidence": [
"changes/2026-09-15-ENG-LINT-02-clean-checks.md",
"baselines/eng-lint02-validation.json"
]
}
]
}
+3
View File
@@ -21,6 +21,9 @@ without writing. Unknown/duplicate selections fail before generating or writing.
Orchestration depends on conversion and validation; conversion does not write.
Public package declarations remain the source of truth. Do not hand-edit
`docs/assets/ts/*.d.ts`.
The core header suppresses only `ts/no-redeclare` for its global constructor/type
merge. Ambient namespaces are already allowed; adding `ts/no-namespace` there
creates an unused-disable warning in the generated output.
The editor URL list is generated in
`packages/artplayer-vitepress/browser/editor-libraries.ts`, then imported by the
+1 -1
View File
@@ -69,7 +69,7 @@ export function asGlobalDeclaration(code: string, globalName: string) {
factory.createNamespaceExportDeclaration(factory.createIdentifier(globalName)),
]
const printer = ts.createPrinter({ newLine: ts.NewLineKind.LineFeed })
return `// Generated from packages/artplayer/public/artplayer.ts by yarn build:ts. Do not edit.\n/* eslint-disable ts/no-redeclare, ts/no-namespace -- UMD constructor and named types share the global export. */\n${printer.printFile(factory.updateSourceFile(source, statements))}`
return `// Generated from packages/artplayer/public/artplayer.ts by yarn build:ts. Do not edit.\n/* eslint-disable ts/no-redeclare -- UMD constructor and named types share the global export. */\n${printer.printFile(factory.updateSourceFile(source, statements))}`
}
export function generateCoreEditorDeclaration() {