Files
competition-website/package-lock.json

2878 lines
89 KiB
JSON
Raw Normal View History

{
"name": "competition-website",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "competition-website",
"version": "1.0.0",
"dependencies": {
"@vueuse/core": "^10.7.0",
"@wangeditor/editor": "^5.1.23",
"@wangeditor/editor-for-vue": "^5.1.12",
"axios": "^1.6.0",
"element-plus": "^2.5.0",
"pinia": "^2.1.0",
"sortablejs": "^1.15.0",
"spark-md5": "^3.0.2",
"vue": "^3.4.0",
"vue-router": "^4.3.0"
},
"devDependencies": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"@vitejs/plugin-vue": "^6.0.10",
"unplugin-vue-components": "^32.1.0",
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"vite": "^8.3.4"
}
},
"node_modules/@babel/helper-string-parser": {
"version": "7.29.7",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-identifier": {
"version": "7.29.7",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/parser": {
"version": "7.29.7",
"license": "MIT",
"dependencies": {
"@babel/types": "^7.29.7"
},
"bin": {
"parser": "bin/babel-parser.js"
},
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@babel/runtime": {
"version": "7.29.7",
"resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.29.7.tgz",
"integrity": "sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/types": {
"version": "7.29.7",
"license": "MIT",
"dependencies": {
"@babel/helper-string-parser": "^7.29.7",
"@babel/helper-validator-identifier": "^7.29.7"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@ctrl/tinycolor": {
"version": "4.2.0",
"license": "MIT",
"engines": {
"node": ">=14"
}
},
"node_modules/@element-plus/icons-vue": {
"version": "2.3.2",
"license": "MIT",
"peerDependencies": {
"vue": "^3.2.0"
}
},
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"node_modules/@esbuild/aix-ppc64": {
"version": "0.28.2",
"resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.28.2.tgz",
"integrity": "sha512-XExcO+dvLKvVtNTibSTBej1NCAbaGhWn9Ww1ZPx80qsahhPFe/8jgWP0IchNe0F3HwkU7n8ejhH8bjonqht8mQ==",
"cpu": [
"ppc64"
],
"dev": true,
"optional": true,
"os": [
"aix"
],
"peer": true,
"engines": {
"node": ">=18"
}
},
"node_modules/@esbuild/android-arm": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"version": "0.28.2",
"resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.28.2.tgz",
"integrity": "sha512-kXXoiPVVGQcnIYGOeaovwOURpniDBpSq4A03qkQ+BMQqtGG6HYap3xne9C1O1yo4TR3qxlCX5IqqmX6fFo2Lqg==",
"cpu": [
"arm"
],
"dev": true,
"optional": true,
"os": [
"android"
],
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"peer": true,
"engines": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"node": ">=18"
}
},
"node_modules/@esbuild/android-arm64": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"version": "0.28.2",
"resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.28.2.tgz",
"integrity": "sha512-5YfKeeI8qWfBZIX+u2xZC3Zlb3Os/gLS2sbEKM+I4ZOcsWmHS2WLysCcQZDAFRslDUU5Oiq44gf6PYN1vGwG5A==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"android"
],
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"peer": true,
"engines": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"node": ">=18"
}
},
"node_modules/@esbuild/android-x64": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"version": "0.28.2",
"resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.28.2.tgz",
"integrity": "sha512-O387ite7SzUyCcy3JQX4P4bLtEA7bLLkx+esve5JHnyYfNTxcVpXZo9jhdB0lTKN44gztELTdU7nS8Nr16Fs1Q==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"android"
],
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"peer": true,
"engines": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"node": ">=18"
}
},
"node_modules/@esbuild/darwin-arm64": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"version": "0.28.2",
"resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.28.2.tgz",
"integrity": "sha512-n4KqkOQrraxHJcgjM1RvwbigfQKIKJVpM7xp+KsxiyUSrRdIXnt73VhrPAx0fV44hgfmIVKjxMN9J1t5jySVkw==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"darwin"
],
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"peer": true,
"engines": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"node": ">=18"
}
},
"node_modules/@esbuild/darwin-x64": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"version": "0.28.2",
"resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.28.2.tgz",
"integrity": "sha512-uq6suIWYP37qzGddBKPw5QEQPi6HiLGsO7UmkpfyaYNQ3D+rN6w6WfwH+nuqcGXWvawGwxOEroO4YGnFh95azw==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"darwin"
],
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"peer": true,
"engines": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"node": ">=18"
}
},
"node_modules/@esbuild/freebsd-arm64": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"version": "0.28.2",
"resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.2.tgz",
"integrity": "sha512-n+I0BTSRIoy+d6RPKnEVwql5UwBJolytvY4mAOIEJorKlqgPII8ix6slVVrfZ5Tnj7glIZvloylbB/EJPMWEXw==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"freebsd"
],
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"peer": true,
"engines": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"node": ">=18"
}
},
"node_modules/@esbuild/freebsd-x64": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"version": "0.28.2",
"resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.28.2.tgz",
"integrity": "sha512-78XJTJkvPs0kz2w61301PJjXl4g7q3JqiYMZ/M/yVI73EHBrCRTgkhu9oqG7vPqq+a/yadEW8aD+agKlk5xrmg==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"freebsd"
],
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"peer": true,
"engines": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"node": ">=18"
}
},
"node_modules/@esbuild/linux-arm": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"version": "0.28.2",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.28.2.tgz",
"integrity": "sha512-XlDnu2q5yoqems+xay6wSAcg9DDD7K9RLKZEBOMZm3ckNpJBvOX20tSfby8KfrrhINDyv9V2YVZKY/SpoGJI8w==",
"cpu": [
"arm"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"peer": true,
"engines": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"node": ">=18"
}
},
"node_modules/@esbuild/linux-arm64": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"version": "0.28.2",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.28.2.tgz",
"integrity": "sha512-pW4AC0P3it8c7do9MVM4p51FzHzdM/TZrerurgRcHJ2WTa1VQ1CIq18xncfpBJw4ojkiZZrKW2yIBWBP92j6Ug==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"peer": true,
"engines": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"node": ">=18"
}
},
"node_modules/@esbuild/linux-ia32": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"version": "0.28.2",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.28.2.tgz",
"integrity": "sha512-CYbnj78HsIeA+DhgUKgFCfvNsTHFhMMrinUrMZpDXJXKN8T3XViTZ/+wtHeVxEWY8ewSzTFN+nRmSwO2tZaLUQ==",
"cpu": [
"ia32"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"peer": true,
"engines": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"node": ">=18"
}
},
"node_modules/@esbuild/linux-loong64": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"version": "0.28.2",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.28.2.tgz",
"integrity": "sha512-buwkd8nsph4R+ajRvw0qM5Hja/TXQow3ptzWO2EbG/cqcIkHloRrdlBtQlshyYGTNFvfkfJ5tpPLVkY4DtsPfQ==",
"cpu": [
"loong64"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"peer": true,
"engines": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"node": ">=18"
}
},
"node_modules/@esbuild/linux-mips64el": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"version": "0.28.2",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.28.2.tgz",
"integrity": "sha512-ZVykbDyk7519VwiNb9Lcj9m8XM6v5V9uKPvrEMkkEedVewf+0itkhahp4HDpgERXhwLRpWFypsGbG/J8s0QjJA==",
"cpu": [
"mips64el"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"peer": true,
"engines": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"node": ">=18"
}
},
"node_modules/@esbuild/linux-ppc64": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"version": "0.28.2",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.28.2.tgz",
"integrity": "sha512-CAXl+Dtd9UUuJd8pKKdwh6MLm3MUMiqMPmhZ3tTSXPqfyQ3vDl6R5hZdZ/kYojK4ofXtdfSv1tFq8XzWx3heNQ==",
"cpu": [
"ppc64"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"peer": true,
"engines": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"node": ">=18"
}
},
"node_modules/@esbuild/linux-riscv64": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"version": "0.28.2",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.28.2.tgz",
"integrity": "sha512-GeXCej4IQtU1B+QlDV8W/RRvbzI3O/Stss+/bCXv4lZls5WGRtu2a+3JkA3i4qIUlMXpcHebWpF8AkJhATowuA==",
"cpu": [
"riscv64"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"peer": true,
"engines": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"node": ">=18"
}
},
"node_modules/@esbuild/linux-s390x": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"version": "0.28.2",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.28.2.tgz",
"integrity": "sha512-3H1weTYZPxt/WOhByszQZybS9w5lKzUn1FDMsgEChbHWQwHYQQRfBxgCcZvPhjHfKyJjIievvMmEUawJrdY9Dg==",
"cpu": [
"s390x"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"peer": true,
"engines": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"node": ">=18"
}
},
"node_modules/@esbuild/linux-x64": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"version": "0.28.2",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.28.2.tgz",
"integrity": "sha512-4xTZr1FUmSoQW4XIWmit3tzQrUTZM+N3P0XV8xROKYF50XfI7xeO90+1bZvNwxIufQ9hDQVRJH5YhgPVF8A/HQ==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"peer": true,
"engines": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"node": ">=18"
}
},
"node_modules/@esbuild/netbsd-arm64": {
"version": "0.28.2",
"resolved": "https://registry.npmmirror.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.2.tgz",
"integrity": "sha512-sSATRjPeDBg3pdgHoQfoYBob11Kk1FGa9lui5RIHZCoCkJa9QKlvl3/vKz2usCmYYjs7ymJR/2Nnsqe+Hjt5nw==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"netbsd"
],
"peer": true,
"engines": {
"node": ">=18"
}
},
"node_modules/@esbuild/netbsd-x64": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"version": "0.28.2",
"resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.28.2.tgz",
"integrity": "sha512-lqnzCV+mM0gIADaKihiCg6ifgfU2L3h5E33rNQBN1Y4MaVGnzryzmvvf7UHxprpQdE8hpqLolJ9Rl+SkIRDpyw==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"netbsd"
],
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"peer": true,
"engines": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"node": ">=18"
}
},
"node_modules/@esbuild/openbsd-arm64": {
"version": "0.28.2",
"resolved": "https://registry.npmmirror.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.2.tgz",
"integrity": "sha512-AL2qJILH7lNjrDmCQDvdxMfAUIv8KMNZOvrwAQ8i8//ntL9FflhOyMJ8OZSMBb8/AWXe3/5v5S20y3zCoZWKoQ==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"openbsd"
],
"peer": true,
"engines": {
"node": ">=18"
}
},
"node_modules/@esbuild/openbsd-x64": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"version": "0.28.2",
"resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.28.2.tgz",
"integrity": "sha512-QtiuPytchRyC4rwUKhexJdQKvDuZ6hWloi3igqPQNUJCS1/v9EiO3UTOXR6A3FoMo4fnAKbWJdqaIwhOzh8qEw==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"openbsd"
],
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"peer": true,
"engines": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"node": ">=18"
}
},
"node_modules/@esbuild/openharmony-arm64": {
"version": "0.28.2",
"resolved": "https://registry.npmmirror.com/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.2.tgz",
"integrity": "sha512-WkhYDmpTjLvGlScA1rwjRUmhl4k8oXR3cIbtqWmELgU/dFeHHlEllxDvdWcNJV9rbzCexB5vz8gtNewWLgCT7Q==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"openharmony"
],
"peer": true,
"engines": {
"node": ">=18"
}
},
"node_modules/@esbuild/sunos-x64": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"version": "0.28.2",
"resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.28.2.tgz",
"integrity": "sha512-GPMSkTOtMnv2U2F8gxe4Io6qmVs+YKyp832Etqqxr0hFngmXQ3rzwytelm3GIn7T4VviRUlf3sOgBOiTdvaf7g==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"sunos"
],
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"peer": true,
"engines": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"node": ">=18"
}
},
"node_modules/@esbuild/win32-arm64": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"version": "0.28.2",
"resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.28.2.tgz",
"integrity": "sha512-PIhhEkE9uPBleRBrQEJpUn7MBnibZzbGzYWPmY3x+YoVg/95zbjB4CxPPOQ8l5tYYM4mMaCthF8/1DIfBQQyWQ==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"win32"
],
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"peer": true,
"engines": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"node": ">=18"
}
},
"node_modules/@esbuild/win32-ia32": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"version": "0.28.2",
"resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.28.2.tgz",
"integrity": "sha512-YmJbfTlvU7Sdn9BB+4PRES4oB6pxgS37MAONj+hBr/cpXS1aBPKXxNnDbu+QCWPj0o9dgyxeq79g6c5P8KeuYA==",
"cpu": [
"ia32"
],
"dev": true,
"optional": true,
"os": [
"win32"
],
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"peer": true,
"engines": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"node": ">=18"
}
},
"node_modules/@esbuild/win32-x64": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"version": "0.28.2",
"resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.28.2.tgz",
"integrity": "sha512-5ebpxr3nWMzrL/rnUI755Jkuee0bHL/Gq0WTF9lvcpv73wAp5eu8MfBUgWK9bhWvZjj7yX8etf/8tI8Ney695g==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"win32"
],
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"peer": true,
"engines": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"node": ">=18"
}
},
"node_modules/@floating-ui/core": {
"version": "1.7.5",
"license": "MIT",
"dependencies": {
"@floating-ui/utils": "^0.2.11"
}
},
"node_modules/@floating-ui/dom": {
"version": "1.7.6",
"license": "MIT",
"dependencies": {
"@floating-ui/core": "^1.7.5",
"@floating-ui/utils": "^0.2.11"
}
},
"node_modules/@floating-ui/utils": {
"version": "0.2.11",
"license": "MIT"
},
"node_modules/@jridgewell/gen-mapping": {
"version": "0.3.13",
"resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
"integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@jridgewell/sourcemap-codec": "^1.5.0",
"@jridgewell/trace-mapping": "^0.3.24"
}
},
"node_modules/@jridgewell/remapping": {
"version": "2.3.5",
"resolved": "https://registry.npmmirror.com/@jridgewell/remapping/-/remapping-2.3.5.tgz",
"integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@jridgewell/gen-mapping": "^0.3.5",
"@jridgewell/trace-mapping": "^0.3.24"
}
},
"node_modules/@jridgewell/resolve-uri": {
"version": "3.1.2",
"resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
"integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@jridgewell/sourcemap-codec": {
"version": "1.5.5",
"license": "MIT"
},
"node_modules/@jridgewell/trace-mapping": {
"version": "0.3.31",
"resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
"integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@jridgewell/resolve-uri": "^3.1.0",
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"node_modules/@oxc-project/types": {
"version": "0.154.0",
"resolved": "https://registry.npmmirror.com/@oxc-project/types/-/types-0.154.0.tgz",
"integrity": "sha512-KYOUGQFlLWR+s4QMV2Q9ko38TZm7EdO87Qm7rvZLqk/webse/cDjtyxKhg/47l0byCbs/k46LT8qc4PKjAikzA==",
"dev": true,
"funding": {
"url": "https://github.com/sponsors/oxc-project"
}
},
"node_modules/@popperjs/core": {
"name": "@sxzz/popperjs-es",
"version": "2.11.8",
"license": "MIT",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/popperjs"
}
},
"node_modules/@rolldown/binding-android-arm-eabi": {
"version": "1.2.14",
"resolved": "https://registry.npmmirror.com/@rolldown/binding-android-arm-eabi/-/binding-android-arm-eabi-1.2.14.tgz",
"integrity": "sha512-aWR+XKH9+rW7m5fWq/5360J3mHycrx/o6xZM2DQFdJnTMdyP7/WzxPjhtLbVWdKo2y612/4U1bWqb3HQhiF7vg==",
"cpu": [
"arm"
],
"dev": true,
"optional": true,
"os": [
"android"
],
"engines": {
"node": "^20.19.0 || >=22.12.0"
}
},
"node_modules/@rolldown/binding-android-arm64": {
"version": "1.2.14",
"resolved": "https://registry.npmmirror.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.14.tgz",
"integrity": "sha512-QiVxHofl6A8lQU7WAtOUY4QMVZXohxwz7WJJoeh8NBEUyKfIkMRKhYyq8az/1RypNiIXzNTtiS6KwHz0erxYRQ==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"android"
],
"engines": {
"node": "^20.19.0 || >=22.12.0"
}
},
"node_modules/@rolldown/binding-darwin-arm64": {
"version": "1.2.14",
"resolved": "https://registry.npmmirror.com/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.14.tgz",
"integrity": "sha512-lTQOzHuBIooh3jIr5XINQkjPGEuGy+Dsy0meXDr6Sjty0b99kYgGh4uBC/8mJX1T0kC8d6S0aPP1Y+bHkh6aBw==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": "^20.19.0 || >=22.12.0"
}
},
"node_modules/@rolldown/binding-darwin-x64": {
"version": "1.2.14",
"resolved": "https://registry.npmmirror.com/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.14.tgz",
"integrity": "sha512-hyMKEGatjmBYCs/Q4sbIcL/GqpFEqsX3wc+HYVQ/85A4rxc1o7rPm4DUI4GV4k/h0ITddwFSGpqQunI14GXjTA==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": "^20.19.0 || >=22.12.0"
}
},
"node_modules/@rolldown/binding-freebsd-x64": {
"version": "1.2.14",
"resolved": "https://registry.npmmirror.com/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.14.tgz",
"integrity": "sha512-u371GbXoVXrEgP20PwzoGNOdAOqAMhzo19JzzY+V4YmmnC+DTOoqdbMu+O+54emM59Mik/UdrtWgcuEDKWRPKA==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"freebsd"
],
"engines": {
"node": "^20.19.0 || >=22.12.0"
}
},
"node_modules/@rolldown/binding-linux-arm-gnueabihf": {
"version": "1.2.14",
"resolved": "https://registry.npmmirror.com/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.14.tgz",
"integrity": "sha512-BqwKsdZQf6EqVWr8fv2MrDYzAvOZ7+NYFSJESRGs87fkseEhs0TU9TXgRJTkZoRRkxTizyEg1LKUXfU3/78uqg==",
"cpu": [
"arm"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": "^20.19.0 || >=22.12.0"
}
},
"node_modules/@rolldown/binding-linux-arm64-gnu": {
"version": "1.2.14",
"resolved": "https://registry.npmmirror.com/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.14.tgz",
"integrity": "sha512-SD9kY8M009x/7s57Z1dgUVlP5+uYBgKQK0Tkr1WIWngrtUJmRCW1RJFMY7QDla2khXhmg2i5Io7MUjcmZNZ/KQ==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": "^20.19.0 || >=22.12.0"
}
},
"node_modules/@rolldown/binding-linux-arm64-musl": {
"version": "1.2.14",
"resolved": "https://registry.npmmirror.com/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.14.tgz",
"integrity": "sha512-BJ2CL19M6uuWesMgnqJzgxoI+N+eV7b0A9O9vLV42y+gitC41fNa8KElau1tHVzuLWX5GzEuxMPhAO0tQXQMkg==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": "^20.19.0 || >=22.12.0"
}
},
"node_modules/@rolldown/binding-linux-ppc64-gnu": {
"version": "1.2.14",
"resolved": "https://registry.npmmirror.com/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.14.tgz",
"integrity": "sha512-4+Kl8daPV8NDHaD7mfCcc1pRM+Qg7ab8DyMm5FG5WoZgv4h2i3KFN1CybYBNbQqmuYm7ftJLvmMI1eHYJ22S/Q==",
"cpu": [
"ppc64"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": "^20.19.0 || >=22.12.0"
}
},
"node_modules/@rolldown/binding-linux-s390x-gnu": {
"version": "1.2.14",
"resolved": "https://registry.npmmirror.com/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.14.tgz",
"integrity": "sha512-V/h8ePq1fKDrmtFMz6xcCN3DKvuvMRrwwD1q0PkBeeo4DpK64biaKvqWGVxqCeYKqeRk7gE7/iKPxLCn08O97A==",
"cpu": [
"s390x"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": "^20.19.0 || >=22.12.0"
}
},
"node_modules/@rolldown/binding-linux-x64-gnu": {
"version": "1.2.14",
"resolved": "https://registry.npmmirror.com/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.14.tgz",
"integrity": "sha512-WxalXzgrLVpKC93xfpaJ3gCXUWzeCr+FRCbDVD2mUAy4L6Vo3lNVz0epUEUpxPWJkLNYUwM4OSIikv36OJ9mLg==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": "^20.19.0 || >=22.12.0"
}
},
"node_modules/@rolldown/binding-linux-x64-musl": {
"version": "1.2.14",
"resolved": "https://registry.npmmirror.com/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.14.tgz",
"integrity": "sha512-3G3tnAmTpdk9jO3GQtyHXqeFD2SlecfTws/Y3M2mmj9nMBwwuLT4kur8sZKeu7ENUHSpVO3cIsm5A52LEWWwlg==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": "^20.19.0 || >=22.12.0"
}
},
"node_modules/@rolldown/binding-openharmony-arm64": {
"version": "1.2.14",
"resolved": "https://registry.npmmirror.com/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.14.tgz",
"integrity": "sha512-qyr5XiNGxm2ytx17vvtcJ9nXn6v1gENETi503bJx3OGwZ1tSonj7BosxbMa/xeAfSl5iS9X6KjEWYXLu6v1L7Q==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"openharmony"
],
"engines": {
"node": "^20.19.0 || >=22.12.0"
}
},
"node_modules/@rolldown/binding-win32-arm64-msvc": {
"version": "1.2.14",
"resolved": "https://registry.npmmirror.com/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.14.tgz",
"integrity": "sha512-oA4o5o0S2yB199YyYXDzKUv1Z56Rc+mgOjwm7Z/vJ9Z8igiDPYvoOuDyo6g7AK/ZaF09nPhDKVnGBcYHO11GXA==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"win32"
],
"engines": {
"node": "^20.19.0 || >=22.12.0"
}
},
"node_modules/@rolldown/binding-win32-x64-msvc": {
"version": "1.2.14",
"resolved": "https://registry.npmmirror.com/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.14.tgz",
"integrity": "sha512-9mE94bf2GZUaR/fUSXCMpBoWkctu421Mi0ORpm4zqfbkjKep7RxzPFa5etcGs5h+2KApoWBOA/hAJa/7saGgEQ==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"win32"
],
"engines": {
"node": "^20.19.0 || >=22.12.0"
}
},
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"node_modules/@rolldown/pluginutils": {
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz",
"integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==",
"dev": true
},
"node_modules/@rollup/rollup-win32-x64-gnu": {
"version": "4.62.0",
"cpu": [
"x64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
"win32"
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
],
"peer": true
},
"node_modules/@rollup/rollup-win32-x64-msvc": {
"version": "4.62.0",
"cpu": [
"x64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
"win32"
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
],
"peer": true
},
"node_modules/@transloadit/prettier-bytes": {
"version": "0.0.7",
"resolved": "https://registry.npmmirror.com/@transloadit/prettier-bytes/-/prettier-bytes-0.0.7.tgz",
"integrity": "sha512-VeJbUb0wEKbcwaSlj5n+LscBl9IPgLPkHVGBkh00cztv6X4L/TJXK58LzFuBKX7/GAfiGhIwH67YTLTlzvIzBA=="
},
"node_modules/@types/estree": {
"version": "1.0.9",
"dev": true,
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"license": "MIT",
"optional": true,
"peer": true
},
"node_modules/@types/event-emitter": {
"version": "0.3.5",
"resolved": "https://registry.npmmirror.com/@types/event-emitter/-/event-emitter-0.3.5.tgz",
"integrity": "sha512-zx2/Gg0Eg7gwEiOIIh5w9TrhKKTeQh7CPCOPNc0el4pLSwzebA8SmnHwZs2dWlLONvyulykSwGSQxQHLhjGLvQ=="
},
"node_modules/@types/lodash": {
"version": "4.17.24",
"license": "MIT"
},
"node_modules/@types/lodash-es": {
"version": "4.17.12",
"license": "MIT",
"dependencies": {
"@types/lodash": "*"
}
},
"node_modules/@types/web-bluetooth": {
"version": "0.0.20",
"license": "MIT"
},
"node_modules/@uppy/companion-client": {
"version": "2.2.2",
"resolved": "https://registry.npmmirror.com/@uppy/companion-client/-/companion-client-2.2.2.tgz",
"integrity": "sha512-5mTp2iq97/mYSisMaBtFRry6PTgZA6SIL7LePteOV5x0/DxKfrZW3DEiQERJmYpHzy7k8johpm2gHnEKto56Og==",
"dependencies": {
"@uppy/utils": "^4.1.2",
"namespace-emitter": "^2.0.1"
}
},
"node_modules/@uppy/core": {
"version": "2.3.4",
"resolved": "https://registry.npmmirror.com/@uppy/core/-/core-2.3.4.tgz",
"integrity": "sha512-iWAqppC8FD8mMVqewavCz+TNaet6HPXitmGXpGGREGrakZ4FeuWytVdrelydzTdXx6vVKkOmI2FLztGg73sENQ==",
"dependencies": {
"@transloadit/prettier-bytes": "0.0.7",
"@uppy/store-default": "^2.1.1",
"@uppy/utils": "^4.1.3",
"lodash.throttle": "^4.1.1",
"mime-match": "^1.0.2",
"namespace-emitter": "^2.0.1",
"nanoid": "^3.1.25",
"preact": "^10.5.13"
}
},
"node_modules/@uppy/store-default": {
"version": "2.1.1",
"resolved": "https://registry.npmmirror.com/@uppy/store-default/-/store-default-2.1.1.tgz",
"integrity": "sha512-xnpTxvot2SeAwGwbvmJ899ASk5tYXhmZzD/aCFsXePh/v8rNvR2pKlcQUH7cF/y4baUGq3FHO/daKCok/mpKqQ=="
},
"node_modules/@uppy/utils": {
"version": "4.1.3",
"resolved": "https://registry.npmmirror.com/@uppy/utils/-/utils-4.1.3.tgz",
"integrity": "sha512-nTuMvwWYobnJcytDO3t+D6IkVq/Qs4Xv3vyoEZ+Iaf8gegZP+rEyoaFT2CK5XLRMienPyqRqNbIfRuFaOWSIFw==",
"dependencies": {
"lodash.throttle": "^4.1.1"
}
},
"node_modules/@uppy/xhr-upload": {
"version": "2.1.3",
"resolved": "https://registry.npmmirror.com/@uppy/xhr-upload/-/xhr-upload-2.1.3.tgz",
"integrity": "sha512-YWOQ6myBVPs+mhNjfdWsQyMRWUlrDLMoaG7nvf/G6Y3GKZf8AyjFDjvvJ49XWQ+DaZOftGkHmF1uh/DBeGivJQ==",
"dependencies": {
"@uppy/companion-client": "^2.2.2",
"@uppy/utils": "^4.1.2",
"nanoid": "^3.1.25"
},
"peerDependencies": {
"@uppy/core": "^2.3.3"
}
},
"node_modules/@vitejs/plugin-vue": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"version": "6.0.10",
"resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-6.0.10.tgz",
"integrity": "sha512-b80aUQh3n+qEzzZm5oQp3rT2QImeCx58K6eFl/RkJ3d65KW0kTuv5lNsLRVAjbW9YRUpo/wzmvzMgV34bTAItA==",
"dev": true,
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"dependencies": {
"@rolldown/pluginutils": "^1.0.1"
},
"engines": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"node": "^20.19.0 || >=22.12.0"
},
"peerDependencies": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0",
"vue": "^3.2.25 || ^3.6.0-rc.10"
}
},
"node_modules/@vue/compiler-core": {
"version": "3.5.38",
"license": "MIT",
"dependencies": {
"@babel/parser": "^7.29.7",
"@vue/shared": "3.5.38",
"entities": "^7.0.1",
"estree-walker": "^2.0.2",
"source-map-js": "^1.2.1"
}
},
"node_modules/@vue/compiler-dom": {
"version": "3.5.38",
"license": "MIT",
"dependencies": {
"@vue/compiler-core": "3.5.38",
"@vue/shared": "3.5.38"
}
},
"node_modules/@vue/compiler-sfc": {
"version": "3.5.38",
"license": "MIT",
"dependencies": {
"@babel/parser": "^7.29.7",
"@vue/compiler-core": "3.5.38",
"@vue/compiler-dom": "3.5.38",
"@vue/compiler-ssr": "3.5.38",
"@vue/shared": "3.5.38",
"estree-walker": "^2.0.2",
"magic-string": "^0.30.21",
"postcss": "^8.5.15",
"source-map-js": "^1.2.1"
}
},
"node_modules/@vue/compiler-ssr": {
"version": "3.5.38",
"license": "MIT",
"dependencies": {
"@vue/compiler-dom": "3.5.38",
"@vue/shared": "3.5.38"
}
},
"node_modules/@vue/devtools-api": {
"version": "6.6.4",
"license": "MIT"
},
"node_modules/@vue/reactivity": {
"version": "3.5.38",
"license": "MIT",
"dependencies": {
"@vue/shared": "3.5.38"
}
},
"node_modules/@vue/runtime-core": {
"version": "3.5.38",
"license": "MIT",
"dependencies": {
"@vue/reactivity": "3.5.38",
"@vue/shared": "3.5.38"
}
},
"node_modules/@vue/runtime-dom": {
"version": "3.5.38",
"license": "MIT",
"dependencies": {
"@vue/reactivity": "3.5.38",
"@vue/runtime-core": "3.5.38",
"@vue/shared": "3.5.38",
"csstype": "^3.2.3"
}
},
"node_modules/@vue/server-renderer": {
"version": "3.5.38",
"license": "MIT",
"dependencies": {
"@vue/compiler-ssr": "3.5.38",
"@vue/shared": "3.5.38"
},
"peerDependencies": {
"vue": "3.5.38"
}
},
"node_modules/@vue/shared": {
"version": "3.5.38",
"license": "MIT"
},
"node_modules/@vueuse/core": {
"version": "10.11.1",
"license": "MIT",
"dependencies": {
"@types/web-bluetooth": "^0.0.20",
"@vueuse/metadata": "10.11.1",
"@vueuse/shared": "10.11.1",
"vue-demi": ">=0.14.8"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
}
},
"node_modules/@vueuse/metadata": {
"version": "10.11.1",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/antfu"
}
},
"node_modules/@vueuse/shared": {
"version": "10.11.1",
"license": "MIT",
"dependencies": {
"vue-demi": ">=0.14.8"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
}
},
"node_modules/@wangeditor/basic-modules": {
"version": "1.1.7",
"resolved": "https://registry.npmmirror.com/@wangeditor/basic-modules/-/basic-modules-1.1.7.tgz",
"integrity": "sha512-cY9CPkLJaqF05STqfpZKWG4LpxTMeGSIIF1fHvfm/mz+JXatCagjdkbxdikOuKYlxDdeqvOeBmsUBItufDLXZg==",
"dependencies": {
"is-url": "^1.2.4"
},
"peerDependencies": {
"@wangeditor/core": "1.x",
"dom7": "^3.0.0",
"lodash.throttle": "^4.1.1",
"nanoid": "^3.2.0",
"slate": "^0.72.0",
"snabbdom": "^3.1.0"
}
},
"node_modules/@wangeditor/code-highlight": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/@wangeditor/code-highlight/-/code-highlight-1.0.3.tgz",
"integrity": "sha512-iazHwO14XpCuIWJNTQTikqUhGKyqj+dUNWJ9288Oym9M2xMVHvnsOmDU2sgUDWVy+pOLojReMPgXCsvvNlOOhw==",
"dependencies": {
"prismjs": "^1.23.0"
},
"peerDependencies": {
"@wangeditor/core": "1.x",
"dom7": "^3.0.0",
"slate": "^0.72.0",
"snabbdom": "^3.1.0"
}
},
"node_modules/@wangeditor/core": {
"version": "1.1.19",
"resolved": "https://registry.npmmirror.com/@wangeditor/core/-/core-1.1.19.tgz",
"integrity": "sha512-KevkB47+7GhVszyYF2pKGKtCSj/YzmClsD03C3zTt+9SR2XWT5T0e3yQqg8baZpcMvkjs1D8Dv4fk8ok/UaS2Q==",
"dependencies": {
"@types/event-emitter": "^0.3.3",
"event-emitter": "^0.3.5",
"html-void-elements": "^2.0.0",
"i18next": "^20.4.0",
"scroll-into-view-if-needed": "^2.2.28",
"slate-history": "^0.66.0"
},
"peerDependencies": {
"@uppy/core": "^2.1.1",
"@uppy/xhr-upload": "^2.0.3",
"dom7": "^3.0.0",
"is-hotkey": "^0.2.0",
"lodash.camelcase": "^4.3.0",
"lodash.clonedeep": "^4.5.0",
"lodash.debounce": "^4.0.8",
"lodash.foreach": "^4.5.0",
"lodash.isequal": "^4.5.0",
"lodash.throttle": "^4.1.1",
"lodash.toarray": "^4.4.0",
"nanoid": "^3.2.0",
"slate": "^0.72.0",
"snabbdom": "^3.1.0"
}
},
"node_modules/@wangeditor/editor": {
"version": "5.1.23",
"resolved": "https://registry.npmmirror.com/@wangeditor/editor/-/editor-5.1.23.tgz",
"integrity": "sha512-0RxfeVTuK1tktUaPROnCoFfaHVJpRAIE2zdS0mpP+vq1axVQpLjM8+fCvKzqYIkH0Pg+C+44hJpe3VVroSkEuQ==",
"dependencies": {
"@uppy/core": "^2.1.1",
"@uppy/xhr-upload": "^2.0.3",
"@wangeditor/basic-modules": "^1.1.7",
"@wangeditor/code-highlight": "^1.0.3",
"@wangeditor/core": "^1.1.19",
"@wangeditor/list-module": "^1.0.5",
"@wangeditor/table-module": "^1.1.4",
"@wangeditor/upload-image-module": "^1.0.2",
"@wangeditor/video-module": "^1.1.4",
"dom7": "^3.0.0",
"is-hotkey": "^0.2.0",
"lodash.camelcase": "^4.3.0",
"lodash.clonedeep": "^4.5.0",
"lodash.debounce": "^4.0.8",
"lodash.foreach": "^4.5.0",
"lodash.isequal": "^4.5.0",
"lodash.throttle": "^4.1.1",
"lodash.toarray": "^4.4.0",
"nanoid": "^3.2.0",
"slate": "^0.72.0",
"snabbdom": "^3.1.0"
}
},
"node_modules/@wangeditor/editor-for-vue": {
"version": "5.1.12",
"resolved": "https://registry.npmmirror.com/@wangeditor/editor-for-vue/-/editor-for-vue-5.1.12.tgz",
"integrity": "sha512-0Ds3D8I+xnpNWezAeO7HmPRgTfUxHLMd9JKcIw+QzvSmhC5xUHbpCcLU+KLmeBKTR/zffnS5GQo6qi3GhTMJWQ==",
"peerDependencies": {
"@wangeditor/editor": ">=5.1.0",
"vue": "^3.0.5"
}
},
"node_modules/@wangeditor/list-module": {
"version": "1.0.5",
"resolved": "https://registry.npmmirror.com/@wangeditor/list-module/-/list-module-1.0.5.tgz",
"integrity": "sha512-uDuYTP6DVhcYf7mF1pTlmNn5jOb4QtcVhYwSSAkyg09zqxI1qBqsfUnveeDeDqIuptSJhkh81cyxi+MF8sEPOQ==",
"peerDependencies": {
"@wangeditor/core": "1.x",
"dom7": "^3.0.0",
"slate": "^0.72.0",
"snabbdom": "^3.1.0"
}
},
"node_modules/@wangeditor/table-module": {
"version": "1.1.4",
"resolved": "https://registry.npmmirror.com/@wangeditor/table-module/-/table-module-1.1.4.tgz",
"integrity": "sha512-5saanU9xuEocxaemGdNi9t8MCDSucnykEC6jtuiT72kt+/Hhh4nERYx1J20OPsTCCdVr7hIyQenFD1iSRkIQ6w==",
"peerDependencies": {
"@wangeditor/core": "1.x",
"dom7": "^3.0.0",
"lodash.isequal": "^4.5.0",
"lodash.throttle": "^4.1.1",
"nanoid": "^3.2.0",
"slate": "^0.72.0",
"snabbdom": "^3.1.0"
}
},
"node_modules/@wangeditor/upload-image-module": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/@wangeditor/upload-image-module/-/upload-image-module-1.0.2.tgz",
"integrity": "sha512-z81lk/v71OwPDYeQDxj6cVr81aDP90aFuywb8nPD6eQeECtOymrqRODjpO6VGvCVxVck8nUxBHtbxKtjgcwyiA==",
"peerDependencies": {
"@uppy/core": "^2.0.3",
"@uppy/xhr-upload": "^2.0.3",
"@wangeditor/basic-modules": "1.x",
"@wangeditor/core": "1.x",
"dom7": "^3.0.0",
"lodash.foreach": "^4.5.0",
"slate": "^0.72.0",
"snabbdom": "^3.1.0"
}
},
"node_modules/@wangeditor/video-module": {
"version": "1.1.4",
"resolved": "https://registry.npmmirror.com/@wangeditor/video-module/-/video-module-1.1.4.tgz",
"integrity": "sha512-ZdodDPqKQrgx3IwWu4ZiQmXI8EXZ3hm2/fM6E3t5dB8tCaIGWQZhmqd6P5knfkRAd3z2+YRSRbxOGfoRSp/rLg==",
"peerDependencies": {
"@uppy/core": "^2.1.4",
"@uppy/xhr-upload": "^2.0.7",
"@wangeditor/core": "1.x",
"dom7": "^3.0.0",
"nanoid": "^3.2.0",
"slate": "^0.72.0",
"snabbdom": "^3.1.0"
}
},
"node_modules/acorn": {
"version": "8.18.0",
"resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.18.0.tgz",
"integrity": "sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==",
"dev": true,
"license": "MIT",
"bin": {
"acorn": "bin/acorn"
},
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/agent-base": {
"version": "6.0.2",
"license": "MIT",
"dependencies": {
"debug": "4"
},
"engines": {
"node": ">= 6.0.0"
}
},
"node_modules/async-validator": {
"version": "4.2.5",
"license": "MIT"
},
"node_modules/asynckit": {
"version": "0.4.0",
"license": "MIT"
},
"node_modules/axios": {
"version": "1.18.0",
"license": "MIT",
"dependencies": {
"follow-redirects": "^1.16.0",
"form-data": "^4.0.5",
"https-proxy-agent": "^5.0.1",
"proxy-from-env": "^2.1.0"
}
},
"node_modules/call-bind-apply-helpers": {
"version": "1.0.2",
"license": "MIT",
"dependencies": {
"es-errors": "^1.3.0",
"function-bind": "^1.1.2"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/chokidar": {
"version": "5.0.0",
"resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-5.0.0.tgz",
"integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==",
"dev": true,
"license": "MIT",
"dependencies": {
"readdirp": "^5.0.0"
},
"engines": {
"node": ">= 20.19.0"
},
"funding": {
"url": "https://paulmillr.com/funding/"
}
},
"node_modules/combined-stream": {
"version": "1.0.8",
"license": "MIT",
"dependencies": {
"delayed-stream": "~1.0.0"
},
"engines": {
"node": ">= 0.8"
}
},
"node_modules/compute-scroll-into-view": {
"version": "1.0.20",
"resolved": "https://registry.npmmirror.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz",
"integrity": "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg=="
},
"node_modules/confbox": {
"version": "0.3.1",
"resolved": "https://registry.npmmirror.com/confbox/-/confbox-0.3.1.tgz",
"integrity": "sha512-cKUSoKa8YxFZZSmraVi7onONx3amu77ngK3kGpsYHDH7drPwCRkQE1RYMPlLRrMtnciRj274XNRxcHxnKmDSnA==",
"dev": true,
"license": "MIT"
},
"node_modules/csstype": {
"version": "3.2.3",
"license": "MIT"
},
"node_modules/d": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/d/-/d-1.0.2.tgz",
"integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==",
"dependencies": {
"es5-ext": "^0.10.64",
"type": "^2.7.2"
},
"engines": {
"node": ">=0.12"
}
},
"node_modules/dayjs": {
"version": "1.11.21",
"license": "MIT"
},
"node_modules/debug": {
"version": "4.4.3",
"license": "MIT",
"dependencies": {
"ms": "^2.1.3"
},
"engines": {
"node": ">=6.0"
},
"peerDependenciesMeta": {
"supports-color": {
"optional": true
}
}
},
"node_modules/delayed-stream": {
"version": "1.0.0",
"license": "MIT",
"engines": {
"node": ">=0.4.0"
}
},
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"node_modules/detect-libc": {
"version": "2.1.2",
"resolved": "https://registry.npmmirror.com/detect-libc/-/detect-libc-2.1.2.tgz",
"integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
"dev": true,
"engines": {
"node": ">=8"
}
},
"node_modules/dom7": {
"version": "3.0.0",
"resolved": "https://registry.npmmirror.com/dom7/-/dom7-3.0.0.tgz",
"integrity": "sha512-oNlcUdHsC4zb7Msx7JN3K0Nro1dzJ48knvBOnDPKJ2GV9wl1i5vydJZUSyOfrkKFDZEud/jBsTk92S/VGSAe/g==",
"dependencies": {
"ssr-window": "^3.0.0-alpha.1"
}
},
"node_modules/dunder-proto": {
"version": "1.0.1",
"license": "MIT",
"dependencies": {
"call-bind-apply-helpers": "^1.0.1",
"es-errors": "^1.3.0",
"gopd": "^1.2.0"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/element-plus": {
"version": "2.14.2",
"license": "MIT",
"dependencies": {
"@ctrl/tinycolor": "^4.2.0",
"@element-plus/icons-vue": "^2.3.2",
"@floating-ui/dom": "^1.7.6",
"@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.8",
"@types/lodash": "^4.17.24",
"@types/lodash-es": "^4.17.12",
"@vueuse/core": "14.3.0",
"async-validator": "^4.2.5",
"dayjs": "^1.11.20",
"lodash": "^4.18.1",
"lodash-es": "^4.18.1",
"lodash-unified": "^1.0.3",
"memoize-one": "^6.0.0",
"normalize-wheel-es": "^1.2.0",
"vue-component-type-helpers": "^3.3.3"
},
"peerDependencies": {
"vue": "^3.3.7"
}
},
"node_modules/element-plus/node_modules/@types/web-bluetooth": {
"version": "0.0.21",
"license": "MIT"
},
"node_modules/element-plus/node_modules/@vueuse/core": {
"version": "14.3.0",
"license": "MIT",
"dependencies": {
"@types/web-bluetooth": "^0.0.21",
"@vueuse/metadata": "14.3.0",
"@vueuse/shared": "14.3.0"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
},
"peerDependencies": {
"vue": "^3.5.0"
}
},
"node_modules/element-plus/node_modules/@vueuse/metadata": {
"version": "14.3.0",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/antfu"
}
},
"node_modules/element-plus/node_modules/@vueuse/shared": {
"version": "14.3.0",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/antfu"
},
"peerDependencies": {
"vue": "^3.5.0"
}
},
"node_modules/entities": {
"version": "7.0.1",
"license": "BSD-2-Clause",
"engines": {
"node": ">=0.12"
},
"funding": {
"url": "https://github.com/fb55/entities?sponsor=1"
}
},
"node_modules/es-define-property": {
"version": "1.0.1",
"license": "MIT",
"engines": {
"node": ">= 0.4"
}
},
"node_modules/es-errors": {
"version": "1.3.0",
"license": "MIT",
"engines": {
"node": ">= 0.4"
}
},
"node_modules/es-object-atoms": {
"version": "1.1.2",
"license": "MIT",
"dependencies": {
"es-errors": "^1.3.0"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/es-set-tostringtag": {
"version": "2.1.0",
"license": "MIT",
"dependencies": {
"es-errors": "^1.3.0",
"get-intrinsic": "^1.2.6",
"has-tostringtag": "^1.0.2",
"hasown": "^2.0.2"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/es5-ext": {
"version": "0.10.64",
"resolved": "https://registry.npmmirror.com/es5-ext/-/es5-ext-0.10.64.tgz",
"integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==",
"hasInstallScript": true,
"dependencies": {
"es6-iterator": "^2.0.3",
"es6-symbol": "^3.1.3",
"esniff": "^2.0.1",
"next-tick": "^1.1.0"
},
"engines": {
"node": ">=0.10"
}
},
"node_modules/es6-iterator": {
"version": "2.0.3",
"resolved": "https://registry.npmmirror.com/es6-iterator/-/es6-iterator-2.0.3.tgz",
"integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==",
"dependencies": {
"d": "1",
"es5-ext": "^0.10.35",
"es6-symbol": "^3.1.1"
}
},
"node_modules/es6-symbol": {
"version": "3.1.4",
"resolved": "https://registry.npmmirror.com/es6-symbol/-/es6-symbol-3.1.4.tgz",
"integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==",
"dependencies": {
"d": "^1.0.2",
"ext": "^1.7.0"
},
"engines": {
"node": ">=0.12"
}
},
"node_modules/esbuild": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"version": "0.28.2",
"resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.28.2.tgz",
"integrity": "sha512-HKVLS8dvII+xoKW9kmqxbRKrnWEXfJJr/FZhhJmiqIB0e053QNYFqOBouTMO/k5sID4MvCiUCvv8b9M4h32wIA==",
"dev": true,
"hasInstallScript": true,
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"optional": true,
"peer": true,
"bin": {
"esbuild": "bin/esbuild"
},
"engines": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"node": ">=18"
},
"optionalDependencies": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"@esbuild/aix-ppc64": "0.28.2",
"@esbuild/android-arm": "0.28.2",
"@esbuild/android-arm64": "0.28.2",
"@esbuild/android-x64": "0.28.2",
"@esbuild/darwin-arm64": "0.28.2",
"@esbuild/darwin-x64": "0.28.2",
"@esbuild/freebsd-arm64": "0.28.2",
"@esbuild/freebsd-x64": "0.28.2",
"@esbuild/linux-arm": "0.28.2",
"@esbuild/linux-arm64": "0.28.2",
"@esbuild/linux-ia32": "0.28.2",
"@esbuild/linux-loong64": "0.28.2",
"@esbuild/linux-mips64el": "0.28.2",
"@esbuild/linux-ppc64": "0.28.2",
"@esbuild/linux-riscv64": "0.28.2",
"@esbuild/linux-s390x": "0.28.2",
"@esbuild/linux-x64": "0.28.2",
"@esbuild/netbsd-arm64": "0.28.2",
"@esbuild/netbsd-x64": "0.28.2",
"@esbuild/openbsd-arm64": "0.28.2",
"@esbuild/openbsd-x64": "0.28.2",
"@esbuild/openharmony-arm64": "0.28.2",
"@esbuild/sunos-x64": "0.28.2",
"@esbuild/win32-arm64": "0.28.2",
"@esbuild/win32-ia32": "0.28.2",
"@esbuild/win32-x64": "0.28.2"
}
},
"node_modules/esniff": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/esniff/-/esniff-2.0.1.tgz",
"integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==",
"dependencies": {
"d": "^1.0.1",
"es5-ext": "^0.10.62",
"event-emitter": "^0.3.5",
"type": "^2.7.2"
},
"engines": {
"node": ">=0.10"
}
},
"node_modules/estree-walker": {
"version": "2.0.2",
"license": "MIT"
},
"node_modules/event-emitter": {
"version": "0.3.5",
"resolved": "https://registry.npmmirror.com/event-emitter/-/event-emitter-0.3.5.tgz",
"integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==",
"dependencies": {
"d": "1",
"es5-ext": "~0.10.14"
}
},
"node_modules/exsolve": {
"version": "1.1.1",
"resolved": "https://registry.npmmirror.com/exsolve/-/exsolve-1.1.1.tgz",
"integrity": "sha512-9U/jZUgjnSGyntRr6y5Muu1MJcwFl6kPu7k8qLF0IMNfLqvw0NZ4nnVDq0RVoZ0RvCyumib4Ez3KYrVfilrw+g==",
"dev": true,
"license": "MIT"
},
"node_modules/ext": {
"version": "1.7.0",
"resolved": "https://registry.npmmirror.com/ext/-/ext-1.7.0.tgz",
"integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==",
"dependencies": {
"type": "^2.7.2"
}
},
"node_modules/fdir": {
"version": "6.5.0",
"resolved": "https://registry.npmmirror.com/fdir/-/fdir-6.5.0.tgz",
"integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=12.0.0"
},
"peerDependencies": {
"picomatch": "^3 || ^4"
},
"peerDependenciesMeta": {
"picomatch": {
"optional": true
}
}
},
"node_modules/follow-redirects": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"version": "1.16.1",
"resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.16.1.tgz",
"integrity": "sha512-FNvFGzoMLWmE6Yj9spb/zjd7yiNCHiAW9/Tg9CXrQ8wuu32HtlJOwWO11OJafl5FfY3DxTdQ0vj42zU1kvv5jg==",
"funding": [
{
"type": "individual",
"url": "https://github.com/sponsors/RubenVerborgh"
}
],
"engines": {
"node": ">=4.0"
},
"peerDependenciesMeta": {
"debug": {
"optional": true
}
}
},
"node_modules/form-data": {
"version": "4.0.6",
"license": "MIT",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
"es-set-tostringtag": "^2.1.0",
"hasown": "^2.0.4",
"mime-types": "^2.1.35"
},
"engines": {
"node": ">= 6"
}
},
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"node_modules/fsevents": {
"version": "2.3.3",
"resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz",
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
"dev": true,
"hasInstallScript": true,
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
"node_modules/function-bind": {
"version": "1.1.2",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/get-intrinsic": {
"version": "1.3.0",
"license": "MIT",
"dependencies": {
"call-bind-apply-helpers": "^1.0.2",
"es-define-property": "^1.0.1",
"es-errors": "^1.3.0",
"es-object-atoms": "^1.1.1",
"function-bind": "^1.1.2",
"get-proto": "^1.0.1",
"gopd": "^1.2.0",
"has-symbols": "^1.1.0",
"hasown": "^2.0.2",
"math-intrinsics": "^1.1.0"
},
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/get-proto": {
"version": "1.0.1",
"license": "MIT",
"dependencies": {
"dunder-proto": "^1.0.1",
"es-object-atoms": "^1.0.0"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/gopd": {
"version": "1.2.0",
"license": "MIT",
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/has-symbols": {
"version": "1.1.0",
"license": "MIT",
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/has-tostringtag": {
"version": "1.0.2",
"license": "MIT",
"dependencies": {
"has-symbols": "^1.0.3"
},
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/hasown": {
"version": "2.0.4",
"license": "MIT",
"dependencies": {
"function-bind": "^1.1.2"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/html-void-elements": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/html-void-elements/-/html-void-elements-2.0.1.tgz",
"integrity": "sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/https-proxy-agent": {
"version": "5.0.1",
"license": "MIT",
"dependencies": {
"agent-base": "6",
"debug": "4"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/i18next": {
"version": "20.6.1",
"resolved": "https://registry.npmmirror.com/i18next/-/i18next-20.6.1.tgz",
"integrity": "sha512-yCMYTMEJ9ihCwEQQ3phLo7I/Pwycf8uAx+sRHwwk5U9Aui/IZYgQRyMqXafQOw5QQ7DM1Z+WyEXWIqSuJHhG2A==",
"dependencies": {
"@babel/runtime": "^7.12.0"
}
},
"node_modules/immer": {
"version": "9.0.21",
"resolved": "https://registry.npmmirror.com/immer/-/immer-9.0.21.tgz",
"integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/immer"
}
},
"node_modules/is-hotkey": {
"version": "0.2.0",
"resolved": "https://registry.npmmirror.com/is-hotkey/-/is-hotkey-0.2.0.tgz",
"integrity": "sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw=="
},
"node_modules/is-plain-object": {
"version": "5.0.0",
"resolved": "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-5.0.0.tgz",
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/is-url": {
"version": "1.2.4",
"resolved": "https://registry.npmmirror.com/is-url/-/is-url-1.2.4.tgz",
"integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww=="
},
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"node_modules/lightningcss": {
"version": "1.33.0",
"resolved": "https://registry.npmmirror.com/lightningcss/-/lightningcss-1.33.0.tgz",
"integrity": "sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==",
"dev": true,
"dependencies": {
"detect-libc": "^2.0.3"
},
"engines": {
"node": ">= 12.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/parcel"
},
"optionalDependencies": {
"lightningcss-android-arm64": "1.33.0",
"lightningcss-darwin-arm64": "1.33.0",
"lightningcss-darwin-x64": "1.33.0",
"lightningcss-freebsd-x64": "1.33.0",
"lightningcss-linux-arm-gnueabihf": "1.33.0",
"lightningcss-linux-arm64-gnu": "1.33.0",
"lightningcss-linux-arm64-musl": "1.33.0",
"lightningcss-linux-x64-gnu": "1.33.0",
"lightningcss-linux-x64-musl": "1.33.0",
"lightningcss-win32-arm64-msvc": "1.33.0",
"lightningcss-win32-x64-msvc": "1.33.0"
}
},
"node_modules/lightningcss-android-arm64": {
"version": "1.33.0",
"resolved": "https://registry.npmmirror.com/lightningcss-android-arm64/-/lightningcss-android-arm64-1.33.0.tgz",
"integrity": "sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"android"
],
"engines": {
"node": ">= 12.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/parcel"
}
},
"node_modules/lightningcss-darwin-arm64": {
"version": "1.33.0",
"resolved": "https://registry.npmmirror.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.33.0.tgz",
"integrity": "sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": ">= 12.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/parcel"
}
},
"node_modules/lightningcss-darwin-x64": {
"version": "1.33.0",
"resolved": "https://registry.npmmirror.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.33.0.tgz",
"integrity": "sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": ">= 12.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/parcel"
}
},
"node_modules/lightningcss-freebsd-x64": {
"version": "1.33.0",
"resolved": "https://registry.npmmirror.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.33.0.tgz",
"integrity": "sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"freebsd"
],
"engines": {
"node": ">= 12.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/parcel"
}
},
"node_modules/lightningcss-linux-arm-gnueabihf": {
"version": "1.33.0",
"resolved": "https://registry.npmmirror.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.33.0.tgz",
"integrity": "sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ==",
"cpu": [
"arm"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">= 12.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/parcel"
}
},
"node_modules/lightningcss-linux-arm64-gnu": {
"version": "1.33.0",
"resolved": "https://registry.npmmirror.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.33.0.tgz",
"integrity": "sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">= 12.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/parcel"
}
},
"node_modules/lightningcss-linux-arm64-musl": {
"version": "1.33.0",
"resolved": "https://registry.npmmirror.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.33.0.tgz",
"integrity": "sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">= 12.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/parcel"
}
},
"node_modules/lightningcss-linux-x64-gnu": {
"version": "1.33.0",
"resolved": "https://registry.npmmirror.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.33.0.tgz",
"integrity": "sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">= 12.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/parcel"
}
},
"node_modules/lightningcss-linux-x64-musl": {
"version": "1.33.0",
"resolved": "https://registry.npmmirror.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.33.0.tgz",
"integrity": "sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">= 12.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/parcel"
}
},
"node_modules/lightningcss-win32-arm64-msvc": {
"version": "1.33.0",
"resolved": "https://registry.npmmirror.com/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.33.0.tgz",
"integrity": "sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"win32"
],
"engines": {
"node": ">= 12.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/parcel"
}
},
"node_modules/lightningcss-win32-x64-msvc": {
"version": "1.33.0",
"resolved": "https://registry.npmmirror.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.33.0.tgz",
"integrity": "sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"win32"
],
"engines": {
"node": ">= 12.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/parcel"
}
},
"node_modules/local-pkg": {
"version": "1.2.1",
"resolved": "https://registry.npmmirror.com/local-pkg/-/local-pkg-1.2.1.tgz",
"integrity": "sha512-++gUqRDEvcnN6Zhqrr+y/CkVEHhlrR96vZn3nZZPYzMcBUyBtTKzB9NadClFIsIVSsu+3i9tfk/erqy9kAmt7Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"mlly": "^1.7.4",
"pkg-types": "^2.3.0",
"quansync": "^0.2.11"
},
"engines": {
"node": ">=14"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
}
},
"node_modules/lodash": {
"version": "4.18.1",
"license": "MIT"
},
"node_modules/lodash-es": {
"version": "4.18.1",
"license": "MIT"
},
"node_modules/lodash-unified": {
"version": "1.0.3",
"license": "MIT",
"peerDependencies": {
"@types/lodash-es": "*",
"lodash": "*",
"lodash-es": "*"
}
},
"node_modules/lodash.camelcase": {
"version": "4.3.0",
"resolved": "https://registry.npmmirror.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
"integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA=="
},
"node_modules/lodash.clonedeep": {
"version": "4.5.0",
"resolved": "https://registry.npmmirror.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
"integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ=="
},
"node_modules/lodash.debounce": {
"version": "4.0.8",
"resolved": "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
"integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow=="
},
"node_modules/lodash.foreach": {
"version": "4.5.0",
"resolved": "https://registry.npmmirror.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz",
"integrity": "sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ=="
},
"node_modules/lodash.isequal": {
"version": "4.5.0",
"resolved": "https://registry.npmmirror.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
"integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==",
"deprecated": "This package is deprecated. Use require('node:util').isDeepStrictEqual instead."
},
"node_modules/lodash.throttle": {
"version": "4.1.1",
"resolved": "https://registry.npmmirror.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz",
"integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ=="
},
"node_modules/lodash.toarray": {
"version": "4.4.0",
"resolved": "https://registry.npmmirror.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz",
"integrity": "sha512-QyffEA3i5dma5q2490+SgCvDN0pXLmRGSyAANuVi0HQ01Pkfr9fuoKQW8wm1wGBnJITs/mS7wQvS6VshUEBFCw=="
},
"node_modules/magic-string": {
"version": "0.30.21",
"license": "MIT",
"dependencies": {
"@jridgewell/sourcemap-codec": "^1.5.5"
}
},
"node_modules/math-intrinsics": {
"version": "1.1.0",
"license": "MIT",
"engines": {
"node": ">= 0.4"
}
},
"node_modules/memoize-one": {
"version": "6.0.0",
"license": "MIT"
},
"node_modules/mime-db": {
"version": "1.52.0",
"license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/mime-match": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/mime-match/-/mime-match-1.0.2.tgz",
"integrity": "sha512-VXp/ugGDVh3eCLOBCiHZMYWQaTNUHv2IJrut+yXA6+JbLPXHglHwfS/5A5L0ll+jkCY7fIzRJcH6OIunF+c6Cg==",
"dependencies": {
"wildcard": "^1.1.0"
}
},
"node_modules/mime-types": {
"version": "2.1.35",
"license": "MIT",
"dependencies": {
"mime-db": "1.52.0"
},
"engines": {
"node": ">= 0.6"
}
},
"node_modules/mlly": {
"version": "1.8.2",
"resolved": "https://registry.npmmirror.com/mlly/-/mlly-1.8.2.tgz",
"integrity": "sha512-d+ObxMQFmbt10sretNDytwt85VrbkhhUA/JBGm1MPaWJ65Cl4wOgLaB1NYvJSZ0Ef03MMEU/0xpPMXUIQ29UfA==",
"dev": true,
"license": "MIT",
"dependencies": {
"acorn": "^8.16.0",
"pathe": "^2.0.3",
"pkg-types": "^1.3.1",
"ufo": "^1.6.3"
}
},
"node_modules/mlly/node_modules/confbox": {
"version": "0.1.8",
"resolved": "https://registry.npmmirror.com/confbox/-/confbox-0.1.8.tgz",
"integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==",
"dev": true,
"license": "MIT"
},
"node_modules/mlly/node_modules/pkg-types": {
"version": "1.3.1",
"resolved": "https://registry.npmmirror.com/pkg-types/-/pkg-types-1.3.1.tgz",
"integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"confbox": "^0.1.8",
"mlly": "^1.7.4",
"pathe": "^2.0.1"
}
},
"node_modules/ms": {
"version": "2.1.3",
"license": "MIT"
},
"node_modules/namespace-emitter": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/namespace-emitter/-/namespace-emitter-2.0.1.tgz",
"integrity": "sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g=="
},
"node_modules/nanoid": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"version": "3.3.20",
"resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.20.tgz",
"integrity": "sha512-uKdg2G3GNCKQn9byYOpxbGqrT2fGO5KRt5J/8b3pok8rT6qxGWF6hxMyJiEYtAf+FVyYuD9hRaDqX5uPFYJ4ZQ==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/ai"
}
],
"bin": {
"nanoid": "bin/nanoid.cjs"
},
"engines": {
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
}
},
"node_modules/next-tick": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/next-tick/-/next-tick-1.1.0.tgz",
"integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ=="
},
"node_modules/normalize-wheel-es": {
"version": "1.2.0",
"license": "BSD-3-Clause"
},
"node_modules/obug": {
"version": "2.2.1",
"resolved": "https://registry.npmmirror.com/obug/-/obug-2.2.1.tgz",
"integrity": "sha512-XrsrhT5sybtKI6wakr2SPOlGZWWYbUXZ7a0jT8/QOeAPau+1X/bSegNe5YR75oJmEZQbKningirmGOEJCIk61Q==",
"dev": true,
"funding": [
"https://github.com/sponsors/sxzz",
"https://opencollective.com/debug"
],
"license": "MIT",
"engines": {
"node": ">=12.20.0"
}
},
"node_modules/pathe": {
"version": "2.0.3",
"resolved": "https://registry.npmmirror.com/pathe/-/pathe-2.0.3.tgz",
"integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==",
"dev": true,
"license": "MIT"
},
"node_modules/picocolors": {
"version": "1.1.1",
"license": "ISC"
},
"node_modules/picomatch": {
"version": "4.0.7",
"resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.7.tgz",
"integrity": "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/jonschlinkert"
}
},
"node_modules/pinia": {
"version": "2.3.1",
"license": "MIT",
"dependencies": {
"@vue/devtools-api": "^6.6.3",
"vue-demi": "^0.14.10"
},
"funding": {
"url": "https://github.com/sponsors/posva"
},
"peerDependencies": {
"typescript": ">=4.4.4",
"vue": "^2.7.0 || ^3.5.11"
},
"peerDependenciesMeta": {
"typescript": {
"optional": true
}
}
},
"node_modules/pkg-types": {
"version": "2.3.3",
"resolved": "https://registry.npmmirror.com/pkg-types/-/pkg-types-2.3.3.tgz",
"integrity": "sha512-j/lCFdcppV0JxWpCEITdbDltBxPP6cHT+yNJ6Go2OgoSA9518X847X9z0p6LtA4Nc16+eQzCZjRrWanTGvHJ5w==",
"dev": true,
"license": "MIT",
"dependencies": {
"confbox": "^0.3.1",
"exsolve": "^1.1.1",
"pathe": "^2.0.3"
}
},
"node_modules/postcss": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"version": "8.5.31",
"resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.5.31.tgz",
"integrity": "sha512-YUbWYCgErwnMAVkjUnYa+KlMBzGpHwiIt/DE7f0G33AuX2LH9UcTk6KgWxd3zRU+pN3u/C+Xl3EnMLM4Hea7Sg==",
"funding": [
{
"type": "opencollective",
"url": "https://opencollective.com/postcss/"
},
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/postcss"
},
{
"type": "github",
"url": "https://github.com/sponsors/ai"
}
],
"dependencies": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"nanoid": "^3.3.20",
"picocolors": "^1.1.1",
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"source-map-js": "^1.2.2"
},
"engines": {
"node": "^10 || ^12 || >=14"
}
},
"node_modules/preact": {
"version": "10.29.7",
"resolved": "https://registry.npmmirror.com/preact/-/preact-10.29.7.tgz",
"integrity": "sha512-DCHYrK/B10yUD3ZjLfhZ3WIE/9Vf9VFUODcRE2dRomTYDpJk6z6L9wecSfhfE6M9ZTHUdyQkoC46arIDhEV84Q==",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/preact"
},
"peerDependencies": {
"preact-render-to-string": ">=5"
},
"peerDependenciesMeta": {
"preact-render-to-string": {
"optional": true
}
}
},
"node_modules/prismjs": {
"version": "1.30.0",
"resolved": "https://registry.npmmirror.com/prismjs/-/prismjs-1.30.0.tgz",
"integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==",
"engines": {
"node": ">=6"
}
},
"node_modules/proxy-from-env": {
"version": "2.1.0",
"license": "MIT",
"engines": {
"node": ">=10"
}
},
"node_modules/quansync": {
"version": "0.2.11",
"resolved": "https://registry.npmmirror.com/quansync/-/quansync-0.2.11.tgz",
"integrity": "sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==",
"dev": true,
"funding": [
{
"type": "individual",
"url": "https://github.com/sponsors/antfu"
},
{
"type": "individual",
"url": "https://github.com/sponsors/sxzz"
}
],
"license": "MIT"
},
"node_modules/readdirp": {
"version": "5.1.1",
"resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-5.1.1.tgz",
"integrity": "sha512-Kko+Y5XQ6fM+Ce3dq3m9YGxnacYZYl9cA1wZjaF3Vbry2L3i1qVg8+CAgNPsXRArPMUMCaOR7oa9Nqntc43JKA==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 20.19.0"
},
"funding": {
"type": "individual",
"url": "https://paulmillr.com/funding/"
}
},
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"node_modules/rolldown": {
"version": "1.2.14",
"resolved": "https://registry.npmmirror.com/rolldown/-/rolldown-1.2.14.tgz",
"integrity": "sha512-eTBTTqMR6uHKLgcUqpJP8ntzDI6V4LYA8negAMBEI7gkgVvOdrx6VsvS2Ym+83KhOPdLCHWJu0w7UQFJZhHKNw==",
"dev": true,
"dependencies": {
"@oxc-project/types": "=0.154.0",
"@rolldown/pluginutils": "^1.0.0"
},
"bin": {
"rolldown": "bin/cli.mjs"
},
"engines": {
"node": "^20.19.0 || >=22.12.0"
},
"optionalDependencies": {
"@rolldown/binding-android-arm-eabi": "1.2.14",
"@rolldown/binding-android-arm64": "1.2.14",
"@rolldown/binding-darwin-arm64": "1.2.14",
"@rolldown/binding-darwin-x64": "1.2.14",
"@rolldown/binding-freebsd-x64": "1.2.14",
"@rolldown/binding-linux-arm-gnueabihf": "1.2.14",
"@rolldown/binding-linux-arm64-gnu": "1.2.14",
"@rolldown/binding-linux-arm64-musl": "1.2.14",
"@rolldown/binding-linux-ppc64-gnu": "1.2.14",
"@rolldown/binding-linux-s390x-gnu": "1.2.14",
"@rolldown/binding-linux-x64-gnu": "1.2.14",
"@rolldown/binding-linux-x64-musl": "1.2.14",
"@rolldown/binding-openharmony-arm64": "1.2.14",
"@rolldown/binding-win32-arm64-msvc": "1.2.14",
"@rolldown/binding-win32-x64-msvc": "1.2.14"
}
},
"node_modules/rollup": {
"version": "4.62.0",
"dev": true,
"license": "MIT",
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"optional": true,
"peer": true,
"dependencies": {
"@types/estree": "1.0.9"
},
"bin": {
"rollup": "dist/bin/rollup"
},
"engines": {
"node": ">=18.0.0",
"npm": ">=8.0.0"
},
"optionalDependencies": {
"@rollup/rollup-android-arm-eabi": "4.62.0",
"@rollup/rollup-android-arm64": "4.62.0",
"@rollup/rollup-darwin-arm64": "4.62.0",
"@rollup/rollup-darwin-x64": "4.62.0",
"@rollup/rollup-freebsd-arm64": "4.62.0",
"@rollup/rollup-freebsd-x64": "4.62.0",
"@rollup/rollup-linux-arm-gnueabihf": "4.62.0",
"@rollup/rollup-linux-arm-musleabihf": "4.62.0",
"@rollup/rollup-linux-arm64-gnu": "4.62.0",
"@rollup/rollup-linux-arm64-musl": "4.62.0",
"@rollup/rollup-linux-loong64-gnu": "4.62.0",
"@rollup/rollup-linux-loong64-musl": "4.62.0",
"@rollup/rollup-linux-ppc64-gnu": "4.62.0",
"@rollup/rollup-linux-ppc64-musl": "4.62.0",
"@rollup/rollup-linux-riscv64-gnu": "4.62.0",
"@rollup/rollup-linux-riscv64-musl": "4.62.0",
"@rollup/rollup-linux-s390x-gnu": "4.62.0",
"@rollup/rollup-linux-x64-gnu": "4.62.0",
"@rollup/rollup-linux-x64-musl": "4.62.0",
"@rollup/rollup-openbsd-x64": "4.62.0",
"@rollup/rollup-openharmony-arm64": "4.62.0",
"@rollup/rollup-win32-arm64-msvc": "4.62.0",
"@rollup/rollup-win32-ia32-msvc": "4.62.0",
"@rollup/rollup-win32-x64-gnu": "4.62.0",
"@rollup/rollup-win32-x64-msvc": "4.62.0",
"fsevents": "~2.3.2"
}
},
"node_modules/scroll-into-view-if-needed": {
"version": "2.2.31",
"resolved": "https://registry.npmmirror.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz",
"integrity": "sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==",
"dependencies": {
"compute-scroll-into-view": "^1.0.20"
}
},
"node_modules/slate": {
"version": "0.72.8",
"resolved": "https://registry.npmmirror.com/slate/-/slate-0.72.8.tgz",
"integrity": "sha512-/nJwTswQgnRurpK+bGJFH1oM7naD5qDmHd89JyiKNT2oOKD8marW0QSBtuFnwEbL5aGCS8AmrhXQgNOsn4osAw==",
"dependencies": {
"immer": "^9.0.6",
"is-plain-object": "^5.0.0",
"tiny-warning": "^1.0.3"
}
},
"node_modules/slate-history": {
"version": "0.66.0",
"resolved": "https://registry.npmmirror.com/slate-history/-/slate-history-0.66.0.tgz",
"integrity": "sha512-6MWpxGQZiMvSINlCbMW43E2YBSVMCMCIwQfBzGssjWw4kb0qfvj0pIdblWNRQZD0hR6WHP+dHHgGSeVdMWzfng==",
"dependencies": {
"is-plain-object": "^5.0.0"
},
"peerDependencies": {
"slate": ">=0.65.3"
}
},
"node_modules/snabbdom": {
"version": "3.6.4",
"resolved": "https://registry.npmmirror.com/snabbdom/-/snabbdom-3.6.4.tgz",
"integrity": "sha512-VmxEfuw1/Y/eFj5VtMhYnukExpYiPkNzoo3+N3qwAOUDMl8wXgbli5ebR+j0knE3lZ/0eYskLxNcX64uy10N9w==",
"engines": {
"node": ">=12.17.0"
}
},
"node_modules/sortablejs": {
"version": "1.15.0",
"resolved": "https://registry.npmmirror.com/sortablejs/-/sortablejs-1.15.0.tgz",
"integrity": "sha512-bv9qgVMjUMf89wAvM6AxVvS/4MX3sPeN0+agqShejLU5z5GX4C75ow1O2e5k4L6XItUyAK3gH6AxSbXrOM5e8w==",
"license": "MIT"
},
"node_modules/source-map-js": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"version": "1.2.2",
"resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.2.tgz",
"integrity": "sha512-KGj/8Y43x35aZVDtt+J4mK1hoLGHULMYfSkODJNQjNDC3oW1PqPoxMwo0pLUsWM/UEGzON/NxeHywEfNXNP3Vw==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/spark-md5": {
"version": "3.0.2",
"license": "(WTFPL OR MIT)"
},
"node_modules/ssr-window": {
"version": "3.0.0",
"resolved": "https://registry.npmmirror.com/ssr-window/-/ssr-window-3.0.0.tgz",
"integrity": "sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA=="
},
"node_modules/tiny-warning": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/tiny-warning/-/tiny-warning-1.0.3.tgz",
"integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="
},
"node_modules/tinyglobby": {
"version": "0.2.17",
"resolved": "https://registry.npmmirror.com/tinyglobby/-/tinyglobby-0.2.17.tgz",
"integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==",
"dev": true,
"license": "MIT",
"dependencies": {
"fdir": "^6.5.0",
"picomatch": "^4.0.4"
},
"engines": {
"node": ">=12.0.0"
},
"funding": {
"url": "https://github.com/sponsors/SuperchupuDev"
}
},
"node_modules/type": {
"version": "2.7.3",
"resolved": "https://registry.npmmirror.com/type/-/type-2.7.3.tgz",
"integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ=="
},
"node_modules/typescript": {
"version": "6.0.3",
"license": "Apache-2.0",
"optional": true,
"peer": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
},
"engines": {
"node": ">=14.17"
}
},
"node_modules/ufo": {
"version": "1.6.4",
"resolved": "https://registry.npmmirror.com/ufo/-/ufo-1.6.4.tgz",
"integrity": "sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==",
"dev": true,
"license": "MIT"
},
"node_modules/unplugin": {
"version": "3.4.0",
"resolved": "https://registry.npmmirror.com/unplugin/-/unplugin-3.4.0.tgz",
"integrity": "sha512-9skdIFlCsPdFV7wUfZxNsFInlW+7nJmGu2gkTu0OUhF56aXGsHab9x52/QhdJ4lC7ZDPWTxbiC4ANqVlsuaW3w==",
"dev": true,
"license": "MIT",
"dependencies": {
"@jridgewell/remapping": "^2.3.5",
"picomatch": "^4.0.7",
"webpack-virtual-modules": "^0.6.2"
},
"engines": {
"node": "^20.19.0 || >=22.12.0"
},
"peerDependencies": {
"@farmfe/core": "*",
"@rsbuild/core": "*",
"@rspack/core": "*",
"bun-types-no-globals": "*",
"esbuild": "*",
"rolldown": "*",
"rollup": "*",
"unloader": "*",
"vite": "*",
"webpack": "*"
},
"peerDependenciesMeta": {
"@farmfe/core": {
"optional": true
},
"@rsbuild/core": {
"optional": true
},
"@rspack/core": {
"optional": true
},
"bun-types-no-globals": {
"optional": true
},
"esbuild": {
"optional": true
},
"rolldown": {
"optional": true
},
"rollup": {
"optional": true
},
"unloader": {
"optional": true
},
"vite": {
"optional": true
},
"webpack": {
"optional": true
}
}
},
"node_modules/unplugin-utils": {
"version": "0.3.2",
"resolved": "https://registry.npmmirror.com/unplugin-utils/-/unplugin-utils-0.3.2.tgz",
"integrity": "sha512-xVToRh2CTmLk2HnEG7ac4rl1MJTT3RFkpS8B++/SnB0kXvuaavD+n3m/vrzyWQOdJNSZQACnbz01pnppbwV5BA==",
"dev": true,
"license": "MIT",
"dependencies": {
"pathe": "^2.0.3",
"picomatch": "^4.0.4"
},
"engines": {
"node": ">=20.19.0"
},
"funding": {
"url": "https://github.com/sponsors/sxzz"
}
},
"node_modules/unplugin-vue-components": {
"version": "32.1.0",
"resolved": "https://registry.npmmirror.com/unplugin-vue-components/-/unplugin-vue-components-32.1.0.tgz",
"integrity": "sha512-YiUkSxuRjab18XFOrX5VsIxXzccrfmHVGsGeJgSgklb829DQmCy9E4vvDUE4tuvZZdxyFJZX0Oc4TPnnxiiMyg==",
"dev": true,
"license": "MIT",
"dependencies": {
"chokidar": "^5.0.0",
"local-pkg": "^1.2.0",
"magic-string": "^0.30.21",
"mlly": "^1.8.2",
"obug": "^2.1.1",
"picomatch": "^4.0.4",
"tinyglobby": "^0.2.16",
"unplugin": "^3.0.0",
"unplugin-utils": "^0.3.1"
},
"engines": {
"node": ">=20.19.0"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
},
"peerDependencies": {
"@nuxt/kit": "^3.2.2 || ^4.0.0",
"vue": "^3.0.0"
},
"peerDependenciesMeta": {
"@nuxt/kit": {
"optional": true
}
}
},
"node_modules/vite": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"version": "8.3.4",
"resolved": "https://registry.npmmirror.com/vite/-/vite-8.3.4.tgz",
"integrity": "sha512-IftLE8phJhdNRIGNEV4JCCvfNScoZQVfcXaN8TQropWGJtOHcu+iAB9pHcuGvmEb/kddw0LBe/jS8ztdC6xdiQ==",
"dev": true,
"dependencies": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"lightningcss": "^1.33.0",
"picomatch": "^4.0.7",
"postcss": "^8.5.29",
"rolldown": "~1.2.12",
"tinyglobby": "^0.2.17"
},
"bin": {
"vite": "bin/vite.js"
},
"engines": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"node": "^20.19.0 || >=22.12.0"
},
"funding": {
"url": "https://github.com/vitejs/vite?sponsor=1"
},
"optionalDependencies": {
"fsevents": "~2.3.3"
},
"peerDependencies": {
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"@types/node": "^20.19.0 || >=22.12.0",
"@vitejs/devtools": "^0.7.1",
"esbuild": "^0.27.0 || ^0.28.0",
"jiti": ">=1.21.0",
"less": "^4.0.0",
"sass": "^1.70.0",
"sass-embedded": "^1.70.0",
"stylus": ">=0.54.8",
"sugarss": "^5.0.0",
"terser": "^5.16.0",
"tsx": "^4.8.1",
"yaml": "^2.4.2"
},
"peerDependenciesMeta": {
"@types/node": {
"optional": true
},
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"@vitejs/devtools": {
"optional": true
},
"esbuild": {
"optional": true
},
"jiti": {
"optional": true
},
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
"less": {
"optional": true
},
"sass": {
"optional": true
},
"sass-embedded": {
"optional": true
},
"stylus": {
"optional": true
},
"sugarss": {
"optional": true
},
"terser": {
"optional": true
build(deps): vite 5.4.21 → 8.3.4(含 plugin-vue 6)+ 修 CSS 拆块导致的主题/悬停回归 安全:消掉 2 条 high。vite 跨 3 个 major(5→8,rollup→rolldown); @vitejs/plugin-vue 5.2.4 → 6.0.10(peer 覆盖 vite ^5||^6||^7||^8); 锁文件同步刷新使 nanoid / postcss / source-map-js 三条一并消解。 🔴 升级引入的 CSS 顺序回归(本轮实测发现并修复,不是理论风险): rolldown 把 Element Plus 基础样式拆成独立 css-*.css 块,且 index.html 中 排在入口 CSS **之后**;旧 rollup 把 EP 与 global.css 合并在同一入口 CSS, EP 在前、项目在后。两者覆盖语句特异性相同 ⇒ 谁在后谁赢 ⇒ 新顺序下反被 EP 压过。 取证:生产旧包 index-CVAb-2kd.css 内 EP 规则 @27768 < 项目覆盖 @57506(旧=正确); 新包 index-rMbH9bHe.css(先)vs css-CNpL_Sag.css(后)。 · --el-color-primary 退回 #409eff ⇒ 登录按钮由深藏青变 Element 亮蓝; · 文字型按钮 hover 底退回不透明 #f5f7fa ⇒ 此前修好的「白底白字」缺陷复现。 修法=让覆盖与加载顺序无关(⛔ 不是调顺序,顺序由打包器决定不可靠): · :root → html:root (0,0,1,1 > 0,0,1,0) · .el-button.is-text:not(.is-disabled):hover/:focus 加 :root 前缀(4 → 5 个类级) 验证(四级对照,全部可复现): 1. 顺序单变量实验(两组页面除 <link> 顺序外完全相同): 修复前 A=SAME? → primary #1a3a5c vs #409eff、hover rgba(...) vs #f5f7fa(DIFF); 修复后两种顺序计算样式完全相同(PASS)。 2. 与生产旧包(旧 vite5 构建)逐项比对 computed style:primary / light-3 / 主按钮底色 / hover 底色 全部 SAME。 3. 登录页截图 sha256 与生产旧包**逐字节相同**(f5052aa7260b7b47)—— 修复前为 9f074bb1c44329b3。 4. 真 chromium 加载构建产物(vite preview):/login、/admin 首屏、 成绩管理、选手管理全部 0 console error / 0 pageerror; TDZ 静态门禁 38 文件 PASS。 产物:入口 index-DTFvE02d.js · 157 资源 · 73 个 .gz(两次构建 hash 一致=可复现)。 全量电池 57 步:退出码 0 · FAIL 0 · SKIP 0 · 未运行 0(1 项 N/A 为数据前提不成立)。
2026-10-21 12:05:29 +08:00
},
"tsx": {
"optional": true
},
"yaml": {
"optional": true
}
}
},
"node_modules/vue": {
"version": "3.5.38",
"license": "MIT",
"dependencies": {
"@vue/compiler-dom": "3.5.38",
"@vue/compiler-sfc": "3.5.38",
"@vue/runtime-dom": "3.5.38",
"@vue/server-renderer": "3.5.38",
"@vue/shared": "3.5.38"
},
"peerDependencies": {
"typescript": "*"
},
"peerDependenciesMeta": {
"typescript": {
"optional": true
}
}
},
"node_modules/vue-component-type-helpers": {
"version": "3.3.5",
"license": "MIT"
},
"node_modules/vue-demi": {
"version": "0.14.10",
"hasInstallScript": true,
"license": "MIT",
"bin": {
"vue-demi-fix": "bin/vue-demi-fix.js",
"vue-demi-switch": "bin/vue-demi-switch.js"
},
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
},
"peerDependencies": {
"@vue/composition-api": "^1.0.0-rc.1",
"vue": "^3.0.0-0 || ^2.6.0"
},
"peerDependenciesMeta": {
"@vue/composition-api": {
"optional": true
}
}
},
"node_modules/vue-router": {
"version": "4.6.4",
"license": "MIT",
"dependencies": {
"@vue/devtools-api": "^6.6.4"
},
"funding": {
"url": "https://github.com/sponsors/posva"
},
"peerDependencies": {
"vue": "^3.5.0"
}
},
"node_modules/webpack-virtual-modules": {
"version": "0.6.2",
"resolved": "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz",
"integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==",
"dev": true,
"license": "MIT"
},
"node_modules/wildcard": {
"version": "1.1.2",
"resolved": "https://registry.npmmirror.com/wildcard/-/wildcard-1.1.2.tgz",
"integrity": "sha512-DXukZJxpHA8LuotRwL0pP1+rS6CS7FF2qStDDE1C7DDg2rLud2PXRMuEDYIPhgEezwnlHNL4c+N6MfMTjCGTng=="
}
}
}