Files
cms-website/packages/adapter-wordpress/package.json
T
浅念 7506fef875 fix(adapter-wp): srcset 审计精确化(parse-srcset);false 形态防御;复用 launder.naughtyHref;等价测试参数化
审查修复四项: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>
2026-10-21 11:18:39 +08:00

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"
}
}