From b4e0e9740d5d2b69f22fcfcf6a36163e3b3e0a4e Mon Sep 17 00:00:00 2001 From: Hooray Hu <304327508@qq.com> Date: Tue, 30 Jan 2024 17:09:08 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20vite-plugin-vue-devtools=20=E6=9B=BF?= =?UTF-8?q?=E6=8D=A2=20vite-plugin-vue-inspector?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 2 + package.json | 2 +- pnpm-lock.yaml | 200 +++++++++++++++++++++++++++++++++++++- vite/plugins/devtools.ts | 6 ++ vite/plugins/index.ts | 4 +- vite/plugins/inspector.ts | 5 - 6 files changed, 207 insertions(+), 12 deletions(-) create mode 100755 vite/plugins/devtools.ts delete mode 100755 vite/plugins/inspector.ts diff --git a/.env.development b/.env.development index 975a1f4d..0b825f24 100755 --- a/.env.development +++ b/.env.development @@ -9,3 +9,5 @@ VITE_APP_DEBUG_TOOL = # 是否开启代理 VITE_OPEN_PROXY = false +# 是否开启开发者工具 +VITE_OPEN_DEVTOOLS = false diff --git a/package.json b/package.json index a5034570..317091c9 100755 --- a/package.json +++ b/package.json @@ -95,7 +95,7 @@ "vite-plugin-fake-server": "^2.1.1", "vite-plugin-pages": "^0.32.0", "vite-plugin-svg-icons": "^2.0.1", - "vite-plugin-vue-inspector": "^4.0.2", + "vite-plugin-vue-devtools": "^7.0.13", "vite-plugin-vue-meta-layouts": "^0.4.1", "vue-tsc": "^1.8.27" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 993f4411..ea533794 100755 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -226,9 +226,9 @@ devDependencies: vite-plugin-svg-icons: specifier: ^2.0.1 version: 2.0.1(vite@5.0.12) - vite-plugin-vue-inspector: - specifier: ^4.0.2 - version: 4.0.2(vite@5.0.12) + vite-plugin-vue-devtools: + specifier: ^7.0.13 + version: 7.0.13(vite@5.0.12) vite-plugin-vue-meta-layouts: specifier: ^0.4.1 version: 0.4.1(vite@5.0.12)(vue-router@4.2.5) @@ -3765,6 +3765,49 @@ packages: resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} dev: false + /@vue/devtools-core@7.0.13(vite@5.0.12): + resolution: {integrity: sha512-cSnzDqR5TUyZ08XKHRFadLUHt+SJudU5W43+ImUKhes1BfQ/I6/SVjA9hepXxsMsHFDs7OgV8loopjsnZEojaA==} + dependencies: + '@vue/devtools-kit': 7.0.13 + '@vue/devtools-schema': 7.0.13 + '@vue/devtools-shared': 7.0.13 + birpc: 0.2.15 + fast-glob: 3.3.2 + image-meta: 0.2.0 + mitt: 3.0.1 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + vite-dev-rpc: 0.1.4(vite@5.0.12) + vite-hot-client: 0.2.3(vite@5.0.12) + vite-plugin-inspect: 0.8.3(vite@5.0.12) + transitivePeerDependencies: + - '@nuxt/kit' + - rollup + - supports-color + - vite + dev: true + + /@vue/devtools-kit@7.0.13: + resolution: {integrity: sha512-u1Ocu+epsQR67iwKF/eiPrmTDdh7DWnt11VjAw0/61wBDuhKrC9tipw33KCl4tTVrCXg0PJp4b38koGiNCn2dQ==} + dependencies: + '@vue/devtools-schema': 7.0.13 + '@vue/devtools-shared': 7.0.13 + hookable: 5.5.3 + mitt: 3.0.1 + perfect-debounce: 1.0.0 + speakingurl: 14.0.1 + dev: true + + /@vue/devtools-schema@7.0.13: + resolution: {integrity: sha512-sDGPPPbi8OZHJMifWl+BQaAlpnkDfsSqcd8s3Uk9dYzHceO63BQjvi/qi1Ru4F+U/eJSuNWv4l/VhiqUNQ5ndw==} + dev: true + + /@vue/devtools-shared@7.0.13: + resolution: {integrity: sha512-nSkUV4czv2UyloDXZwhpDoZic2/lcf3x2VRhK6xiCJY3cmO0+fL7qRDYDZYn11KwyLZngc7uiWF1f3AD0jyxVQ==} + dependencies: + rfdc: 1.3.1 + dev: true + /@vue/language-core@1.8.27(typescript@5.3.3): resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} peerDependencies: @@ -4273,6 +4316,10 @@ packages: engines: {node: '>=8'} dev: true + /birpc@0.2.15: + resolution: {integrity: sha512-LuZgWLW6DB1zenkfJuF4/kfSZdazOR2xaMSzeqgvfbNIwECwV1AJso9wpNje79uaRU86Obbujv4qtDnwoOLQww==} + dev: true + /bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} dependencies: @@ -4410,6 +4457,13 @@ packages: import-from-string: 0.0.4 dev: true + /bundle-name@4.1.0: + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} + engines: {node: '>=18'} + dependencies: + run-applescript: 7.0.0 + dev: true + /c12@1.6.1: resolution: {integrity: sha512-fAZOi3INDvIbmjuwAVVggusyRTxwNdTAnwLay8IsXwhFzDwPPGzFxzrx6L55CPFGPulUSZI0eyFUvRDXveoE3g==} dependencies: @@ -5055,6 +5109,19 @@ packages: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true + /default-browser-id@5.0.0: + resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} + engines: {node: '>=18'} + dev: true + + /default-browser@5.2.1: + resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} + engines: {node: '>=18'} + dependencies: + bundle-name: 4.1.0 + default-browser-id: 5.0.0 + dev: true + /defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} dependencies: @@ -5070,6 +5137,11 @@ packages: has-property-descriptors: 1.0.1 dev: true + /define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + dev: true + /define-properties@1.2.0: resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} engines: {node: '>= 0.4'} @@ -5340,6 +5412,10 @@ packages: is-arrayish: 0.2.1 dev: true + /error-stack-parser-es@0.1.1: + resolution: {integrity: sha512-g/9rfnvnagiNf+DRMHEVGuGuIBlCIMDFoTA616HaP2l9PlCjGjVhD98PNbVSJvmK4TttqT5mV5tInMhoFgi+aA==} + dev: true + /eruda@3.0.1: resolution: {integrity: sha512-6q1Xdwga4JTr1mKSW4mzuWSSbmXgqpm/8Wa1QGFGfCWRjC0bCQjbS4u06M1te1moucIS3hBLlbSTPWYH2W0qbQ==} dev: false @@ -6790,6 +6866,10 @@ packages: parse-passwd: 1.0.0 dev: true + /hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + dev: true + /hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: true @@ -6908,6 +6988,10 @@ packages: engines: {node: '>= 4'} dev: true + /image-meta@0.2.0: + resolution: {integrity: sha512-ZBGjl0ZMEMeOC3Ns0wUF/5UdUmr3qQhBSCniT0LxOgGGIRHiNFOkMtIHB7EOznRU47V2AxPgiVP+s+0/UCU0Hg==} + dev: true + /image-size@0.5.5: resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} engines: {node: '>=0.10.0'} @@ -7160,6 +7244,12 @@ packages: kind-of: 6.0.3 dev: true + /is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + dev: true + /is-extendable@0.1.1: resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} engines: {node: '>=0.10.0'} @@ -7205,6 +7295,14 @@ packages: resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} dev: true + /is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + dependencies: + is-docker: 3.0.0 + dev: true + /is-interactive@1.0.0: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} @@ -7379,6 +7477,13 @@ packages: engines: {node: '>=0.10.0'} dev: true + /is-wsl@3.1.0: + resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + engines: {node: '>=16'} + dependencies: + is-inside-container: 1.0.0 + dev: true + /isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} dev: true @@ -7992,7 +8097,6 @@ packages: /mitt@3.0.1: resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} - dev: false /mixin-deep@1.3.2: resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} @@ -8339,6 +8443,16 @@ packages: mimic-fn: 4.0.0 dev: true + /open@10.0.3: + resolution: {integrity: sha512-dtbI5oW7987hwC9qjJTyABldTaa19SuyJse1QboWv3b0qCcrrLNVDqBx1XgELAjh9QTVQaP/C5b1nhQebd1H2A==} + engines: {node: '>=18'} + dependencies: + default-browser: 5.2.1 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + is-wsl: 3.1.0 + dev: true + /opener@1.5.2: resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} hasBin: true @@ -9164,6 +9278,10 @@ packages: resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} dev: true + /rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + dev: true + /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true @@ -9202,6 +9320,11 @@ packages: fsevents: 2.3.3 dev: true + /run-applescript@7.0.0: + resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} + engines: {node: '>=18'} + dev: true + /run-async@3.0.0: resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} engines: {node: '>=0.12.0'} @@ -9573,6 +9696,11 @@ packages: resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==} dev: true + /speakingurl@14.0.1: + resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} + engines: {node: '>=0.10.0'} + dev: true + /split-string@3.1.0: resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} engines: {node: '>=0.10.0'} @@ -10641,6 +10769,24 @@ packages: mutation-observer: 1.0.3 dev: false + /vite-dev-rpc@0.1.4(vite@5.0.12): + resolution: {integrity: sha512-6I/qF7EDGLQfm3DGdcbkZ7JRl3FIbaVgD1TqDWBaCosJ1QljLzNzDBmMEa7cYkEyAMxHDBqT7zJrOiuYlFYcAA==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 + dependencies: + birpc: 0.2.15 + vite: 5.0.12(sass@1.70.0)(terser@5.27.0) + vite-hot-client: 0.2.3(vite@5.0.12) + dev: true + + /vite-hot-client@0.2.3(vite@5.0.12): + resolution: {integrity: sha512-rOGAV7rUlUHX89fP2p2v0A2WWvV3QMX2UYq0fRqsWSvFvev4atHWqjwGoKaZT1VTKyLGk533ecu3eyd0o59CAg==} + peerDependencies: + vite: ^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 + dependencies: + vite: 5.0.12(sass@1.70.0)(terser@5.27.0) + dev: true + /vite-plugin-banner@0.7.1: resolution: {integrity: sha512-Bww2Xd5tOGsZ1yZ9rQiGneryvsL1u86znPrqeQjCsXPsG72pnSdV5lcQA+cy8UNDguMqyTJiCevlNUbLnT85UA==} dev: true @@ -10663,6 +10809,31 @@ packages: picocolors: 1.0.0 dev: true + /vite-plugin-inspect@0.8.3(vite@5.0.12): + resolution: {integrity: sha512-SBVzOIdP/kwe6hjkt7LSW4D0+REqqe58AumcnCfRNw4Kt3mbS9pEBkch+nupu2PBxv2tQi69EQHQ1ZA1vgB/Og==} + engines: {node: '>=14'} + peerDependencies: + '@nuxt/kit': '*' + vite: ^3.1.0 || ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + '@nuxt/kit': + optional: true + dependencies: + '@antfu/utils': 0.7.7 + '@rollup/pluginutils': 5.1.0 + debug: 4.3.4 + error-stack-parser-es: 0.1.1 + fs-extra: 11.2.0 + open: 10.0.3 + perfect-debounce: 1.0.0 + picocolors: 1.0.0 + sirv: 2.0.4 + vite: 5.0.12(sass@1.70.0)(terser@5.27.0) + transitivePeerDependencies: + - rollup + - supports-color + dev: true + /vite-plugin-pages@0.32.0(@vue/compiler-sfc@3.4.15)(vite@5.0.12): resolution: {integrity: sha512-OxS3n0zUo5wsfgNCAuw2FiG/KD1ipgQV+2Flst4RyeI2iPv+m0YueVq+nx41k5NOWJj/zhqEas6I0b7HXveXjA==} peerDependencies: @@ -10705,6 +10876,27 @@ packages: - supports-color dev: true + /vite-plugin-vue-devtools@7.0.13(vite@5.0.12): + resolution: {integrity: sha512-mV+lonRg7C+PA1cIAeSuGM+VUeqhZWRGNuXc+SZ7R+S2GzK40V0hNn/7K7GmZ6w4tlIIEVyLrKEDbilsPX85pw==} + engines: {node: '>=v14.21.3'} + peerDependencies: + vite: ^3.1.0 || ^4.0.0-0 || ^5.0.0-0 + dependencies: + '@vue/devtools-core': 7.0.13(vite@5.0.12) + '@vue/devtools-kit': 7.0.13 + '@vue/devtools-shared': 7.0.13 + birpc: 0.2.15 + execa: 8.0.1 + sirv: 2.0.4 + vite: 5.0.12(sass@1.70.0)(terser@5.27.0) + vite-plugin-inspect: 0.8.3(vite@5.0.12) + vite-plugin-vue-inspector: 4.0.2(vite@5.0.12) + transitivePeerDependencies: + - '@nuxt/kit' + - rollup + - supports-color + dev: true + /vite-plugin-vue-inspector@4.0.2(vite@5.0.12): resolution: {integrity: sha512-KPvLEuafPG13T7JJuQbSm5PwSxKFnVS965+MP1we2xGw9BPkkc/+LPix5MMWenpKWqtjr0ws8THrR+KuoDC8hg==} peerDependencies: diff --git a/vite/plugins/devtools.ts b/vite/plugins/devtools.ts new file mode 100755 index 00000000..599c747d --- /dev/null +++ b/vite/plugins/devtools.ts @@ -0,0 +1,6 @@ +import VueDevTools from 'vite-plugin-vue-devtools' + +export default function createDevtools(env) { + const { VITE_OPEN_DEVTOOLS } = env + return VITE_OPEN_DEVTOOLS === 'true' && VueDevTools() +} diff --git a/vite/plugins/index.ts b/vite/plugins/index.ts index 48e1e262..a4c0ab42 100755 --- a/vite/plugins/index.ts +++ b/vite/plugins/index.ts @@ -4,7 +4,7 @@ import vueJsx from '@vitejs/plugin-vue-jsx' import vueLegacy from '@vitejs/plugin-legacy' import appInfo from './app-info' -import createInspector from './inspector' +import createDevtools from './devtools' import createAutoImport from './auto-import' import createComponents from './components' import createUnocss from './unocss' @@ -30,7 +30,7 @@ export default function createVitePlugins(viteEnv, isBuild = false) { ], }), ] - vitePlugins.push(createInspector()) + vitePlugins.push(createDevtools(viteEnv)) vitePlugins.push(createAutoImport()) vitePlugins.push(createComponents()) vitePlugins.push(createUnocss()) diff --git a/vite/plugins/inspector.ts b/vite/plugins/inspector.ts deleted file mode 100755 index f0f0e10c..00000000 --- a/vite/plugins/inspector.ts +++ /dev/null @@ -1,5 +0,0 @@ -import Inspector from 'vite-plugin-vue-inspector' - -export default function createInspector() { - return Inspector() -}