记录打包遍历与预检口径不一致的取舍
resources/agc-skills/vite-export-xhs-minitool/scripts/pack.mjs:collectZipEntries 补注释,说明它用 statSync 且不跳 SKIP_DIRS、与预检 walkArtifactFiles 的 lstatSync/跳过目录不一致,属于已评审并决定暂不统一的取舍。 resources/agc-skills/manifest.json:同步 xhs 技能指纹并递增版本。
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"schemaVersion": "agc-skill-pack.v1",
|
||||
"version": "2026-08-26.67",
|
||||
"version": "2026-08-26.68",
|
||||
"skills": [
|
||||
{
|
||||
"name": "agc-unity-editor",
|
||||
@@ -204,7 +204,7 @@
|
||||
"scripts/validate.mjs",
|
||||
"scripts/vite.config.xhs-minitool.mjs"
|
||||
],
|
||||
"sha256": "ad9b5a6dc1b71e0413a1a71780c60d17076d13fbf67517a939c57565e6d0a477"
|
||||
"sha256": "016423b1f673b402d8775bad34b78e0e3166cd8021e623bc9ff103fd5d6c4dbd"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+9
-1
@@ -130,7 +130,15 @@ function crc32(buffer) {
|
||||
return (c ^ 0xffffffff) >>> 0;
|
||||
}
|
||||
|
||||
/** 收集目录下所有条目(目录条目在前,文件名统一 / 分隔,保持排序以稳定产物)。 */
|
||||
/**
|
||||
* 收集目录下所有条目(目录条目在前,文件名统一 / 分隔,保持排序以稳定产物)。
|
||||
*
|
||||
* 已知取舍(评审提出、当前决定不改):本函数用 `statSync`(跟随符号链接)且**不**跳 `SKIP_DIRS`,
|
||||
* 而校验脚本预检用的 `walkArtifactFiles` 是 `lstatSync`(跳过链接)且会跳 `SKIP_DIRS`。两者口径
|
||||
* 不一致:链接目标的内容会被按链接名打进包,`venv` / `.cache` 这类目录也可能绕过扩展名白名单。
|
||||
* 不统一是因为「链接算不算合法产物」还没有定论,改任一侧都会动到现有可能依赖链接的包。真要统一
|
||||
* 时必须两份实现一起改,并补一条「预检与打包看到同一批文件」的用例。
|
||||
*/
|
||||
function collectZipEntries(rootDir) {
|
||||
const entries = [];
|
||||
const visit = (dir) => {
|
||||
|
||||
Reference in New Issue
Block a user