From 3655114a53d1d4bcbd763032c949da4feae8b715 Mon Sep 17 00:00:00 2001 From: moonrailgun Date: Mon, 18 Oct 2021 20:45:22 +0800 Subject: [PATCH] chore: fix ts problem --- shared/api/buildStorage.ts | 2 +- web/package.json | 2 ++ web/src/App.tsx | 16 ++++------------ web/src/routes/Entry/index.tsx | 4 +++- web/src/routes/Invite/index.tsx | 3 ++- web/src/routes/Main/index.tsx | 4 +++- web/src/routes/Panel/index.tsx | 4 +++- web/src/utils/measure-helper.ts | 3 +++ web/tsconfig.json | 3 ++- yarn.lock | 7 +++++++ 10 files changed, 30 insertions(+), 18 deletions(-) diff --git a/shared/api/buildStorage.ts b/shared/api/buildStorage.ts index de4de5c9..a890cbe4 100644 --- a/shared/api/buildStorage.ts +++ b/shared/api/buildStorage.ts @@ -69,7 +69,7 @@ export function buildStorage(backend: any) { autoSync: true, syncInBackground: false, }); - } catch (e) { + } catch (e: any) { if (!(e instanceof NotFoundError)) { // 过滤NotFoundError console.log(`get key ${key} error:`, e.toString()); diff --git a/web/package.json b/web/package.json index 06e429f8..635eaee0 100644 --- a/web/package.json +++ b/web/package.json @@ -10,6 +10,7 @@ "build": "yarn plugins:all && cross-env TS_NODE_PROJECT='tsconfig.node.json' webpack", "dev": "cross-env TS_NODE_PROJECT='tsconfig.node.json' NODE_ENV=development webpack serve", "serve": "npx http-server ./dist", + "check:type": "tsc --noEmit --skipLibCheck", "postinstall": "node plugins/install.js", "plugins:new": "ministar createPlugin", "plugins:all": "ministar buildPlugin all", @@ -49,6 +50,7 @@ "@types/copy-webpack-plugin": "^8.0.0", "@types/dts-generator": "^2.1.6", "@types/is-hotkey": "^0.1.5", + "@types/loadable__component": "^5.13.4", "@types/mini-css-extract-plugin": "^1.4.3", "@types/node": "^15.12.5", "@types/react": "^17.0.11", diff --git a/web/src/App.tsx b/web/src/App.tsx index 224f6b52..edf2652c 100644 --- a/web/src/App.tsx +++ b/web/src/App.tsx @@ -9,21 +9,13 @@ import { Helmet } from 'react-helmet'; import { useRecordMeasure } from './utils/measure-helper'; import { getPopupContainer } from './utils/dom-helper'; -const MainRoute = Loadable(() => - import('./routes/Main').then((module) => module.MainRoute) -); +const MainRoute = Loadable(() => import('./routes/Main')); -const EntryRoute = Loadable(() => - import('./routes/Entry').then((module) => module.EntryRoute) -); +const EntryRoute = Loadable(() => import('./routes/Entry')); -const PanelRoute = Loadable(() => - import('./routes/Panel').then((module) => module.PanelRoute) -); +const PanelRoute = Loadable(() => import('./routes/Panel')); -const InviteRoute = Loadable(() => - import('./routes/Invite').then((module) => module.InviteRoute) -); +const InviteRoute = Loadable(() => import('./routes/Invite')); const AppProvider: React.FC = React.memo((props) => { return ( diff --git a/web/src/routes/Entry/index.tsx b/web/src/routes/Entry/index.tsx index 408ed67a..843e4e4d 100644 --- a/web/src/routes/Entry/index.tsx +++ b/web/src/routes/Entry/index.tsx @@ -7,7 +7,7 @@ import loginPatternUrl from '@assets/images/login-pattern.svg'; import { RegisterView } from './RegisterView'; import { useRecordMeasure } from '@/utils/measure-helper'; -export const EntryRoute = React.memo(() => { +const EntryRoute = React.memo(() => { useRecordMeasure('AppEntryRenderStart'); return ( @@ -30,3 +30,5 @@ export const EntryRoute = React.memo(() => { ); }); EntryRoute.displayName = 'EntryRoute'; + +export default EntryRoute; diff --git a/web/src/routes/Invite/index.tsx b/web/src/routes/Invite/index.tsx index ee3cb816..6812a297 100644 --- a/web/src/routes/Invite/index.tsx +++ b/web/src/routes/Invite/index.tsx @@ -9,7 +9,7 @@ import { useRecordMeasure } from '@/utils/measure-helper'; /** * 邀请界面路由 */ -export const InviteRoute: React.FC = React.memo(() => { +const InviteRoute: React.FC = React.memo(() => { const { inviteCode } = useParams<{ inviteCode: string }>(); useRecordMeasure('AppInviteRenderStart'); @@ -28,3 +28,4 @@ export const InviteRoute: React.FC = React.memo(() => { ); }); InviteRoute.displayName = 'InviteRoute'; +export default InviteRoute; diff --git a/web/src/routes/Main/index.tsx b/web/src/routes/Main/index.tsx index 12063559..38671e0c 100644 --- a/web/src/routes/Main/index.tsx +++ b/web/src/routes/Main/index.tsx @@ -5,7 +5,7 @@ import { Navbar } from './Navbar'; import { MainProvider } from './Provider'; import { useShortcuts } from './useShortcuts'; -export const MainRoute: React.FC = React.memo(() => { +const MainRoute: React.FC = React.memo(() => { useRecordMeasure('AppMainRenderStart'); useShortcuts(); @@ -20,3 +20,5 @@ export const MainRoute: React.FC = React.memo(() => { ); }); MainRoute.displayName = 'MainRoute'; + +export default MainRoute; diff --git a/web/src/routes/Panel/index.tsx b/web/src/routes/Panel/index.tsx index 0011b34a..4061c770 100644 --- a/web/src/routes/Panel/index.tsx +++ b/web/src/routes/Panel/index.tsx @@ -6,7 +6,7 @@ import { t } from 'tailchat-shared'; import { PersonalConverse } from '../Main/Content/Personal/Converse'; import { GroupPanelRender } from '../Main/Content/Group/Panel'; -export const PanelRoute: React.FC = React.memo(() => { +const PanelRoute: React.FC = React.memo(() => { useRecordMeasure('AppRouteRenderStart'); return ( @@ -31,3 +31,5 @@ export const PanelRoute: React.FC = React.memo(() => { ); }); PanelRoute.displayName = 'PanelRoute'; + +export default PanelRoute; diff --git a/web/src/utils/measure-helper.ts b/web/src/utils/measure-helper.ts index 76aa3056..22c6bea4 100644 --- a/web/src/utils/measure-helper.ts +++ b/web/src/utils/measure-helper.ts @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/ban-ts-comment */ import { useLayoutEffect } from 'react'; const records: Record = {}; @@ -50,8 +51,10 @@ export const measure = { onloadTime: t.loadEventEnd - t.navigationStart, }; + // @ts-ignore if ((t = performance.memory)) { // js内存使用占比 + // @ts-ignore usage['jsHeapRatio'] = t.usedJSHeapSize / t.totalJSHeapSize; } diff --git a/web/tsconfig.json b/web/tsconfig.json index 7f10b6ca..286d7c4a 100644 --- a/web/tsconfig.json +++ b/web/tsconfig.json @@ -6,5 +6,6 @@ "@/*": ["./src/*"], "@assets/*": ["./assets/*"] } - } + }, + "exclude": ["e2e", "plugins"] } diff --git a/yarn.lock b/yarn.lock index f9b29896..f72f8c95 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1987,6 +1987,13 @@ resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= +"@types/loadable__component@^5.13.4": + version "5.13.4" + resolved "https://registry.nlark.com/@types/loadable__component/download/@types/loadable__component-5.13.4.tgz#a4646b2406b1283efac1a9d9485824a905b33d4a" + integrity sha1-pGRrJAaxKD76wanZSFgkqQWzPUo= + dependencies: + "@types/react" "*" + "@types/lodash@^4.14.165", "@types/lodash@^4.14.170": version "4.14.170" resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.170.tgz#0d67711d4bf7f4ca5147e9091b847479b87925d6"