7506fef875
审查修复四项:srcset 逐候选审计改用 parse-srcset 同库实现(data: 逗号内嵌 URL 不再误切;全候选被拒/解析异常/零候选→整属性删除记账,含空 srcset); deriveMirrorView 对 false/缺省形态 fail fast(allowedTags/allowedAttributes 的 false=库全放行语义与镜像空集解释相反,修正原注释);URL 判定复用 launder.naughtyHref(sanitize-html 2.18 同一实现路径,删手写镜像); 仪表化等价测试参数化为 15 个对抗样本(实体/控制字符/NULL/URL 注释走私、 未引号/重复属性、深嵌套、srcset 形态)。测试 204→228。 Co-Authored-By: Claude Code <noreply@anthropic.com>
31 lines
800 B
JSON
31 lines
800 B
JSON
{
|
|
"name": "@sf/adapter-wp",
|
|
"version": "0.1.0",
|
|
"description": "SiteForge WordPress WXR 适配器:流式解析 + UniversalRow 映射(纯函数包)",
|
|
"type": "module",
|
|
"main": "./dist/src/index.js",
|
|
"types": "./dist/src/index.d.ts",
|
|
"exports": {
|
|
".": {
|
|
"types": "./dist/src/index.d.ts",
|
|
"default": "./dist/src/index.js"
|
|
}
|
|
},
|
|
"scripts": {
|
|
"prebuild": "pnpm --filter @sf/contracts build",
|
|
"build": "tsc -p tsconfig.build.json",
|
|
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
},
|
|
"dependencies": {
|
|
"@sf/contracts": "workspace:*",
|
|
"launder": "^1.7.2",
|
|
"parse-srcset": "^1.0.2",
|
|
"sanitize-html": "^2",
|
|
"saxes": "^6.0.0"
|
|
},
|
|
"devDependencies": {
|
|
"@types/parse-srcset": "^1.0.0",
|
|
"@types/sanitize-html": "^2.16.2"
|
|
}
|
|
}
|