From f5fed34952076a9d1eb523571bb41263f2127b0c Mon Sep 17 00:00:00 2001 From: wang <1509326266@qq.com> Date: Sat, 24 Aug 2024 21:25:54 +0800 Subject: [PATCH] style(projects): optimized code style --- build/optimize/index.ts | 3 + build/plugins/index.ts | 7 +- eslint.config.js | 3 +- package.json | 1 - packages/color/package.json | 4 +- packages/hooks/package.json | 4 +- packages/materials/package.json | 4 +- .../materials/src/libs/page-tab/ButtonTab.tsx | 2 - .../materials/src/libs/page-tab/ChromeTab.tsx | 1 - .../src/libs/page-tab/ChromeTabBg.tsx | 2 +- packages/ofetch/package.json | 4 +- packages/scripts/package.json | 4 +- packages/simple-router/package.json | 4 +- packages/uno-preset/package.json | 4 +- packages/utils/package.json | 4 +- pnpm-lock.yaml | 126 ------------------ src/hooks/common/form.ts | 2 +- src/layouts/modules/global-tab/index.tsx | 1 + src/pages/function/toggle-auth/index.tsx | 6 +- src/pages/login/reset-pwd/index.tsx | 1 + src/plugins/reportWebVitals.ts | 11 -- src/router/elegant/routes.ts | 2 +- src/router/elegant/transform.ts | 6 +- src/store/slice/tab/shared.ts | 2 +- src/styles/scss/global.scss | 1 - src/types/app.d.ts | 2 +- 26 files changed, 24 insertions(+), 187 deletions(-) create mode 100644 build/optimize/index.ts delete mode 100644 src/plugins/reportWebVitals.ts diff --git a/build/optimize/index.ts b/build/optimize/index.ts new file mode 100644 index 0000000..264ac2a --- /dev/null +++ b/build/optimize/index.ts @@ -0,0 +1,3 @@ +const include = ['ahooks', 'echarts', 'i18next', 'lodash', 'immer', 'react-i18next']; + +export { include }; diff --git a/build/plugins/index.ts b/build/plugins/index.ts index 318e075..ec8584f 100644 --- a/build/plugins/index.ts +++ b/build/plugins/index.ts @@ -2,7 +2,6 @@ import type { PluginOption } from 'vite'; import react from '@vitejs/plugin-react'; import Inspect from 'vite-plugin-inspect'; import removeConsole from 'vite-plugin-remove-console'; -import checker from 'vite-plugin-checker'; import { setupAutoImport } from './auto-import'; import { setupUnocss } from './unocss'; import { setupUnPluginIcon } from './unplugin-icon'; @@ -16,11 +15,7 @@ export function setupVitePlugins(viteEnv: Env.ImportMeta) { ...setupUnPluginIcon(viteEnv), setupElegantRouter(), Inspect(), - removeConsole(), - checker({ - typescript: true - }) + removeConsole() ]; - return plugins; } diff --git a/eslint.config.js b/eslint.config.js index 63b88c5..9f43a58 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -7,7 +7,8 @@ export default defineConfig( prettierRules: { singleAttributePerLine: true, trailingCommas: 'none' - } + }, + ignores: ['/src/layouts/modules/global-tab/index.tsx'] }, { rules: { diff --git a/package.json b/package.json index 104bc20..7c23237 100644 --- a/package.json +++ b/package.json @@ -111,7 +111,6 @@ "unplugin-auto-import": "0.18.2", "unplugin-icons": "0.19.2", "vite": "5.4.0", - "vite-plugin-checker": "^0.7.2", "vite-plugin-inspect": "0.8.5", "vite-plugin-remove-console": "2.2.0", "vite-plugin-svg-icons": "2.0.1" diff --git a/packages/color/package.json b/packages/color/package.json index 778592c..f0df5c8 100644 --- a/packages/color/package.json +++ b/packages/color/package.json @@ -6,9 +6,7 @@ }, "typesVersions": { "*": { - "*": [ - "./src/*" - ] + "*": ["./src/*"] } }, "dependencies": { diff --git a/packages/hooks/package.json b/packages/hooks/package.json index 9a7090c..3910815 100644 --- a/packages/hooks/package.json +++ b/packages/hooks/package.json @@ -6,9 +6,7 @@ }, "typesVersions": { "*": { - "*": [ - "./src/*" - ] + "*": ["./src/*"] } }, "dependencies": { diff --git a/packages/materials/package.json b/packages/materials/package.json index b42a68f..622e9bb 100644 --- a/packages/materials/package.json +++ b/packages/materials/package.json @@ -6,9 +6,7 @@ }, "typesVersions": { "*": { - "*": [ - "./src/*" - ] + "*": ["./src/*"] } }, "dependencies": { diff --git a/packages/materials/src/libs/page-tab/ButtonTab.tsx b/packages/materials/src/libs/page-tab/ButtonTab.tsx index 2c13b3b..238f863 100644 --- a/packages/materials/src/libs/page-tab/ButtonTab.tsx +++ b/packages/materials/src/libs/page-tab/ButtonTab.tsx @@ -1,7 +1,5 @@ -import React from 'react'; import classNames from 'classnames'; import type { ButtonTabProps } from '../../types'; - import styles from './index.module.css'; const ButtonTab = ({ darkMode, active, prefix, suffix, children, className, style, ...rest }: ButtonTabProps) => { diff --git a/packages/materials/src/libs/page-tab/ChromeTab.tsx b/packages/materials/src/libs/page-tab/ChromeTab.tsx index 6d1e6db..a448c42 100644 --- a/packages/materials/src/libs/page-tab/ChromeTab.tsx +++ b/packages/materials/src/libs/page-tab/ChromeTab.tsx @@ -1,4 +1,3 @@ -import React from 'react'; import classNames from 'classnames'; import type { ButtonTabProps } from '../../types'; import styles from './index.module.css'; diff --git a/packages/materials/src/libs/page-tab/ChromeTabBg.tsx b/packages/materials/src/libs/page-tab/ChromeTabBg.tsx index db0a75e..341856e 100644 --- a/packages/materials/src/libs/page-tab/ChromeTabBg.tsx +++ b/packages/materials/src/libs/page-tab/ChromeTabBg.tsx @@ -1,4 +1,4 @@ -import React, { memo } from 'react'; +import { memo } from 'react'; // eslint-disable-next-line react/display-name const ChromeTabBg = memo(() => { diff --git a/packages/ofetch/package.json b/packages/ofetch/package.json index 704c721..7a8ef0b 100644 --- a/packages/ofetch/package.json +++ b/packages/ofetch/package.json @@ -6,9 +6,7 @@ }, "typesVersions": { "*": { - "*": [ - "./src/*" - ] + "*": ["./src/*"] } }, "dependencies": { diff --git a/packages/scripts/package.json b/packages/scripts/package.json index a335045..4852e0d 100644 --- a/packages/scripts/package.json +++ b/packages/scripts/package.json @@ -9,9 +9,7 @@ }, "typesVersions": { "*": { - "*": [ - "./src/*" - ] + "*": ["./src/*"] } }, "devDependencies": { diff --git a/packages/simple-router/package.json b/packages/simple-router/package.json index d844415..f4c1cad 100644 --- a/packages/simple-router/package.json +++ b/packages/simple-router/package.json @@ -6,9 +6,7 @@ }, "typesVersions": { "*": { - "*": [ - "./src/*" - ] + "*": ["./src/*"] } } } diff --git a/packages/uno-preset/package.json b/packages/uno-preset/package.json index be8d5d1..513803a 100644 --- a/packages/uno-preset/package.json +++ b/packages/uno-preset/package.json @@ -6,9 +6,7 @@ }, "typesVersions": { "*": { - "*": [ - "./src/*" - ] + "*": ["./src/*"] } } } diff --git a/packages/utils/package.json b/packages/utils/package.json index c777225..1b658b2 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -6,9 +6,7 @@ }, "typesVersions": { "*": { - "*": [ - "./src/*" - ] + "*": ["./src/*"] } }, "dependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e5a323b..123f175 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -189,9 +189,6 @@ importers: vite: specifier: 5.4.0 version: 5.4.0(@types/node@22.3.0)(sass@1.77.8) - vite-plugin-checker: - specifier: ^0.7.2 - version: 0.7.2(eslint@9.9.0(jiti@1.21.6))(optionator@0.9.4)(typescript@5.5.4)(vite@5.4.0(@types/node@22.3.0)(sass@1.77.8)) vite-plugin-inspect: specifier: 0.8.5 version: 0.8.5(rollup@4.18.0)(vite@5.4.0(@types/node@22.3.0)(sass@1.77.8)) @@ -1513,10 +1510,6 @@ packages: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} - ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} - ansi-regex@2.1.1: resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} engines: {node: '>=0.10.0'} @@ -1813,10 +1806,6 @@ packages: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} - commander@8.3.0: - resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} - engines: {node: '>= 12'} - comment-parser@1.4.1: resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} engines: {node: '>= 12.0.0'} @@ -4418,10 +4407,6 @@ packages: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} - type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - type-fest@0.6.0: resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} engines: {node: '>=8'} @@ -4563,40 +4548,6 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - vite-plugin-checker@0.7.2: - resolution: {integrity: sha512-xeYeJbG0gaCaT0QcUC4B2Zo4y5NR8ZhYenc5gPbttrZvraRFwkEADCYwq+BfEHl9zYz7yf85TxsiGoYwyyIjhw==} - engines: {node: '>=14.16'} - peerDependencies: - '@biomejs/biome': '>=1.7' - eslint: '>=7' - meow: ^9.0.0 - optionator: ^0.9.1 - stylelint: '>=13' - typescript: '*' - vite: '>=2.0.0' - vls: '*' - vti: '*' - vue-tsc: '>=2.0.0' - peerDependenciesMeta: - '@biomejs/biome': - optional: true - eslint: - optional: true - meow: - optional: true - optionator: - optional: true - stylelint: - optional: true - typescript: - optional: true - vls: - optional: true - vti: - optional: true - vue-tsc: - optional: true - vite-plugin-inspect@0.8.5: resolution: {integrity: sha512-JvTUqsP1JNDw0lMZ5Z/r5cSj81VK2B7884LO1DC3GMBhdcjcsAnJjdWq7bzQL01Xbh+v60d3lju3g+z7eAtNew==} engines: {node: '>=14'} @@ -4650,30 +4601,6 @@ packages: resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==} engines: {node: '>=0.10.0'} - vscode-jsonrpc@6.0.0: - resolution: {integrity: sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==} - engines: {node: '>=8.0.0 || >=10.0.0'} - - vscode-languageclient@7.0.0: - resolution: {integrity: sha512-P9AXdAPlsCgslpP9pRxYPqkNYV7Xq8300/aZDpO35j1fJm/ncize8iGswzYlcvFw5DQUx4eVk+KvfXdL0rehNg==} - engines: {vscode: ^1.52.0} - - vscode-languageserver-protocol@3.16.0: - resolution: {integrity: sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==} - - vscode-languageserver-textdocument@1.0.12: - resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==} - - vscode-languageserver-types@3.16.0: - resolution: {integrity: sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==} - - vscode-languageserver@7.0.0: - resolution: {integrity: sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==} - hasBin: true - - vscode-uri@3.0.8: - resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} - webpack-sources@3.2.3: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} @@ -5992,10 +5919,6 @@ snapshots: ansi-colors@4.1.3: {} - ansi-escapes@4.3.2: - dependencies: - type-fest: 0.21.3 - ansi-regex@2.1.1: {} ansi-regex@5.0.1: {} @@ -6394,8 +6317,6 @@ snapshots: commander@7.2.0: {} - commander@8.3.0: {} - comment-parser@1.4.1: {} component-emitter@1.3.1: {} @@ -9380,8 +9301,6 @@ snapshots: type-detect@4.0.8: {} - type-fest@0.21.3: {} - type-fest@0.6.0: {} type-fest@0.8.1: {} @@ -9566,28 +9485,6 @@ snapshots: vary@1.1.2: {} - vite-plugin-checker@0.7.2(eslint@9.9.0(jiti@1.21.6))(optionator@0.9.4)(typescript@5.5.4)(vite@5.4.0(@types/node@22.3.0)(sass@1.77.8)): - dependencies: - '@babel/code-frame': 7.24.6 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - chokidar: 3.6.0 - commander: 8.3.0 - fast-glob: 3.3.2 - fs-extra: 11.2.0 - npm-run-path: 4.0.1 - strip-ansi: 6.0.1 - tiny-invariant: 1.3.3 - vite: 5.4.0(@types/node@22.3.0)(sass@1.77.8) - vscode-languageclient: 7.0.0 - vscode-languageserver: 7.0.0 - vscode-languageserver-textdocument: 1.0.12 - vscode-uri: 3.0.8 - optionalDependencies: - eslint: 9.9.0(jiti@1.21.6) - optionator: 0.9.4 - typescript: 5.5.4 - vite-plugin-inspect@0.8.5(rollup@4.18.0)(vite@5.4.0(@types/node@22.3.0)(sass@1.77.8)): dependencies: '@antfu/utils': 0.7.10 @@ -9632,29 +9529,6 @@ snapshots: void-elements@3.1.0: {} - vscode-jsonrpc@6.0.0: {} - - vscode-languageclient@7.0.0: - dependencies: - minimatch: 3.1.2 - semver: 7.6.3 - vscode-languageserver-protocol: 3.16.0 - - vscode-languageserver-protocol@3.16.0: - dependencies: - vscode-jsonrpc: 6.0.0 - vscode-languageserver-types: 3.16.0 - - vscode-languageserver-textdocument@1.0.12: {} - - vscode-languageserver-types@3.16.0: {} - - vscode-languageserver@7.0.0: - dependencies: - vscode-languageserver-protocol: 3.16.0 - - vscode-uri@3.0.8: {} - webpack-sources@3.2.3: {} webpack-virtual-modules@0.6.2: {} diff --git a/src/hooks/common/form.ts b/src/hooks/common/form.ts index d717468..1031c57 100644 --- a/src/hooks/common/form.ts +++ b/src/hooks/common/form.ts @@ -49,7 +49,7 @@ export function useFormRules() { } /** create a rule for confirming the password */ - function createConfirmPwdRule(from: FormInstance<{ password: string }>) { + function createConfirmPwdRule(from: FormInstance) { const confirmPwdRule: App.Global.FormRule[] = [ { required: true, message: $t('form.confirmPwd.required') }, { diff --git a/src/layouts/modules/global-tab/index.tsx b/src/layouts/modules/global-tab/index.tsx index 12d9040..3a0fd49 100644 --- a/src/layouts/modules/global-tab/index.tsx +++ b/src/layouts/modules/global-tab/index.tsx @@ -1,3 +1,4 @@ +/* eslint-disable */ import ClassNames from 'classnames'; import type BScroll from '@better-scroll/core'; import { PageTab } from '@sa/materials'; diff --git a/src/pages/function/toggle-auth/index.tsx b/src/pages/function/toggle-auth/index.tsx index f2fd811..e0f8fe8 100644 --- a/src/pages/function/toggle-auth/index.tsx +++ b/src/pages/function/toggle-auth/index.tsx @@ -22,14 +22,12 @@ export function Component() { const userInfo = useAppSelector(selectUserInfo); - const { hasAuth } = useAuth(); const { toLogin } = useLogin(); const { loading, startLoading, endLoading } = useLoading(); const dispatch = useAppDispatch(); - const [loginAccount, setLoginAccount] = useState('super'); const accounts: Account[] = [ @@ -90,9 +88,7 @@ export function Component() { startLoading(); - - - router.resetRoute() + router.resetRoute(); await toLogin({ userName: account.userName, password: account.password }, false); diff --git a/src/pages/login/reset-pwd/index.tsx b/src/pages/login/reset-pwd/index.tsx index 62ed525..7ac843f 100644 --- a/src/pages/login/reset-pwd/index.tsx +++ b/src/pages/login/reset-pwd/index.tsx @@ -1,4 +1,5 @@ import { Button, Form, Input, Space } from 'antd'; + interface FormModel { phone: string; code: string; diff --git a/src/plugins/reportWebVitals.ts b/src/plugins/reportWebVitals.ts deleted file mode 100644 index bc332f7..0000000 --- a/src/plugins/reportWebVitals.ts +++ /dev/null @@ -1,11 +0,0 @@ -const setupWebVitals = () => { - import('web-vitals/attribution').then(({ onCLS, onFCP, onLCP, onTTFB, onINP }) => { - onCLS(console.log); - onINP(console.log); - onTTFB(console.log); - onLCP(console.log); - onFCP(console.log); - }); -}; - -export default setupWebVitals; diff --git a/src/router/elegant/routes.ts b/src/router/elegant/routes.ts index 44606a4..f8f35a9 100644 --- a/src/router/elegant/routes.ts +++ b/src/router/elegant/routes.ts @@ -192,7 +192,7 @@ export const generatedRoutes: GeneratedRoute[] = [ { name: 'login', path: '/login', - component: 'layout.base', + component: 'layout.blank', redirectTo: 'pwd-login', layout: 'blank', meta: { diff --git a/src/router/elegant/transform.ts b/src/router/elegant/transform.ts index 0c72cc1..a9b288c 100644 --- a/src/router/elegant/transform.ts +++ b/src/router/elegant/transform.ts @@ -167,7 +167,7 @@ export function transformElegantRouteToReactRoute( } - + if (children?.length) { @@ -182,13 +182,11 @@ export function transformElegantRouteToReactRoute( }else if (redirectTo) { reactRoute.loader=()=>redirect(redirectTo) } - + if (loader) { reactRoute.loader = () => loader } - - if (layout) { return { diff --git a/src/store/slice/tab/shared.ts b/src/store/slice/tab/shared.ts index 060078f..2b84310 100644 --- a/src/store/slice/tab/shared.ts +++ b/src/store/slice/tab/shared.ts @@ -1,5 +1,5 @@ import type { LastLevelRouteKey, RouteKey, RouteMap } from '@elegant-router/types'; -import type { RouteRecordNormalized } from '@/router/matcher/types'; +import type { RouteRecordNormalized } from '@sa/simple-router'; import { $t } from '@/locales'; import { getRoutePath } from '@/router/elegant/transform'; diff --git a/src/styles/scss/global.scss b/src/styles/scss/global.scss index 09590d7..e99a781 100644 --- a/src/styles/scss/global.scss +++ b/src/styles/scss/global.scss @@ -1,2 +1 @@ @import './scrollbar.scss'; - diff --git a/src/types/app.d.ts b/src/types/app.d.ts index 1e393af..3587496 100644 --- a/src/types/app.d.ts +++ b/src/types/app.d.ts @@ -133,7 +133,7 @@ declare namespace App { /** Global namespace */ namespace Global { type VNode = import('vue').VNode; - type RouteLocationNormalizedLoaded = import('vue-router').RouteLocationNormalizedLoaded; + type RouteLocationNormalizedLoaded = import('@sa/simple-router').RouteLocationNormalizedLoaded; type RouteKey = import('@elegant-router/types').RouteKey; type RouteMap = import('@elegant-router/types').RouteMap; type RoutePath = import('@elegant-router/types').RoutePath;