From edd8f347bcfcff57ae72a09734795bc31a85dd6b Mon Sep 17 00:00:00 2001 From: Himself65 Date: Mon, 20 Feb 2023 23:15:40 -0600 Subject: [PATCH] chore(desktop): simplify code (#1146) --- apps/desktop/package.json | 3 +- apps/desktop/scripts/buildAffine.mjs | 6 -- apps/desktop/scripts/buildSubModules.mjs | 18 ----- .../generateTsTypingsFromJsonSchema.mjs | 6 -- apps/desktop/src-tauri/tauri.conf.json | 2 +- .../enable-workspace-modal/index.tsx | 80 ------------------- .../enable-workspace-modal/style.ts | 39 --------- .../src/preload/components/icons/index.tsx | 27 ------- apps/desktop/src/preload/index.ts | 8 +- apps/desktop/src/preload/type.ts | 4 +- apps/web/src/types.ts | 4 +- apps/web/src/utils/print-build-info.ts | 19 +++-- tests/console.spec.ts | 5 +- 13 files changed, 30 insertions(+), 191 deletions(-) delete mode 100644 apps/desktop/scripts/buildSubModules.mjs delete mode 100644 apps/desktop/src/preload/components/enable-workspace-modal/index.tsx delete mode 100644 apps/desktop/src/preload/components/enable-workspace-modal/style.ts delete mode 100644 apps/desktop/src/preload/components/icons/index.tsx diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 55c0601b11..e2528bd7dd 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -7,9 +7,8 @@ "module": "true", "scripts": { "dev:app": "cross-env NODE_ENV=development tauri dev", - "dev:prerequisite": "cd ../../ && pnpm build && concurrently \"cd packages/data-center && pnpm dev\" \"cd apps/web && pnpm dev\"", + "dev:web": "pnpm --filter @affine/app dev", "build:rs-types": "zx scripts/generateTsTypingsFromJsonSchema.mjs", - "build:submodules": "zx scripts/buildSubModules.mjs", "build:affine": "zx scripts/buildAffine.mjs", "build:preload": "esbuild src/preload/index.ts --outdir=public/preload", "build:app": "tauri build" diff --git a/apps/desktop/scripts/buildAffine.mjs b/apps/desktop/scripts/buildAffine.mjs index 95b52241f3..90e51a1bdd 100644 --- a/apps/desktop/scripts/buildAffine.mjs +++ b/apps/desktop/scripts/buildAffine.mjs @@ -1,9 +1,3 @@ -/* eslint-disable @typescript-eslint/no-unsafe-return */ -/* eslint-disable @typescript-eslint/no-unsafe-argument */ -/* eslint-disable @typescript-eslint/restrict-template-expressions */ -/* eslint-disable @typescript-eslint/no-unsafe-member-access */ -/* eslint-disable @typescript-eslint/no-unsafe-call */ -/* eslint-disable @typescript-eslint/no-unsafe-assignment */ const repoDirectory = path.join(__dirname, '..', '..', '..'); const clientAppDirectory = path.join(__dirname, '..'); const publicDistributionDirectory = path.join(clientAppDirectory, 'public'); diff --git a/apps/desktop/scripts/buildSubModules.mjs b/apps/desktop/scripts/buildSubModules.mjs deleted file mode 100644 index 7edb08b986..0000000000 --- a/apps/desktop/scripts/buildSubModules.mjs +++ /dev/null @@ -1,18 +0,0 @@ -/* eslint-disable @typescript-eslint/no-unsafe-return */ -/* eslint-disable @typescript-eslint/no-unsafe-argument */ -/* eslint-disable @typescript-eslint/restrict-template-expressions */ -/* eslint-disable @typescript-eslint/no-unsafe-member-access */ -/* eslint-disable @typescript-eslint/no-unsafe-call */ -/* eslint-disable @typescript-eslint/no-unsafe-assignment */ -const repoDirectory = path.join(__dirname, '..'); -const publicDistributionDirectory = path.join(repoDirectory, 'public'); - -const octoBaseBranchName = 'master'; -/** - * 1. Until OctoBase become public, we link it using submodule too. - */ -cd(`${path.join(repoDirectory, 'src-OctoBase')}`); -await $`git checkout ${octoBaseBranchName}`; -await $`git submodule update --recursive && git submodule update --remote`; -await $`git pull origin ${octoBaseBranchName}`; -await $`git reset --hard origin/${octoBaseBranchName}`; diff --git a/apps/desktop/scripts/generateTsTypingsFromJsonSchema.mjs b/apps/desktop/scripts/generateTsTypingsFromJsonSchema.mjs index a524e9b2da..b1452013ef 100644 --- a/apps/desktop/scripts/generateTsTypingsFromJsonSchema.mjs +++ b/apps/desktop/scripts/generateTsTypingsFromJsonSchema.mjs @@ -1,9 +1,3 @@ -/* eslint-disable @typescript-eslint/no-unsafe-return */ -/* eslint-disable @typescript-eslint/no-unsafe-argument */ -/* eslint-disable @typescript-eslint/restrict-template-expressions */ -/* eslint-disable @typescript-eslint/no-unsafe-member-access */ -/* eslint-disable @typescript-eslint/no-unsafe-call */ -/* eslint-disable @typescript-eslint/no-unsafe-assignment */ import fs from 'fs'; import path from 'path'; // TODO: use https://github.com/quicktype/quicktype#installation instead diff --git a/apps/desktop/src-tauri/tauri.conf.json b/apps/desktop/src-tauri/tauri.conf.json index 3521fbd1c7..5f91121a81 100644 --- a/apps/desktop/src-tauri/tauri.conf.json +++ b/apps/desktop/src-tauri/tauri.conf.json @@ -1,6 +1,6 @@ { "build": { - "beforeDevCommand": "pnpm build:preload && pnpm dev:prerequisite", + "beforeDevCommand": "pnpm dev:web", "beforeBuildCommand": "pnpm build:preload && pnpm build:affine", "devPath": "http://localhost:8080", "distDir": "../public", diff --git a/apps/desktop/src/preload/components/enable-workspace-modal/index.tsx b/apps/desktop/src/preload/components/enable-workspace-modal/index.tsx deleted file mode 100644 index a7ac6abf15..0000000000 --- a/apps/desktop/src/preload/components/enable-workspace-modal/index.tsx +++ /dev/null @@ -1,80 +0,0 @@ -import { Modal, ModalWrapper } from '@affine/component'; -import { IconButton } from '@affine/component'; -import { toast } from '@affine/component'; -import { useTranslation } from '@affine/i18n'; -import { useDataCenter } from '@affine/store'; -import { useGlobalState } from '@affine/store'; -import { CloseIcon } from '@blocksuite/icons'; -import router from 'next/router'; -import { useCallback, useState } from 'react'; - -import { Content, ContentTitle, Header, StyleButton, StyleTips } from './style'; -interface EnableWorkspaceModalProps { - open: boolean; - onClose: () => void; -} - -export const EnableWorkspaceModal = ({ - open, - onClose, -}: EnableWorkspaceModalProps) => { - const { t } = useTranslation(); - const login = useGlobalState(store => store.login); - const user = useGlobalState(store => store.user); - const dataCenter = useDataCenter(); - const currentWorkspace = useGlobalState( - useCallback(store => store.currentDataCenterWorkspace, []) - ); - const [loading, setLoading] = useState(false); - return ( - - -
- { - onClose(); - }} - > - - -
- - {t('Enable AFFiNE Cloud')}? - {t('Enable AFFiNE Cloud Description')} - {/* {t('Retain local cached data')} */} -
- { - setLoading(true); - if (!user) { - await login(); - } - if (currentWorkspace) { - const workspace = await dataCenter.enableWorkspaceCloud( - currentWorkspace - ); - workspace && - router.push(`/workspace/${workspace.id}/setting`); - toast(t('Enabled success')); - } - }} - > - {user ? t('Enable') : t('Sign in and Enable')} - - { - onClose(); - }} - > - {t('Not now')} - -
-
-
-
- ); -}; diff --git a/apps/desktop/src/preload/components/enable-workspace-modal/style.ts b/apps/desktop/src/preload/components/enable-workspace-modal/style.ts deleted file mode 100644 index a805225792..0000000000 --- a/apps/desktop/src/preload/components/enable-workspace-modal/style.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { Button, styled } from '@affine/component'; - -export const Header = styled('div')({ - height: '44px', - display: 'flex', - flexDirection: 'row-reverse', - paddingRight: '10px', - paddingTop: '10px', -}); - -export const Content = styled('div')({ - textAlign: 'center', -}); - -export const ContentTitle = styled('h1')({ - fontSize: '20px', - lineHeight: '28px', - fontWeight: 600, - textAlign: 'center', -}); - -export const StyleTips = styled('div')(() => { - return { - userSelect: 'none', - width: '400px', - margin: 'auto', - marginBottom: '32px', - marginTop: '12px', - }; -}); - -export const StyleButton = styled(Button)(() => { - return { - width: '284px', - display: 'block', - margin: 'auto', - marginTop: '16px', - }; -}); diff --git a/apps/desktop/src/preload/components/icons/index.tsx b/apps/desktop/src/preload/components/icons/index.tsx deleted file mode 100644 index 29b5aad57f..0000000000 --- a/apps/desktop/src/preload/components/icons/index.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import { - CloudWorkspaceIcon as DefaultCloudWorkspaceIcon, - JoinedWorkspaceIcon as DefaultJoinedWorkspaceIcon, - LocalDataIcon as DefaultLocalDataIcon, - LocalWorkspaceIcon as DefaultLocalWorkspaceIcon, - PublishIcon as DefaultPublishIcon, -} from '@blocksuite/icons'; -// Here are some icons with special color or size - -export const JoinedWorkspaceIcon = () => { - return ; -}; -export const LocalWorkspaceIcon = () => { - return ; -}; - -export const CloudWorkspaceIcon = () => { - return ; -}; - -export const LocalDataIcon = () => { - return ; -}; - -export const PublishIcon = () => { - return ; -}; diff --git a/apps/desktop/src/preload/index.ts b/apps/desktop/src/preload/index.ts index 31202e1006..6ac4908c4a 100644 --- a/apps/desktop/src/preload/index.ts +++ b/apps/desktop/src/preload/index.ts @@ -1,4 +1,8 @@ -/* eslint-disable @typescript-eslint/ban-ts-comment */ +declare global { + interface Window { + __TAURI_ISOLATION_HOOK_: (payload: any) => any; + } +} // tauri preload script can't have `export {}` // @ts-ignore 'index.ts' cannot be compiled under '--isolatedModules' because it is considered a global script file. Add an import, export, or an empty 'export {}' statement to make it a module.ts(1208) @@ -16,3 +20,5 @@ function setEnvironmentVariables() { } setEnvironmentVariables(); + +export {}; diff --git a/apps/desktop/src/preload/type.ts b/apps/desktop/src/preload/type.ts index 9e71ac5b62..fc17ded153 100644 --- a/apps/desktop/src/preload/type.ts +++ b/apps/desktop/src/preload/type.ts @@ -1,7 +1,9 @@ declare global { + // eslint-disable-next-line no-var + var __editoVersion: unknown; + interface Window { CLIENT_APP?: boolean; - __editoVersion?: string; } } diff --git a/apps/web/src/types.ts b/apps/web/src/types.ts index 9e71ac5b62..fc17ded153 100644 --- a/apps/web/src/types.ts +++ b/apps/web/src/types.ts @@ -1,7 +1,9 @@ declare global { + // eslint-disable-next-line no-var + var __editoVersion: unknown; + interface Window { CLIENT_APP?: boolean; - __editoVersion?: string; } } diff --git a/apps/web/src/utils/print-build-info.ts b/apps/web/src/utils/print-build-info.ts index ff427844be..59038fa705 100644 --- a/apps/web/src/utils/print-build-info.ts +++ b/apps/web/src/utils/print-build-info.ts @@ -43,11 +43,18 @@ const printBuildInfo = () => { }; function setWindowEditorVersion() { - // when it is not SSR - if (typeof window !== 'undefined') { - window.__editoVersion = publicRuntimeConfig.EDITOR_VERSION; - } + globalThis.__editoVersion = publicRuntimeConfig.EDITOR_VERSION; } -printBuildInfo(); -setWindowEditorVersion(); + +declare global { + // eslint-disable-next-line no-var + var __affineSetupEnv: boolean | undefined; +} + +if (!globalThis.__affineSetupEnv) { + printBuildInfo(); + setWindowEditorVersion(); + globalThis.__affineSetupEnv = true; +} + export {}; diff --git a/tests/console.spec.ts b/tests/console.spec.ts index b0cf7b9a4f..dbb7012fda 100644 --- a/tests/console.spec.ts +++ b/tests/console.spec.ts @@ -11,9 +11,8 @@ const temp = JSON.parse(record); loadPage(); declare global { - interface Window { - __editoVersion: unknown; - } + // eslint-disable-next-line no-var + var __editoVersion: unknown; } test.describe('web console', () => {