Files
Auto_Bangumi/webui/package.json
EstrellaXD a137b54b85 test: add comprehensive API tests for backend and frontend
Backend:
- Add API test files for auth, program, downloader, config, log, bangumi extended, search, and passkey endpoints
- Update conftest.py with new fixtures (app, authed_client, unauthed_client, mock_program, mock_webauthn, mock_download_client)
- Update factories.py with make_config and make_passkey functions

Frontend:
- Setup vitest testing infrastructure with happy-dom environment
- Add test setup file with mocks for axios, router, i18n, localStorage
- Add mock API data for testing
- Add tests for API logic, store logic, hooks, and basic components
- Add @vue/test-utils and happy-dom dev dependencies

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 16:20:39 +01:00

73 lines
2.3 KiB
JSON

{
"name": "ab-webui",
"type": "module",
"version": "0.0.0",
"private": true,
"packageManager": "pnpm@9.11.0+sha512.0a203ffaed5a3f63242cd064c8fb5892366c103e328079318f78062f24ea8c9d50bc6a47aa3567cabefd824d170e78fa2745ed1f16b132e16436146b7688f19b",
"scripts": {
"prepare": "cd .. && husky install ./webui/.husky",
"test:build": "vue-tsc --noEmit",
"build": "vite build",
"dev": "vite",
"format": "prettier --write .",
"format:check": "prettier --check .",
"lint": "eslint .",
"lint:fix": "eslint . --fix",
"preview": "vite preview",
"test": "vitest",
"storybook": "storybook dev -p 6006",
"build-storybook": "storybook build",
"generate-pwa-assets": "pwa-assets-generator --preset minimal public/images/logo.svg"
},
"dependencies": {
"@headlessui/vue": "^1.7.23",
"@vueuse/components": "^10.11.1",
"@vueuse/core": "^10.11.1",
"axios": "^0.27.2",
"naive-ui": "^2.39.0",
"pinia": "^2.2.2",
"vue": "^3.5.8",
"vue-i18n": "^9.14.0",
"vue-inline-svg": "^3.1.4",
"vue-router": "^4.4.5"
},
"devDependencies": {
"@antfu/eslint-config": "^0.38.6",
"@vue/test-utils": "^2.4.6",
"@icon-park/vue-next": "^1.4.2",
"@intlify/unplugin-vue-i18n": "^0.11.0",
"@storybook/addon-essentials": "^7.6.20",
"@storybook/addon-interactions": "^7.6.20",
"@storybook/addon-links": "^7.6.20",
"@storybook/blocks": "^7.6.20",
"@storybook/testing-library": "0.0.14-next.2",
"@storybook/vue3": "^7.6.20",
"@storybook/vue3-vite": "^7.6.20",
"@types/node": "^18.19.50",
"@unocss/preset-attributify": "^0.55.7",
"@unocss/preset-rem-to-px": "^0.51.13",
"@unocss/reset": "^0.51.13",
"@vitejs/plugin-vue": "^4.6.2",
"@vitejs/plugin-vue-jsx": "^3.1.0",
"@vue/runtime-dom": "^3.5.8",
"eslint": "^8.57.1",
"eslint-config-prettier": "^8.10.0",
"eslint-plugin-storybook": "^0.6.15",
"husky": "^8.0.3",
"prettier": "^2.8.8",
"radash": "^12.1.0",
"sass-embedded": "^1.79.3",
"storybook": "^7.6.20",
"typescript": "^4.9.5",
"unocss": "^0.51.13",
"unplugin-auto-import": "^0.10.3",
"unplugin-vue-components": "^0.24.1",
"unplugin-vue-router": "^0.6.4",
"vite": "^4.5.5",
"vite-plugin-pwa": "^0.16.7",
"vitest": "^0.30.1",
"happy-dom": "^12.10.3",
"vue-tsc": "^1.8.27"
}
}