Files
Auto_Bangumi/webui/package.json
Estrella Pan 6e8f2f0f35 refactor(webui): 图标换成 @lucide/vue,headlessui 换成 naive-ui,并改用 Vue 3.5 写法
- 30 个文件的 @icon-park/vue-next 图标换成 @lucide/vue;侧栏与移动导航的 RSS 图标
  改用 Lucide Rss,删除 vue-inline-svg 与 public/images/RSS.svg
- ab-modal 用 NModal、ab-bottom-sheet 用 NDrawer、ab-menu 与 ab-status-bar 系统菜单
  用 NDropdown、通知中心用 NPopover、ab-fold-panel 用 NCollapse;公开 props/emits/slots
  不变,dialog 语义、aria-expanded、menuitem 角色与 Esc 关闭由组件补齐;删除 @headlessui/vue
- naive-ui 主题覆盖移到 src/style/naive-theme.ts(abNaiveTheme),新增 Dropdown/Collapse/
  Popover 的 ab-* token;遮罩颜色统一为 --color-overlay
- withDefaults 改为响应式 props 解构;模板引用改用 useTemplateRef;ab-bottom-sheet、
  llm-auth-dialog、ab-list 的 v-model 改用 defineModel;visualViewport 监听用
  onWatcherCleanup 撤销;复制提示改用 useClipboard({ copiedDuring })
2026-10-20 11:45:48 +02:00

64 lines
1.9 KiB
JSON

{
"name": "ab-webui",
"type": "module",
"version": "0.0.0",
"private": true,
"packageManager": "pnpm@12.14.0",
"scripts": {
"prepare": "cd .. && husky webui/.husky",
"test:build": "vue-tsc --noEmit",
"build": "vite build",
"dev": "vite",
"lint": "eslint .",
"lint:fix": "eslint . --fix",
"preview": "vite preview",
"test": "vitest",
"test:e2e": "playwright test",
"test:e2e:chromium": "playwright test --project=chromium-desktop",
"test:e2e:webkit": "playwright test --project=webkit-mobile",
"test:e2e:typecheck": "tsc --noEmit -p tsconfig.e2e.json",
"storybook": "storybook dev -p 6006",
"build-storybook": "storybook build"
},
"dependencies": {
"@lucide/vue": "^1.59.0",
"@vue/devtools-api": "^8.2.1",
"@vueuse/core": "^15.0.0",
"axios": "^1.20.0",
"naive-ui": "^2.45.3",
"pinia": "^4.1.0",
"vue": "^3.5.44",
"vue-i18n": "^11.4.16",
"vue-router": "^5.4.0",
"vuedraggable": "^4.1.0"
},
"devDependencies": {
"@antfu/eslint-config": "^9.5.0",
"@autobangumi/plugin-ui": "workspace:*",
"@iconify-json/simple-icons": "1.2.89",
"@intlify/unplugin-vue-i18n": "^11.2.7",
"@playwright/test": "1.64.1",
"@storybook/addon-docs": "^10.6.2",
"@storybook/addon-links": "^10.6.2",
"@storybook/vue3-vite": "^10.6.2",
"@types/node": "^24",
"@unocss/preset-rem-to-px": "^66.11.0",
"@unocss/reset": "^66.11.0",
"@vitejs/plugin-vue": "^6.0.10",
"@vue/test-utils": "^2.5.1",
"eslint": "^10.0.0",
"eslint-plugin-storybook": "^10.6.2",
"happy-dom": "^21.0.3",
"husky": "^9.1.7",
"sass-embedded": "^1.105.2",
"storybook": "^10.6.2",
"typescript": "~6.0.3",
"unocss": "^66.11.0",
"unplugin-auto-import": "^21.1.0",
"unplugin-vue-components": "^32.1.0",
"vite": "^8.3.4",
"vitest": "^5.0.5",
"vue-tsc": "^3.3.13"
}
}