summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.npmrc1
-rw-r--r--.prettierignore1
-rw-r--r--package.json97
-rw-r--r--pnpm-lock.yaml128
-rw-r--r--types/element-plus.d.ts116
5 files changed, 113 insertions, 230 deletions
diff --git a/.npmrc b/.npmrc
new file mode 100644
index 0000000..9bf9395
--- /dev/null
+++ b/.npmrc
@@ -0,0 +1 @@
+shamefully-hoist = true
diff --git a/.prettierignore b/.prettierignore
index 2e747f7..e7f8c10 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -5,3 +5,4 @@ node_modules
dist
dist-ssr
*.local
+.npmrc
diff --git a/package.json b/package.json
index 5c90e9d..984edf6 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "v3-admin-vite",
- "version": "3.4.0",
+ "version": "4.0.0-beta",
"description": "一个免费开源的中后台管理系统基础解决方案,基于 Vue3、TypeScript、Element Plus、Pinia 和 Vite 等主流技术.",
"author": {
"name": "pany",
@@ -24,54 +24,54 @@
"test": "vitest"
},
"dependencies": {
- "@element-plus/icons-vue": "^2.1.0",
- "axios": "^1.4.0",
- "dayjs": "^1.11.8",
- "element-plus": "^2.3.6",
- "js-cookie": "^3.0.5",
- "lodash-es": "^4.17.21",
- "normalize.css": "^8.0.1",
- "nprogress": "^0.2.0",
- "path-browserify": "^1.0.1",
- "path-to-regexp": "^6.2.1",
- "pinia": "^2.1.4",
- "screenfull": "^6.0.2",
- "vue": "^3.3.4",
- "vue-router": "^4.2.2",
- "vxe-table": "^4.4.2",
- "vxe-table-plugin-element": "^3.0.7",
- "xe-utils": "^3.5.11"
+ "@element-plus/icons-vue": "2.1.0",
+ "axios": "1.4.0",
+ "dayjs": "1.11.8",
+ "element-plus": "2.3.6",
+ "js-cookie": "3.0.5",
+ "lodash-es": "4.17.21",
+ "normalize.css": "8.0.1",
+ "nprogress": "0.2.0",
+ "path-browserify": "1.0.1",
+ "path-to-regexp": "6.2.1",
+ "pinia": "2.1.4",
+ "screenfull": "6.0.2",
+ "vue": "3.3.4",
+ "vue-router": "4.2.2",
+ "vxe-table": "4.4.2",
+ "vxe-table-plugin-element": "3.0.7",
+ "xe-utils": "3.5.11"
},
"devDependencies": {
- "@types/js-cookie": "^3.0.3",
- "@types/lodash-es": "^4.17.7",
- "@types/node": "^20.3.1",
- "@types/nprogress": "^0.2.0",
- "@types/path-browserify": "^1.0.0",
- "@typescript-eslint/eslint-plugin": "^5.59.11",
- "@typescript-eslint/parser": "^5.59.11",
- "@vitejs/plugin-vue": "^4.2.3",
- "@vitejs/plugin-vue-jsx": "^3.0.1",
- "@vue/eslint-config-prettier": "^7.1.0",
- "@vue/eslint-config-typescript": "^11.0.3",
- "@vue/test-utils": "^2.3.2",
- "eslint": "^8.42.0",
- "eslint-plugin-prettier": "^4.2.1",
- "eslint-plugin-vue": "^9.14.1",
- "husky": "^8.0.3",
- "jsdom": "^22.1.0",
- "lint-staged": "^13.2.2",
- "prettier": "^2.8.8",
- "sass": "^1.63.4",
- "terser": "^5.18.0",
- "typescript": "^5.1.3",
- "unocss": "^0.53.1",
- "vite": "^4.3.9",
- "vite-plugin-svg-icons": "^2.0.1",
- "vite-svg-loader": "^4.0.0",
- "vitest": "^0.32.0",
- "vue-eslint-parser": "^9.3.1",
- "vue-tsc": "^1.6.5"
+ "@types/js-cookie": "3.0.3",
+ "@types/lodash-es": "4.17.7",
+ "@types/node": "20.3.1",
+ "@types/nprogress": "0.2.0",
+ "@types/path-browserify": "1.0.0",
+ "@typescript-eslint/eslint-plugin": "5.59.11",
+ "@typescript-eslint/parser": "5.59.11",
+ "@vitejs/plugin-vue": "4.2.3",
+ "@vitejs/plugin-vue-jsx": "3.0.1",
+ "@vue/eslint-config-prettier": "7.1.0",
+ "@vue/eslint-config-typescript": "11.0.3",
+ "@vue/test-utils": "2.3.2",
+ "eslint": "8.42.0",
+ "eslint-plugin-prettier": "4.2.1",
+ "eslint-plugin-vue": "9.14.1",
+ "husky": "8.0.3",
+ "jsdom": "22.1.0",
+ "lint-staged": "13.2.2",
+ "prettier": "2.8.8",
+ "sass": "1.63.4",
+ "terser": "5.18.0",
+ "typescript": "5.1.3",
+ "unocss": "0.53.1",
+ "vite": "4.3.9",
+ "vite-plugin-svg-icons": "2.0.1",
+ "vite-svg-loader": "4.0.0",
+ "vitest": "0.32.0",
+ "vue-eslint-parser": "9.3.1",
+ "vue-tsc": "1.6.5"
},
"lint-staged": {
"*.{vue,js,jsx,ts,tsx}": [
@@ -83,9 +83,6 @@
],
"package.json": [
"prettier --write"
- ],
- "{!(package)*.json,.!(browserslist)*rc}": [
- "prettier --write--parser json"
]
},
"keywords": [
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 8b94a3a..42939f8 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -6,144 +6,144 @@ settings:
dependencies:
'@element-plus/icons-vue':
- specifier: ^2.1.0
+ specifier: 2.1.0
version: 2.1.0([email protected])
axios:
- specifier: ^1.4.0
+ specifier: 1.4.0
version: 1.4.0
dayjs:
- specifier: ^1.11.8
+ specifier: 1.11.8
version: 1.11.8
element-plus:
- specifier: ^2.3.6
+ specifier: 2.3.6
version: 2.3.6([email protected])
js-cookie:
- specifier: ^3.0.5
+ specifier: 3.0.5
version: 3.0.5
lodash-es:
- specifier: ^4.17.21
+ specifier: 4.17.21
version: 4.17.21
normalize.css:
- specifier: ^8.0.1
+ specifier: 8.0.1
version: 8.0.1
nprogress:
- specifier: ^0.2.0
+ specifier: 0.2.0
version: 0.2.0
path-browserify:
- specifier: ^1.0.1
+ specifier: 1.0.1
version: 1.0.1
path-to-regexp:
- specifier: ^6.2.1
+ specifier: 6.2.1
version: 6.2.1
pinia:
- specifier: ^2.1.4
+ specifier: 2.1.4
screenfull:
- specifier: ^6.0.2
+ specifier: 6.0.2
version: 6.0.2
vue:
- specifier: ^3.3.4
+ specifier: 3.3.4
version: 3.3.4
vue-router:
- specifier: ^4.2.2
+ specifier: 4.2.2
version: 4.2.2([email protected])
vxe-table:
- specifier: ^4.4.2
+ specifier: 4.4.2
vxe-table-plugin-element:
- specifier: ^3.0.7
+ specifier: 3.0.7
version: 3.0.7([email protected])
xe-utils:
- specifier: ^3.5.11
+ specifier: 3.5.11
version: 3.5.11
devDependencies:
'@types/js-cookie':
- specifier: ^3.0.3
+ specifier: 3.0.3
version: 3.0.3
'@types/lodash-es':
- specifier: ^4.17.7
+ specifier: 4.17.7
version: 4.17.7
'@types/node':
- specifier: ^20.3.1
+ specifier: 20.3.1
version: 20.3.1
'@types/nprogress':
- specifier: ^0.2.0
+ specifier: 0.2.0
version: 0.2.0
'@types/path-browserify':
- specifier: ^1.0.0
+ specifier: 1.0.0
version: 1.0.0
'@typescript-eslint/eslint-plugin':
- specifier: ^5.59.11
+ specifier: 5.59.11
version: 5.59.11(@typescript-eslint/[email protected])([email protected])([email protected])
'@typescript-eslint/parser':
- specifier: ^5.59.11
+ specifier: 5.59.11
'@vitejs/plugin-vue':
- specifier: ^4.2.3
+ specifier: 4.2.3
'@vitejs/plugin-vue-jsx':
- specifier: ^3.0.1
+ specifier: 3.0.1
'@vue/eslint-config-prettier':
- specifier: ^7.1.0
+ specifier: 7.1.0
'@vue/eslint-config-typescript':
- specifier: ^11.0.3
+ specifier: 11.0.3
'@vue/test-utils':
- specifier: ^2.3.2
+ specifier: 2.3.2
version: 2.3.2([email protected])
eslint:
- specifier: ^8.42.0
+ specifier: 8.42.0
version: 8.42.0
eslint-plugin-prettier:
- specifier: ^4.2.1
+ specifier: 4.2.1
eslint-plugin-vue:
- specifier: ^9.14.1
+ specifier: 9.14.1
version: 9.14.1([email protected])
husky:
- specifier: ^8.0.3
+ specifier: 8.0.3
version: 8.0.3
jsdom:
- specifier: ^22.1.0
+ specifier: 22.1.0
version: 22.1.0
lint-staged:
- specifier: ^13.2.2
+ specifier: 13.2.2
version: 13.2.2
prettier:
- specifier: ^2.8.8
+ specifier: 2.8.8
version: 2.8.8
sass:
- specifier: ^1.63.4
+ specifier: 1.63.4
version: 1.63.4
terser:
- specifier: ^5.18.0
+ specifier: 5.18.0
version: 5.18.0
typescript:
- specifier: ^5.1.3
+ specifier: 5.1.3
version: 5.1.3
unocss:
- specifier: ^0.53.1
+ specifier: 0.53.1
vite:
- specifier: ^4.3.9
+ specifier: 4.3.9
vite-plugin-svg-icons:
- specifier: ^2.0.1
+ specifier: 2.0.1
version: 2.0.1([email protected])
vite-svg-loader:
- specifier: ^4.0.0
+ specifier: 4.0.0
version: 4.0.0
vitest:
- specifier: ^0.32.0
+ specifier: 0.32.0
vue-eslint-parser:
- specifier: ^9.3.1
+ specifier: 9.3.1
version: 9.3.1([email protected])
vue-tsc:
- specifier: ^1.6.5
+ specifier: 1.6.5
version: 1.6.5([email protected])
packages:
@@ -228,7 +228,7 @@ packages:
'@babel/compat-data': 7.22.5
'@babel/core': 7.22.5
'@babel/helper-validator-option': 7.22.5
- browserslist: 4.21.8
+ browserslist: 4.21.9
lru-cache: 5.1.1
semver: 6.3.0
dev: true
@@ -925,7 +925,7 @@ packages:
grapheme-splitter: 1.0.4
ignore: 5.2.4
natural-compare-lite: 1.4.0
- semver: 7.5.1
+ semver: 7.5.2
tsutils: 3.21.0([email protected])
typescript: 5.1.3
transitivePeerDependencies:
@@ -999,7 +999,7 @@ packages:
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
- semver: 7.5.1
+ semver: 7.5.2
tsutils: 3.21.0([email protected])
typescript: 5.1.3
transitivePeerDependencies:
@@ -1020,7 +1020,7 @@ packages:
'@typescript-eslint/typescript-estree': 5.59.11([email protected])
eslint: 8.42.0
eslint-scope: 5.1.1
- semver: 7.5.1
+ semver: 7.5.2
transitivePeerDependencies:
- supports-color
- typescript
@@ -1756,15 +1756,15 @@ packages:
fill-range: 7.0.1
dev: true
- resolution: {integrity: sha512-j+7xYe+v+q2Id9qbBeCI8WX5NmZSRe8es1+0xntD/+gaWXznP8tFEkv5IgSaHf5dS1YwVMbX/4W6m937mj+wQw==}
+ resolution: {integrity: sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
dependencies:
caniuse-lite: 1.0.30001503
- electron-to-chromium: 1.4.431
+ electron-to-chromium: 1.4.432
node-releases: 2.0.12
- update-browserslist-db: 1.0.11([email protected])
+ update-browserslist-db: 1.0.11([email protected])
dev: true
@@ -1984,7 +1984,7 @@ packages:
js-string-escape: 1.0.1
lodash: 4.17.21
md5-hex: 3.0.1
- semver: 7.5.1
+ semver: 7.5.2
well-known-symbols: 2.0.0
dev: true
@@ -2318,8 +2318,8 @@ packages:
sigmund: 1.0.1
dev: true
- resolution: {integrity: sha512-m232JTVmCawA2vG+1azVxhKZ9Sv1Q//xxNv5PkP5rWxGgQE8c3CiZFrh8Xnp+d1NmNxlu3QQrGIfdeW5TtXX5w==}
+ resolution: {integrity: sha512-yz3U/khQgAFT2HURJA3/F4fKIyO2r5eK09BQzBZFd6BvBSSaRuzKc2ZNBHtJcO75/EKiRYbVYJZ2RB0P4BuD2g==}
dev: true
@@ -2459,7 +2459,7 @@ packages:
natural-compare: 1.4.0
nth-check: 2.1.1
postcss-selector-parser: 6.0.13
- semver: 7.5.1
+ semver: 7.5.2
vue-eslint-parser: 9.3.1([email protected])
xml-name-validator: 4.0.0
transitivePeerDependencies:
@@ -4245,8 +4245,8 @@ packages:
hasBin: true
dev: true
- resolution: {integrity: sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==}
+ resolution: {integrity: sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==}
engines: {node: '>=10'}
hasBin: true
dependencies:
@@ -4802,13 +4802,13 @@ packages:
isobject: 3.0.1
dev: true
resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==}
hasBin: true
peerDependencies:
browserslist: '>= 4.21.0'
dependencies:
- browserslist: 4.21.8
+ browserslist: 4.21.9
escalade: 3.1.1
picocolors: 1.0.0
dev: true
@@ -5020,7 +5020,7 @@ packages:
espree: 9.5.2
esquery: 1.5.0
lodash: 4.17.21
- semver: 7.5.1
+ semver: 7.5.2
transitivePeerDependencies:
- supports-color
dev: true
@@ -5049,7 +5049,7 @@ packages:
dependencies:
'@volar/vue-language-core': 1.6.5
'@volar/vue-typescript': 1.6.5([email protected])
- semver: 7.5.1
+ semver: 7.5.2
typescript: 5.1.3
dev: true
diff --git a/types/element-plus.d.ts b/types/element-plus.d.ts
deleted file mode 100644
index 8053791..0000000
--- a/types/element-plus.d.ts
+++ /dev/null
@@ -1,116 +0,0 @@
-/**
- * Copy https://github.com/element-plus/element-plus/blob/dev/global.d.ts
- * 为了解决某些依赖(比如 vxe-table 4.2.7-beta.0 ~ 4.3.11 和 vue-router 4.2.0)导致的没有 Element Plus 组件类型提示的问题
- */
-
-declare module "vue" {
- export interface GlobalComponents {
- ElAffix: typeof import("element-plus")["ElAffix"]
- ElAlert: typeof import("element-plus")["ElAlert"]
- ElAside: typeof import("element-plus")["ElAside"]
- ElAutocomplete: typeof import("element-plus")["ElAutocomplete"]
- ElAvatar: typeof import("element-plus")["ElAvatar"]
- ElBacktop: typeof import("element-plus")["ElBacktop"]
- ElBadge: typeof import("element-plus")["ElBadge"]
- ElBreadcrumb: typeof import("element-plus")["ElBreadcrumb"]
- ElBreadcrumbItem: typeof import("element-plus")["ElBreadcrumbItem"]
- ElButton: typeof import("element-plus")["ElButton"]
- ElButtonGroup: typeof import("element-plus")["ElButtonGroup"]
- ElCalendar: typeof import("element-plus")["ElCalendar"]
- ElCard: typeof import("element-plus")["ElCard"]
- ElCarousel: typeof import("element-plus")["ElCarousel"]
- ElCarouselItem: typeof import("element-plus")["ElCarouselItem"]
- ElCascader: typeof import("element-plus")["ElCascader"]
- ElCascaderPanel: typeof import("element-plus")["ElCascaderPanel"]
- ElCheckbox: typeof import("element-plus")["ElCheckbox"]
- ElCheckboxButton: typeof import("element-plus")["ElCheckboxButton"]
- ElCheckboxGroup: typeof import("element-plus")["ElCheckboxGroup"]
- ElCol: typeof import("element-plus")["ElCol"]
- ElCollapse: typeof import("element-plus")["ElCollapse"]
- ElCollapseItem: typeof import("element-plus")["ElCollapseItem"]
- ElCollapseTransition: typeof import("element-plus")["ElCollapseTransition"]
- ElColorPicker: typeof import("element-plus")["ElColorPicker"]
- ElContainer: typeof import("element-plus")["ElContainer"]
- ElConfigProvider: typeof import("element-plus")["ElConfigProvider"]
- ElDatePicker: typeof import("element-plus")["ElDatePicker"]
- ElDialog: typeof import("element-plus")["ElDialog"]
- ElDivider: typeof import("element-plus")["ElDivider"]
- ElDrawer: typeof import("element-plus")["ElDrawer"]
- ElDropdown: typeof import("element-plus")["ElDropdown"]
- ElDropdownItem: typeof import("element-plus")["ElDropdownItem"]
- ElDropdownMenu: typeof import("element-plus")["ElDropdownMenu"]
- ElEmpty: typeof import("element-plus")["ElEmpty"]
- ElFooter: typeof import("element-plus")["ElFooter"]
- ElForm: typeof import("element-plus")["ElForm"]
- ElFormItem: typeof import("element-plus")["ElFormItem"]
- ElHeader: typeof import("element-plus")["ElHeader"]
- ElIcon: typeof import("element-plus")["ElIcon"]
- ElImage: typeof import("element-plus")["ElImage"]
- ElImageViewer: typeof import("element-plus")["ElImageViewer"]
- ElInput: typeof import("element-plus")["ElInput"]
- ElInputNumber: typeof import("element-plus")["ElInputNumber"]
- ElLink: typeof import("element-plus")["ElLink"]
- ElMain: typeof import("element-plus")["ElMain"]
- ElMenu: typeof import("element-plus")["ElMenu"]
- ElMenuItem: typeof import("element-plus")["ElMenuItem"]
- ElMenuItemGroup: typeof import("element-plus")["ElMenuItemGroup"]
- ElOption: typeof import("element-plus")["ElOption"]
- ElOptionGroup: typeof import("element-plus")["ElOptionGroup"]
- ElPageHeader: typeof import("element-plus")["ElPageHeader"]
- ElPagination: typeof import("element-plus")["ElPagination"]
- ElPopconfirm: typeof import("element-plus")["ElPopconfirm"]
- ElPopper: typeof import("element-plus")["ElPopper"]
- ElPopover: typeof import("element-plus")["ElPopover"]
- ElProgress: typeof import("element-plus")["ElProgress"]
- ElRadio: typeof import("element-plus")["ElRadio"]
- ElRadioButton: typeof import("element-plus")["ElRadioButton"]
- ElRadioGroup: typeof import("element-plus")["ElRadioGroup"]
- ElRate: typeof import("element-plus")["ElRate"]
- ElRow: typeof import("element-plus")["ElRow"]
- ElScrollbar: typeof import("element-plus")["ElScrollbar"]
- ElSelect: typeof import("element-plus")["ElSelect"]
- ElSlider: typeof import("element-plus")["ElSlider"]
- ElStep: typeof import("element-plus")["ElStep"]
- ElSteps: typeof import("element-plus")["ElSteps"]
- ElSubMenu: typeof import("element-plus")["ElSubMenu"]
- ElSwitch: typeof import("element-plus")["ElSwitch"]
- ElTabPane: typeof import("element-plus")["ElTabPane"]
- ElTable: typeof import("element-plus")["ElTable"]
- ElTableColumn: typeof import("element-plus")["ElTableColumn"]
- ElTabs: typeof import("element-plus")["ElTabs"]
- ElTag: typeof import("element-plus")["ElTag"]
- ElText: typeof import("element-plus")["ElText"]
- ElTimePicker: typeof import("element-plus")["ElTimePicker"]
- ElTimeSelect: typeof import("element-plus")["ElTimeSelect"]
- ElTimeline: typeof import("element-plus")["ElTimeline"]
- ElTimelineItem: typeof import("element-plus")["ElTimelineItem"]
- ElTooltip: typeof import("element-plus")["ElTooltip"]
- ElTransfer: typeof import("element-plus")["ElTransfer"]
- ElTree: typeof import("element-plus")["ElTree"]
- ElTreeV2: typeof import("element-plus")["ElTreeV2"]
- ElTreeSelect: typeof import("element-plus")["ElTreeSelect"]
- ElUpload: typeof import("element-plus")["ElUpload"]
- ElSpace: typeof import("element-plus")["ElSpace"]
- ElSkeleton: typeof import("element-plus")["ElSkeleton"]
- ElSkeletonItem: typeof import("element-plus")["ElSkeletonItem"]
- ElStatistic: typeof import("element-plus")["ElStatistic"]
- ElCheckTag: typeof import("element-plus")["ElCheckTag"]
- ElDescriptions: typeof import("element-plus")["ElDescriptions"]
- ElDescriptionsItem: typeof import("element-plus")["ElDescriptionsItem"]
- ElResult: typeof import("element-plus")["ElResult"]
- ElSelectV2: typeof import("element-plus")["ElSelectV2"]
- }
-
- interface ComponentCustomProperties {
- $message: typeof import("element-plus")["ElMessage"]
- $notify: typeof import("element-plus")["ElNotification"]
- $msgbox: typeof import("element-plus")["ElMessageBox"]
- $messageBox: typeof import("element-plus")["ElMessageBox"]
- $alert: typeof import("element-plus")["ElMessageBox"]["alert"]
- $confirm: typeof import("element-plus")["ElMessageBox"]["confirm"]
- $prompt: typeof import("element-plus")["ElMessageBox"]["prompt"]
- $loading: typeof import("element-plus")["ElLoadingService"]
- }
-}
-
-export {}