- 新增 .gitignore、ARCHITECTURE.md 项目基础设施文件 - 新增前后端路由对接文档,完整映射前端页面到后端 API 端点 - 配置前端 Vitest 测试框架,添加 API/Store/Utils/Components 单元测试 - 添加后端 UserService 单元测试 - 新增统一测试运行脚本 scripts/run-tests.sh - 清理旧文档和过期覆盖率报告文件 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
170 lines
5.0 KiB
JSON
Executable File
170 lines
5.0 KiB
JSON
Executable File
{
|
|
"name": "pure-admin-thin",
|
|
"version": "6.0.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "NODE_OPTIONS=--max-old-space-size=4096 vite",
|
|
"serve": "pnpm dev",
|
|
"build": "rimraf dist && NODE_OPTIONS=--max-old-space-size=8192 vite build",
|
|
"build:staging": "rimraf dist && vite build --mode staging",
|
|
"report": "rimraf dist && vite build",
|
|
"preview": "vite preview",
|
|
"preview:build": "pnpm build && vite preview",
|
|
"typecheck": "tsc --noEmit && vue-tsc --noEmit --skipLibCheck",
|
|
"svgo": "svgo -f . -r",
|
|
"clean:cache": "rimraf .eslintcache && rimraf pnpm-lock.yaml && rimraf node_modules && pnpm store prune && pnpm install",
|
|
"lint:eslint": "eslint --cache --max-warnings 0 \"{src,mock,build}/**/*.{vue,js,ts,tsx}\" --fix",
|
|
"lint:prettier": "prettier --write \"src/**/*.{js,ts,json,tsx,css,scss,vue,html,md}\"",
|
|
"lint:stylelint": "stylelint --cache --fix \"**/*.{html,vue,css,scss}\" --cache-location node_modules/.cache/stylelint/",
|
|
"lint": "pnpm lint:eslint && pnpm lint:prettier && pnpm lint:stylelint",
|
|
"prepare": "husky",
|
|
"preinstall": "npx only-allow pnpm",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"test:coverage": "vitest run --coverage",
|
|
"test:ui": "vitest --ui"
|
|
},
|
|
"keywords": [
|
|
"pure-admin-thin",
|
|
"vue-pure-admin",
|
|
"element-plus",
|
|
"tailwindcss",
|
|
"pure-admin",
|
|
"typescript",
|
|
"pinia",
|
|
"vue3",
|
|
"vite",
|
|
"esm"
|
|
],
|
|
"homepage": "https://github.com/pure-admin/pure-admin-thin",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/pure-admin/pure-admin-thin.git"
|
|
},
|
|
"bugs": {
|
|
"url": "https://github.com/pure-admin/vue-pure-admin/issues"
|
|
},
|
|
"license": "MIT",
|
|
"author": {
|
|
"name": "xiaoxian521",
|
|
"email": "pureadmin@163.com",
|
|
"url": "https://github.com/xiaoxian521"
|
|
},
|
|
"dependencies": {
|
|
"@pureadmin/descriptions": "^1.2.1",
|
|
"@pureadmin/table": "^3.2.1",
|
|
"@pureadmin/utils": "^2.6.0",
|
|
"@vueuse/core": "^13.1.0",
|
|
"@vueuse/motion": "^3.0.3",
|
|
"animate.css": "^4.1.1",
|
|
"axios": "^1.9.0",
|
|
"dayjs": "^1.11.13",
|
|
"echarts": "^5.6.0",
|
|
"element-plus": "^2.9.8",
|
|
"js-cookie": "^3.0.5",
|
|
"localforage": "^1.10.0",
|
|
"mitt": "^3.0.1",
|
|
"nprogress": "^0.2.0",
|
|
"path-browserify": "^1.0.1",
|
|
"pinia": "^3.0.2",
|
|
"pinyin-pro": "^3.26.0",
|
|
"qs": "^6.14.0",
|
|
"responsive-storage": "^2.2.0",
|
|
"sortablejs": "^1.15.6",
|
|
"vue": "^3.5.13",
|
|
"vue-router": "^4.5.0",
|
|
"vue-tippy": "^6.7.0",
|
|
"vue-types": "^6.0.0"
|
|
},
|
|
"devDependencies": {
|
|
"@commitlint/cli": "^19.8.0",
|
|
"@commitlint/config-conventional": "^19.8.0",
|
|
"@commitlint/types": "^19.8.0",
|
|
"@eslint/js": "^9.25.1",
|
|
"@faker-js/faker": "^9.7.0",
|
|
"@iconify/json": "^2.2.331",
|
|
"@iconify/vue": "4.2.0",
|
|
"@tailwindcss/vite": "^4.1.4",
|
|
"@types/js-cookie": "^3.0.6",
|
|
"@types/node": "^20.17.30",
|
|
"@types/nprogress": "^0.2.3",
|
|
"@types/path-browserify": "^1.0.3",
|
|
"@types/qs": "^6.9.18",
|
|
"@types/sortablejs": "^1.15.8",
|
|
"@vitejs/plugin-vue": "^5.2.3",
|
|
"@vitejs/plugin-vue-jsx": "^4.1.2",
|
|
"@vitest/coverage-v8": "^4.1.5",
|
|
"@vitest/ui": "^4.1.5",
|
|
"@vue/test-utils": "^2.4.10",
|
|
"boxen": "^8.0.1",
|
|
"code-inspector-plugin": "^0.20.10",
|
|
"cssnano": "^7.0.6",
|
|
"eslint": "^9.25.1",
|
|
"eslint-config-prettier": "^10.1.2",
|
|
"eslint-plugin-prettier": "^5.2.6",
|
|
"eslint-plugin-vue": "^10.0.0",
|
|
"gradient-string": "^3.0.0",
|
|
"husky": "^9.1.7",
|
|
"jsdom": "^29.0.2",
|
|
"lint-staged": "^15.5.1",
|
|
"postcss": "^8.5.3",
|
|
"postcss-html": "^1.8.0",
|
|
"postcss-load-config": "^6.0.1",
|
|
"postcss-scss": "^4.0.9",
|
|
"prettier": "^3.5.3",
|
|
"rimraf": "^6.0.1",
|
|
"rollup-plugin-visualizer": "^5.14.0",
|
|
"sass": "^1.87.0",
|
|
"stylelint": "^16.19.0",
|
|
"stylelint-config-recess-order": "^6.0.0",
|
|
"stylelint-config-recommended-vue": "^1.6.0",
|
|
"stylelint-config-standard-scss": "^14.0.0",
|
|
"stylelint-prettier": "^5.0.3",
|
|
"stylelint-scss": "^7.0.0",
|
|
"svgo": "^3.3.2",
|
|
"tailwindcss": "^4.1.4",
|
|
"typescript": "^5.8.3",
|
|
"typescript-eslint": "^8.31.0",
|
|
"unplugin-icons": "^22.1.0",
|
|
"vite": "^6.3.3",
|
|
"vite-plugin-cdn-import": "^1.0.1",
|
|
"vite-plugin-compression": "^0.5.1",
|
|
"vite-plugin-fake-server": "^2.2.0",
|
|
"vite-plugin-remove-console": "^2.2.0",
|
|
"vite-plugin-router-warn": "^1.0.0",
|
|
"vite-svg-loader": "^5.1.0",
|
|
"vitest": "^4.1.5",
|
|
"vue-eslint-parser": "^10.1.3",
|
|
"vue-tsc": "^2.2.10"
|
|
},
|
|
"engines": {
|
|
"node": "^18.18.0 || ^20.9.0 || >=22.0.0",
|
|
"pnpm": ">=9"
|
|
},
|
|
"pnpm": {
|
|
"allowedDeprecatedVersions": {
|
|
"are-we-there-yet": "*",
|
|
"sourcemap-codec": "*",
|
|
"lodash.isequal": "*",
|
|
"domexception": "*",
|
|
"w3c-hr-time": "*",
|
|
"inflight": "*",
|
|
"npmlog": "*",
|
|
"rimraf": "*",
|
|
"stable": "*",
|
|
"gauge": "*",
|
|
"abab": "*",
|
|
"glob": "*"
|
|
},
|
|
"onlyBuiltDependencies": [
|
|
"@parcel/watcher",
|
|
"core-js",
|
|
"es5-ext",
|
|
"esbuild",
|
|
"typeit",
|
|
"vue-demi"
|
|
]
|
|
}
|
|
}
|