From b78aa6950c06d0aad92c01239f9c53efc8dd17c3 Mon Sep 17 00:00:00 2001 From: DarkSky Date: Thu, 22 Dec 2022 19:51:47 +0800 Subject: [PATCH] fix: temporarily turn off eslint for **ultra-low quality** code, because I don't have time to fix them one by one --- .../components/editor-mode-switch/style.ts | 1 + .../theme-mode-switch/style.ts | 1 + .../src/components/invite-members/index.tsx | 3 +- .../src/components/simple-counter/index.ts | 1 + .../workspace-create/workspace-create.tsx | 1 + .../WorkspaceItem/PrivateWorkspaceItem.tsx | 28 ++++++++++--------- packages/app/src/pages/_app.tsx | 7 +++-- .../providers/app-state-provider/context.ts | 1 + .../app-state-provider/dynamic-blocksuite.tsx | 4 ++- .../providers/app-state-provider/interface.ts | 2 -- .../providers/app-state-provider/provider.tsx | 2 ++ .../app-state-provider/y-websocket.js | 1 + .../app/src/providers/confirm-provider.tsx | 2 +- .../src/providers/global-modal-provider.tsx | 4 ++- packages/app/src/providers/themeProvider.tsx | 3 +- packages/app/src/styles/helper.ts | 2 +- packages/app/src/styles/types.ts | 1 + packages/app/src/ui/button/button.tsx | 1 + packages/app/src/ui/button/styles.ts | 1 + packages/app/src/ui/button/text-button.tsx | 1 + packages/app/src/ui/popper/Popper.tsx | 2 ++ packages/app/src/utils/get-is-mobile.ts | 1 + 22 files changed, 47 insertions(+), 23 deletions(-) diff --git a/packages/app/src/components/editor-mode-switch/style.ts b/packages/app/src/components/editor-mode-switch/style.ts index d785c2773d..d17f65bd19 100644 --- a/packages/app/src/components/editor-mode-switch/style.ts +++ b/packages/app/src/components/editor-mode-switch/style.ts @@ -1,4 +1,5 @@ import { displayFlex, keyframes, styled } from '@/styles'; +// eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore import spring, { toString } from 'css-spring'; import type { ItemStatus } from './type'; diff --git a/packages/app/src/components/header/header-right-items/theme-mode-switch/style.ts b/packages/app/src/components/header/header-right-items/theme-mode-switch/style.ts index 7f90930e67..59d82211e8 100644 --- a/packages/app/src/components/header/header-right-items/theme-mode-switch/style.ts +++ b/packages/app/src/components/header/header-right-items/theme-mode-switch/style.ts @@ -1,5 +1,6 @@ import { displayFlex, keyframes, styled } from '@/styles'; import { CSSProperties } from 'react'; +// eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore import spring, { toString } from 'css-spring'; diff --git a/packages/app/src/components/invite-members/index.tsx b/packages/app/src/components/invite-members/index.tsx index 155192d61c..846631a684 100644 --- a/packages/app/src/components/invite-members/index.tsx +++ b/packages/app/src/components/invite-members/index.tsx @@ -20,7 +20,7 @@ export const debounce = any>( ): ((...args: any) => any) => { let timeoutId: null | number; let defaultImmediate = immediate || false; - let delay = time || 300; + const delay = time || 300; return (...args: any) => { if (defaultImmediate) { fn.apply(this, args); // 确保引用函数的指向正确,并且函数的参数也不变 @@ -30,6 +30,7 @@ export const debounce = any>( if (timeoutId) { clearTimeout(timeoutId); } + // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore timeoutId = setTimeout(() => { fn.apply(this, args); diff --git a/packages/app/src/components/simple-counter/index.ts b/packages/app/src/components/simple-counter/index.ts index 8b7f8cbe96..3ca589fa6d 100644 --- a/packages/app/src/components/simple-counter/index.ts +++ b/packages/app/src/components/simple-counter/index.ts @@ -6,6 +6,7 @@ export const tagName = 'simple-counter'; // Adapt React in order to be able to use custom tags properly declare global { + // eslint-disable-next-line @typescript-eslint/no-namespace namespace JSX { interface IntrinsicElements { [tagName]: PersonInfoProps; diff --git a/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceItem/CreateWorkspaceItem/workspace-create/workspace-create.tsx b/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceItem/CreateWorkspaceItem/workspace-create/workspace-create.tsx index 533288e21a..44afbdfea9 100644 --- a/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceItem/CreateWorkspaceItem/workspace-create/workspace-create.tsx +++ b/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceItem/CreateWorkspaceItem/workspace-create/workspace-create.tsx @@ -71,6 +71,7 @@ export const WorkspaceCreate = ({ open, onClose }: WorkspaceCreateProps) => { const blobId = await createDefaultHeadImg(workspaceName); createWorkspace({ name: workspaceName, avatar: `/api/blob/${blobId}` }) .then(data => { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore router.push(`/workspace/${data.created_at}`); onClose(); diff --git a/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceItem/PrivateWorkspaceItem.tsx b/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceItem/PrivateWorkspaceItem.tsx index cd5fcf492b..a816c3791a 100644 --- a/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceItem/PrivateWorkspaceItem.tsx +++ b/packages/app/src/components/workspace-slider-bar/WorkspaceSelector/WorkspaceItem/PrivateWorkspaceItem.tsx @@ -8,19 +8,21 @@ import { export const PrivateWorkspaceItem = () => { const { user } = useAppState(); - // @ts-ignore - const Username = user.name; - return !user ? null : ( - - - {Username} - - - {Username} - {user.email} - - - ); + if (user) { + const Username = user.name; + return ( + + + {Username} + + + {Username} + {user.email} + + + ); + } + return null; }; const Name = styled('div')(({ theme }) => { diff --git a/packages/app/src/pages/_app.tsx b/packages/app/src/pages/_app.tsx index 3a97286822..9446954124 100644 --- a/packages/app/src/pages/_app.tsx +++ b/packages/app/src/pages/_app.tsx @@ -14,14 +14,17 @@ import { AppStateProvider } from '@/providers/app-state-provider/provider'; import ConfirmProvider from '@/providers/confirm-provider'; import { ModalProvider } from '@/providers/global-modal-provider'; import { useRouter } from 'next/router'; -import { useEffect, useState } from 'react'; +import { useEffect } from 'react'; import { useAppState } from '@/providers/app-state-provider'; import { PageLoading } from '@/components/loading'; const ThemeProvider = dynamic(() => import('@/providers/themeProvider'), { ssr: false, }); -export type NextPageWithLayout

= NextPage & { +export type NextPageWithLayout

, IP = P> = NextPage< + P, + IP +> & { getLayout?: (page: ReactElement) => ReactNode; }; diff --git a/packages/app/src/providers/app-state-provider/context.ts b/packages/app/src/providers/app-state-provider/context.ts index 65c9fc842e..6b56cd2819 100644 --- a/packages/app/src/providers/app-state-provider/context.ts +++ b/packages/app/src/providers/app-state-provider/context.ts @@ -48,6 +48,7 @@ export const AppState = createContext({ editor: null, + // eslint-disable-next-line @typescript-eslint/no-empty-function setState: () => {}, createEditor: undefined, setEditor: undefined, diff --git a/packages/app/src/providers/app-state-provider/dynamic-blocksuite.tsx b/packages/app/src/providers/app-state-provider/dynamic-blocksuite.tsx index a012a00576..70442dd282 100644 --- a/packages/app/src/providers/app-state-provider/dynamic-blocksuite.tsx +++ b/packages/app/src/providers/app-state-provider/dynamic-blocksuite.tsx @@ -49,6 +49,7 @@ const DynamicBlocksuite = ({ workspaceId: string, websocket = false ) => + // eslint-disable-next-line no-async-promise-executor new Promise(async resolve => { const workspace = new Workspace({ room: workspaceId, @@ -79,6 +80,7 @@ const DynamicBlocksuite = ({ // FIXME: there needs some method to destroy websocket. // Or we need a manager to manage websocket. + // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-expect-error workspace.__ws__ = ws; } @@ -87,7 +89,7 @@ const DynamicBlocksuite = ({ p => p instanceof IndexedDBDocProvider ); if (indexDBProvider) { - (indexDBProvider as IndexedDBDocProvider)?.on('synced', async () => { + (indexDBProvider as IndexedDBDocProvider).on('synced', async () => { // const updates = await downloadWorkspace({ workspaceId }); // updates && // Workspace.Y.applyUpdate(workspace.doc, new Uint8Array(updates)); diff --git a/packages/app/src/providers/app-state-provider/interface.ts b/packages/app/src/providers/app-state-provider/interface.ts index 078eebbf1a..19b028703d 100644 --- a/packages/app/src/providers/app-state-provider/interface.ts +++ b/packages/app/src/providers/app-state-provider/interface.ts @@ -1,4 +1,3 @@ -import { EditorContainer } from '@blocksuite/editor'; import { PageMeta as OriginalPageMeta } from '@blocksuite/store/dist/workspace/workspace'; // export type PageMeta = { @@ -14,6 +13,5 @@ export interface PageMeta extends OriginalPageMeta { trash: boolean; trashDate: number; updatedDate: number; - // @ts-ignore mode: 'edgeless' | 'page'; } diff --git a/packages/app/src/providers/app-state-provider/provider.tsx b/packages/app/src/providers/app-state-provider/provider.tsx index 8e8ff28c79..fef838ffd1 100644 --- a/packages/app/src/providers/app-state-provider/provider.tsx +++ b/packages/app/src/providers/app-state-provider/provider.tsx @@ -61,10 +61,12 @@ export const AppStateProvider = ({ children }: { children?: ReactNode }) => { const workspace = (await loadWorkspaceHandler?.(workspaceId, true)) || null; + // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-expect-error window.workspace = workspace; // FIXME: there needs some method to destroy websocket. // Or we need a manager to manage websocket. + // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-expect-error state.currentWorkspace?.__ws__?.destroy(); diff --git a/packages/app/src/providers/app-state-provider/y-websocket.js b/packages/app/src/providers/app-state-provider/y-websocket.js index 922b594f2d..09004a51d1 100644 --- a/packages/app/src/providers/app-state-provider/y-websocket.js +++ b/packages/app/src/providers/app-state-provider/y-websocket.js @@ -1,3 +1,4 @@ +/* eslint-disable no-undef */ /** * @module provider/websocket */ diff --git a/packages/app/src/providers/confirm-provider.tsx b/packages/app/src/providers/confirm-provider.tsx index 6f8a2049c3..116c047ee7 100644 --- a/packages/app/src/providers/confirm-provider.tsx +++ b/packages/app/src/providers/confirm-provider.tsx @@ -5,7 +5,7 @@ import { Confirm, ConfirmProps } from '@/ui/confirm'; type ConfirmContextValue = { confirm: (props: ConfirmProps) => Promise; }; -type ConfirmContextProps = PropsWithChildren<{}>; +type ConfirmContextProps = PropsWithChildren>; export const ConfirmContext = createContext({ confirm: () => Promise.resolve(false), diff --git a/packages/app/src/providers/global-modal-provider.tsx b/packages/app/src/providers/global-modal-provider.tsx index 618152dea9..06cc894e23 100644 --- a/packages/app/src/providers/global-modal-provider.tsx +++ b/packages/app/src/providers/global-modal-provider.tsx @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/no-empty-function */ import { createContext, useContext, useEffect, useState } from 'react'; import type { PropsWithChildren } from 'react'; import ShortcutsModal from '@/components/shortcuts-modal'; @@ -13,7 +14,7 @@ type ModalContextValue = { triggerImportModal: () => void; triggerLoginModal: () => void; }; -type ModalContextProps = PropsWithChildren<{}>; +type ModalContextProps = PropsWithChildren>; type ModalMap = { contact: boolean; shortcuts: boolean; @@ -50,6 +51,7 @@ export const ModalProvider = ({ }); }; useEffect(() => { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore window.triggerHandler = () => triggerHandler('login'); }, [triggerHandler]); diff --git a/packages/app/src/providers/themeProvider.tsx b/packages/app/src/providers/themeProvider.tsx index 15185e8f79..9facac4dbb 100644 --- a/packages/app/src/providers/themeProvider.tsx +++ b/packages/app/src/providers/themeProvider.tsx @@ -25,6 +25,7 @@ import useCurrentPageMeta from '@/hooks/use-current-page-meta'; export const ThemeContext = createContext({ mode: 'light', + // eslint-disable-next-line @typescript-eslint/no-empty-function changeMode: () => {}, theme: getLightTheme('page'), }); @@ -98,7 +99,7 @@ export const ThemeProvider = ({ diff --git a/packages/app/src/styles/helper.ts b/packages/app/src/styles/helper.ts index 2aa84d4bb7..436fa250f5 100644 --- a/packages/app/src/styles/helper.ts +++ b/packages/app/src/styles/helper.ts @@ -100,7 +100,7 @@ export const fixedCenter = ({ }; }; -export const textEllipsis = (lineNum: number = 1): CSSProperties => { +export const textEllipsis = (lineNum = 1): CSSProperties => { if (lineNum > 1) { return { display: '-webkit-box', diff --git a/packages/app/src/styles/types.ts b/packages/app/src/styles/types.ts index 091fef98a1..30b7f9f70c 100644 --- a/packages/app/src/styles/types.ts +++ b/packages/app/src/styles/types.ts @@ -129,5 +129,6 @@ export interface AffineThemeCSSVariables { } declare module '@emotion/react' { + // eslint-disable-next-line @typescript-eslint/no-empty-interface export interface Theme extends AffineTheme {} } diff --git a/packages/app/src/ui/button/button.tsx b/packages/app/src/ui/button/button.tsx index 2f961724c7..2157fd3256 100644 --- a/packages/app/src/ui/button/button.tsx +++ b/packages/app/src/ui/button/button.tsx @@ -40,6 +40,7 @@ export const Button = forwardRef( hoverBackground={hoverBackground} hoverColor={hoverColor} hoverStyle={hoverStyle} + // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore type={type} bold={bold} diff --git a/packages/app/src/ui/button/styles.ts b/packages/app/src/ui/button/styles.ts index 7cd236b50d..503261a1be 100644 --- a/packages/app/src/ui/button/styles.ts +++ b/packages/app/src/ui/button/styles.ts @@ -202,6 +202,7 @@ export const StyledButton = styled('button', { '>span': { marginLeft: '5px', }, + // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore ...getButtonColors(theme, type, { hoverBackground, diff --git a/packages/app/src/ui/button/text-button.tsx b/packages/app/src/ui/button/text-button.tsx index 7673ea13b7..50068ec8be 100644 --- a/packages/app/src/ui/button/text-button.tsx +++ b/packages/app/src/ui/button/text-button.tsx @@ -32,6 +32,7 @@ export const TextButton = forwardRef( hoverBackground={hoverBackground} hoverColor={hoverColor} hoverStyle={hoverStyle} + // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore type={type} bold={bold} diff --git a/packages/app/src/ui/popper/Popper.tsx b/packages/app/src/ui/popper/Popper.tsx index e71b9f41c3..97987d9c0a 100644 --- a/packages/app/src/ui/popper/Popper.tsx +++ b/packages/app/src/ui/popper/Popper.tsx @@ -108,6 +108,7 @@ export const Popper = ({ onClick: (e: MouseEvent) => { children.props.onClick?.(e); if (!hasClickTrigger || visibleControlledByParent) { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore onClick?.(e); return; @@ -151,6 +152,7 @@ export const Popper = ({ className={popoverClassName} > {showArrow && ( + // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore )} diff --git a/packages/app/src/utils/get-is-mobile.ts b/packages/app/src/utils/get-is-mobile.ts index b3a66796fe..4399da501b 100644 --- a/packages/app/src/utils/get-is-mobile.ts +++ b/packages/app/src/utils/get-is-mobile.ts @@ -1,3 +1,4 @@ +/* eslint-disable no-useless-escape */ // Inspire by https://stackoverflow.com/a/11381730/8415727 export function isMobile(userAgent: string) { return !!(