Files
FastapiAdmin/frontend/web/package.json
T
zhangtao bf81480ada feat: 迁移前端资源文件并重构项目结构
refactor: 优化前端代码结构和资源管理

style: 调整前端代码格式和样式

chore: 更新.gitignore和构建配置

fix: 修复前端资源路径和引用问题

docs: 更新前端文档和注释

perf: 优化前端性能和加载速度

test: 更新前端测试用例

build: 调整前端构建配置

ci: 更新CI/CD配置
2026-05-09 00:46:43 +08:00

194 lines
6.1 KiB
JSON
Executable File

{
"name": "fastapiadmin",
"description": "Vue3 + Vite + TypeScript + Element-Plus 的后台管理模板",
"version": "2.2.0",
"private": true,
"type": "module",
"scripts": {
"i": "pnpm install",
"dev": "vite",
"dev:force": "vite --force",
"prod": "vite --mode prod",
"build": "vue-tsc --noEmit && vite build",
"build:pro": "pnpm vite build --mode pro",
"build:gitee": "pnpm vite build --mode gitee",
"build:dev": "pnpm vite build --mode dev",
"build:test": "pnpm vite build --mode test",
"serve:pro": "pnpm vite preview --mode pro",
"serve:dev": "pnpm vite preview --mode dev",
"serve:test": "pnpm vite preview --mode test",
"clean": "pnpx rimraf node_modules",
"ts:check": "pnpm vue-tsc --noEmit --skipLibCheck",
"npm:check": "pnpx npm-check-updates -u",
"clean:cache": "pnpx rimraf node_modules/.cache node_modules/.vite",
"prepare": "husky install",
"icon": "esno ./scripts/icon.ts",
"preview": "vite preview",
"type-check": "vue-tsc --noEmit",
"lint": "pnpm run lint:eslint && pnpm run lint:prettier && pnpm run lint:stylelint",
"lint:format": "prettier --write --loglevel warn \"src/**/*.{js,ts,json,tsx,css,less,vue,html,md}\"",
"lint:style": "stylelint --fix \"**/*.{vue,less,postcss,css,scss}\" --cache --cache-location node_modules/.cache/stylelint/",
"lint:lint-staged": "lint-staged -c ./.husky/lintstagedrc.cjs",
"lint:eslint": "eslint --cache \"src/**/*.{vue,ts,js}\" --fix",
"lint:prettier": "prettier --write \"**/*.{js,cjs,ts,json,tsx,css,less,scss,vue,html,md}\"",
"lint:stylelint": "stylelint --cache \"**/*.{css,scss,vue}\" --fix",
"fix": "eslint --fix",
"commit": "git-cz",
"clean:dev": "tsx scripts/clean-dev.ts"
},
"config": {
"commitizen": {
"path": "node_modules/cz-git"
}
},
"lint-staged": {
"*.{js,ts,mjs,mts,tsx}": [
"eslint --fix",
"prettier --write"
],
"*.{cjs,json,jsonc}": [
"prettier --write"
],
"*.vue": [
"eslint --fix",
"stylelint --fix --allow-empty-input",
"prettier --write"
],
"*.{html,htm}": [
"prettier --write"
],
"*.{scss,css,less}": [
"stylelint --fix --allow-empty-input",
"prettier --write"
],
"*.{md,mdx}": [
"prettier --write"
],
"*.{yaml,yml}": [
"prettier --write"
]
},
"dependencies": {
"@element-plus/icons-vue": "^2.3.2",
"@iconify/vue": "^5.0.0",
"@tailwindcss/vite": "^4.1.14",
"@vue-flow/background": "^1.3.2",
"@vue-flow/controls": "^1.1.3",
"@vue-flow/core": "^1.48.1",
"@vue-flow/minimap": "^1.5.4",
"@vueuse/core": "^13.9.0",
"@wangeditor-next/editor": "^5.6.49",
"@wangeditor-next/editor-for-vue": "^5.1.14",
"animate.css": "^4.1.1",
"axios": "^1.12.2",
"clipboard": "^2.0.11",
"codemirror": "^5.65.19",
"codemirror-editor-vue3": "^2.8.0",
"crypto-js": "^4.2.0",
"dagre": "^0.8.5",
"dayjs": "^1.11.13",
"dompurify": "^3.3.1",
"echarts": "^6.0.0",
"element-plus": "^2.11.2",
"exceljs": "^4.4.0",
"file-saver": "^2.0.5",
"highlight.js": "^11.11.1",
"js-beautify": "^1.15.4",
"markdown-it": "^14.1.0",
"markdown-it-highlightjs": "^4.2.0",
"mitt": "^3.0.1",
"nprogress": "^0.2.0",
"ohash": "^2.0.11",
"path-browserify": "^1.0.1",
"path-to-regexp": "^8.2.0",
"pinia": "^3.0.3",
"pinia-plugin-persistedstate": "^4.4.1",
"qrcode.vue": "^3.6.0",
"qs": "^6.14.0",
"tailwindcss": "^4.1.14",
"vue": "^3.5.21",
"vue-draggable-plus": "^0.6.0",
"vue-i18n": "^11.1.10",
"vue-json-pretty": "^2.5.0",
"vue-router": "^4.5.1",
"vue-web-terminal": "^3.4.1",
"vue3-cron-plus": "^0.1.9",
"vuedraggable": "^4.1.0",
"xgplayer": "^3.0.20",
"xlsx": "^0.18.5"
},
"devDependencies": {
"@commitlint/cli": "^19.4.1",
"@commitlint/config-conventional": "^19.4.1",
"@eslint/js": "^9.32.0",
"@iconify/utils": "^2.3.0",
"@types/codemirror": "^5.60.16",
"@types/dagre": "^0.7.53",
"@types/dompurify": "^3.2.0",
"@types/file-saver": "^2.0.7",
"@types/markdown-it": "^14.1.2",
"@types/node": "^24.0.5",
"@types/nprogress": "^0.2.3",
"@types/path-browserify": "^1.0.3",
"@types/qs": "^6.14.0",
"@typescript-eslint/eslint-plugin": "^8.38.0",
"@typescript-eslint/parser": "^8.38.0",
"@vitejs/plugin-vue": "^6.0.1",
"@vue/compiler-sfc": "^3.0.5",
"autoprefixer": "^10.4.21",
"commitizen": "^4.3.1",
"cz-git": "^1.12.0",
"eslint": "^9.32.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-prettier": "^5.5.3",
"eslint-plugin-vue": "^10.4.0",
"fs-extra": "^11.2.0",
"globals": "^15.15.0",
"husky": "^9.1.7",
"lint-staged": "^15.5.2",
"postcss": "^8.5.6",
"postcss-html": "^1.8.0",
"postcss-scss": "^4.0.9",
"prettier": "^3.6.2",
"rollup-plugin-visualizer": "^5.12.0",
"sass": "^1.89.2",
"stylelint": "^16.25.0",
"stylelint-config-html": "^1.1.0",
"stylelint-config-recess-order": "^6.1.0",
"stylelint-config-recommended": "^15.0.0",
"stylelint-config-recommended-scss": "^14.1.0",
"stylelint-config-recommended-vue": "^1.6.1",
"stylelint-config-standard": "^36.0.1",
"stylelint-prettier": "^5.0.3",
"terser": "^5.43.1",
"tsx": "^4.20.3",
"typescript": "^5.8.3",
"typescript-eslint": "^8.38.0",
"unplugin-auto-import": "^20.2.0",
"unplugin-element-plus": "^0.10.0",
"unplugin-vue-components": "^29.1.0",
"vite": "^7.1.5",
"vite-plugin-compression": "^0.5.1",
"vite-plugin-vue-devtools": "^7.7.6",
"vue-demi": "^0.14.9",
"vue-eslint-parser": "^10.2.0",
"vue-tsc": "^2.2.12"
},
"packageManager": "pnpm@9.15.3",
"engines": {
"node": ">=20.19.0",
"npm": ">=10.0.0",
"pnpm": ">=8.8.0"
},
"repository": {
"type": "git",
"url": "https://gitee.com/fastapiadmin/FastapiAdmin.git"
},
"bugs": {
"url": "https://gitee.com/fastapiadmin/FastapiAdmin/issues"
},
"author": "fastapiadmin <948080782@qq.com>",
"license": "MIT",
"homepage": "https://gitee.com/fastapiadmin/FastapiAdmin"
}