- md 页签从裸 textarea 升级 CodeMirror 6:markdown 语法高亮、行内历史,粘贴/拖图直传; markdown 仍是唯一真相源,转存/切换用 syncCM 全量灌回,工具栏选区辅助改为面向 CM - POST /api/admin/files/import:外链抓取复用 linkmeta SSRF 防护拨号与跳转限制, 二进制传输放宽 30s;类型按内容嗅探反查白名单,与手动上传共用去重/落盘(persistFile 抽取共享) - 上传走 XHR 进度回调 + 编辑器 toast 栈:类型/大小前置校验(与后端白名单一致)、逐文件进度 - persistFile 去重路径补 URL 解析——此前命中去重返回的行没有 URL,转存替换会把正文图链清空(已修复受损数据) - hub nil 安全(测试环境未装配时不 panic)
36 lines
796 B
JSON
36 lines
796 B
JSON
{
|
|
"name": "one-frontend",
|
|
"private": true,
|
|
"version": "0.1.0",
|
|
"type": "module",
|
|
"packageManager": "pnpm@10.34.4",
|
|
"scripts": {
|
|
"dev": "vite --host",
|
|
"build": "vite build",
|
|
"preview": "vite preview"
|
|
},
|
|
"dependencies": {
|
|
"@codemirror/commands": "^6.11.1",
|
|
"@codemirror/lang-markdown": "^6.5.2",
|
|
"@codemirror/language": "^6.12.4",
|
|
"@codemirror/state": "^6.7.6",
|
|
"@codemirror/view": "^6.43.13",
|
|
"@milkdown/crepe": "^7.22.1",
|
|
"dompurify": "^3.1.6",
|
|
"vue": "^3.4.0",
|
|
"vue-router": "^4.4.0"
|
|
},
|
|
"devDependencies": {
|
|
"@vitejs/plugin-vue": "^5.1.0",
|
|
"autoprefixer": "^10.4.20",
|
|
"postcss": "^8.4.40",
|
|
"typescript": "^5.5.0",
|
|
"vite": "^5.4.0"
|
|
},
|
|
"pnpm": {
|
|
"onlyBuiltDependencies": [
|
|
"esbuild"
|
|
]
|
|
}
|
|
}
|