From 00980077c4b0a9831155a079f818e675b2038173 Mon Sep 17 00:00:00 2001 From: liuyi Date: Thu, 26 Dec 2024 19:08:42 +0800 Subject: [PATCH] chore: standardize package references (#9346) --- .github/workflows/build-test.yml | 4 +-- docs/building-desktop-client-app.md | 2 +- packages/common/infra/package.json | 2 -- packages/common/infra/src/blocksuite/index.ts | 1 - packages/common/infra/src/index.ts | 1 - .../apps/electron-renderer/package.json | 30 ++++++++++++++++ .../src}/app.css.ts | 0 .../src}/app.tsx | 0 .../src}/global.css | 0 .../src}/index.tsx | 2 +- .../src}/setup.ts | 0 .../src}/shell/app.css.ts | 0 .../src}/shell/app.tsx | 0 .../src}/shell/index.tsx | 0 .../src}/shell/setup.ts | 0 .../src}/theme-sync.ts | 0 .../apps/electron-renderer/tsconfig.json | 17 ++++++++++ .../apps/electron-renderer/tsconfig.test.json | 21 ++++++++++++ .../apps/electron-renderer/webpack.config.ts | 6 ++++ packages/frontend/apps/electron/package.json | 11 ------ .../apps/electron/renderer/tsconfig.json | 30 ---------------- .../apps/electron/scripts/generate-assets.ts | 3 +- .../blocks/ai-chat-block/ai-chat-model.ts | 2 +- .../blocksuite/blocks/ai-chat-block/consts.ts | 0 .../blocksuite/blocks/ai-chat-block/index.ts | 0 .../blocksuite/blocks/ai-chat-block/types.ts | 0 .../core}/src/blocksuite/blocks/index.ts | 0 .../presets/ai/_common/chat-actions-handle.ts | 2 +- .../presets/ai/actions/edgeless-handler.ts | 2 +- .../presets/ai/peek-view/chat-block-input.ts | 2 +- .../ai/peek-view/chat-block-peek-view.ts | 10 +++--- .../blocksuite/presets/ai/peek-view/types.ts | 3 +- .../blocksuite/presets/ai/peek-view/utils.ts | 3 +- .../blocks/ai-chat-block/ai-chat-block.ts | 5 +-- .../components/ai-chat-messages.ts | 10 +++--- .../ai-chat-block/components/user-info.ts | 2 +- .../specs/custom/spec-patchers.tsx | 7 ++-- .../modules/peek-view/entities/peek-view.ts | 2 +- .../src/modules/workspace/global-schema.ts | 3 +- tools/cli/src/bundle.ts | 2 +- tools/utils/src/distribution.ts | 5 +-- tools/utils/src/workspace.gen.ts | 16 ++++++--- tsconfig.json | 6 ++-- tsconfig.project.json | 1 + yarn.lock | 34 +++++++++++++------ 45 files changed, 146 insertions(+), 101 deletions(-) delete mode 100644 packages/common/infra/src/blocksuite/index.ts create mode 100644 packages/frontend/apps/electron-renderer/package.json rename packages/frontend/apps/{electron/renderer => electron-renderer/src}/app.css.ts (100%) rename packages/frontend/apps/{electron/renderer => electron-renderer/src}/app.tsx (100%) rename packages/frontend/apps/{electron/renderer => electron-renderer/src}/global.css (100%) rename packages/frontend/apps/{electron/renderer => electron-renderer/src}/index.tsx (90%) rename packages/frontend/apps/{electron/renderer => electron-renderer/src}/setup.ts (100%) rename packages/frontend/apps/{electron/renderer => electron-renderer/src}/shell/app.css.ts (100%) rename packages/frontend/apps/{electron/renderer => electron-renderer/src}/shell/app.tsx (100%) rename packages/frontend/apps/{electron/renderer => electron-renderer/src}/shell/index.tsx (100%) rename packages/frontend/apps/{electron/renderer => electron-renderer/src}/shell/setup.ts (100%) rename packages/frontend/apps/{electron/renderer => electron-renderer/src}/theme-sync.ts (100%) create mode 100644 packages/frontend/apps/electron-renderer/tsconfig.json create mode 100644 packages/frontend/apps/electron-renderer/tsconfig.test.json create mode 100644 packages/frontend/apps/electron-renderer/webpack.config.ts delete mode 100644 packages/frontend/apps/electron/renderer/tsconfig.json rename packages/{common/infra => frontend/core}/src/blocksuite/blocks/ai-chat-block/ai-chat-model.ts (94%) rename packages/{common/infra => frontend/core}/src/blocksuite/blocks/ai-chat-block/consts.ts (100%) rename packages/{common/infra => frontend/core}/src/blocksuite/blocks/ai-chat-block/index.ts (100%) rename packages/{common/infra => frontend/core}/src/blocksuite/blocks/ai-chat-block/types.ts (100%) rename packages/{common/infra => frontend/core}/src/blocksuite/blocks/index.ts (100%) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 30ca8bc526..25f5253a63 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -315,11 +315,11 @@ jobs: electron-install: false full-cache: true - name: Build Electron renderer - run: yarn affine @affine/electron bundle + run: yarn affine @affine/electron-renderer build env: DISTRIBUTION: desktop - name: zip web - run: tar -czf dist.tar.gz --directory=packages/frontend/apps/electron/renderer/dist . + run: tar -czf dist.tar.gz --directory=packages/frontend/apps/electron-renderer/dist . - name: Upload web artifact uses: actions/upload-artifact@v4 with: diff --git a/docs/building-desktop-client-app.md b/docs/building-desktop-client-app.md index c73f3ec3f7..81b68db7b4 100644 --- a/docs/building-desktop-client-app.md +++ b/docs/building-desktop-client-app.md @@ -18,7 +18,7 @@ Building the desktop client app for the moment is a bit more complicated than bu 1. `packages/frontend/core`: the web app 2. `packages/frontend/native`: the native modules written in Rust (mostly the sqlite bindings) -3. `packages/frontend/electron`: the Electron app (containing main & helper process, and the electron entry point in `packages/frontend/electron/renderer`) +3. `packages/frontend/electron`: the Electron app (containing main & helper process, and the electron entry point in `packages/frontend/electron-renderer`) #3 is dependent on #1 and #2, and relies on electron-forge to make the final app & installer. To get a deep understanding of how the desktop client app is built, you may want to read the workflow file in [release-desktop.yml](/.github/workflows/release-desktop.yml). diff --git a/packages/common/infra/package.json b/packages/common/infra/package.json index 24f33a8df5..9f4b8e0c88 100644 --- a/packages/common/infra/package.json +++ b/packages/common/infra/package.json @@ -4,7 +4,6 @@ "private": true, "sideEffects": false, "exports": { - "./blocksuite": "./src/blocksuite/index.ts", "./storage": "./src/storage/index.ts", "./utils": "./src/utils/index.ts", "./app-config-storage": "./src/app-config-storage.ts", @@ -15,7 +14,6 @@ "@affine/debug": "workspace:*", "@affine/env": "workspace:*", "@affine/templates": "workspace:*", - "@blocksuite/affine": "workspace:*", "@datastructures-js/binary-search-tree": "^5.3.2", "eventemitter2": "^6.4.9", "foxact": "^0.2.43", diff --git a/packages/common/infra/src/blocksuite/index.ts b/packages/common/infra/src/blocksuite/index.ts deleted file mode 100644 index 91bf7d9c74..0000000000 --- a/packages/common/infra/src/blocksuite/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './blocks'; diff --git a/packages/common/infra/src/index.ts b/packages/common/infra/src/index.ts index 0b783016e0..79d9f035f1 100644 --- a/packages/common/infra/src/index.ts +++ b/packages/common/infra/src/index.ts @@ -1,6 +1,5 @@ export * from './app-config-storage'; export * from './atom'; -export * from './blocksuite'; export * from './framework'; export * from './initialization'; export * from './livedata'; diff --git a/packages/frontend/apps/electron-renderer/package.json b/packages/frontend/apps/electron-renderer/package.json new file mode 100644 index 0000000000..ef3f8679a1 --- /dev/null +++ b/packages/frontend/apps/electron-renderer/package.json @@ -0,0 +1,30 @@ +{ + "name": "@affine/electron-renderer", + "private": true, + "version": "0.18.0", + "type": "module", + "scripts": { + "build": "affine bundle", + "dev": "affine bundle --dev" + }, + "dependencies": { + "@affine/component": "workspace:*", + "@affine/core": "workspace:*", + "@affine/electron-api": "workspace:*", + "@affine/i18n": "workspace:*", + "@emotion/react": "^11.14.0", + "@sentry/react": "^8.44.0", + "@vanilla-extract/css": "^1.16.1", + "next-themes": "^0.4.4", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-router-dom": "^6.28.0" + }, + "devDependencies": { + "@affine-tools/utils": "workspace:*", + "@types/react": "^19.0.1", + "@types/react-dom": "^19.0.2", + "cross-env": "^7.0.3", + "typescript": "^5.7.2" + } +} diff --git a/packages/frontend/apps/electron/renderer/app.css.ts b/packages/frontend/apps/electron-renderer/src/app.css.ts similarity index 100% rename from packages/frontend/apps/electron/renderer/app.css.ts rename to packages/frontend/apps/electron-renderer/src/app.css.ts diff --git a/packages/frontend/apps/electron/renderer/app.tsx b/packages/frontend/apps/electron-renderer/src/app.tsx similarity index 100% rename from packages/frontend/apps/electron/renderer/app.tsx rename to packages/frontend/apps/electron-renderer/src/app.tsx diff --git a/packages/frontend/apps/electron/renderer/global.css b/packages/frontend/apps/electron-renderer/src/global.css similarity index 100% rename from packages/frontend/apps/electron/renderer/global.css rename to packages/frontend/apps/electron-renderer/src/global.css diff --git a/packages/frontend/apps/electron/renderer/index.tsx b/packages/frontend/apps/electron-renderer/src/index.tsx similarity index 90% rename from packages/frontend/apps/electron/renderer/index.tsx rename to packages/frontend/apps/electron-renderer/src/index.tsx index 97303a93bc..a3230ed65b 100644 --- a/packages/frontend/apps/electron/renderer/index.tsx +++ b/packages/frontend/apps/electron-renderer/src/index.tsx @@ -17,7 +17,7 @@ function main() { } function mountApp() { - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + // oxlint-disable-next-line typescript-eslint/no-non-null-assertion const root = document.getElementById('app')!; createRoot(root).render( diff --git a/packages/frontend/apps/electron/renderer/setup.ts b/packages/frontend/apps/electron-renderer/src/setup.ts similarity index 100% rename from packages/frontend/apps/electron/renderer/setup.ts rename to packages/frontend/apps/electron-renderer/src/setup.ts diff --git a/packages/frontend/apps/electron/renderer/shell/app.css.ts b/packages/frontend/apps/electron-renderer/src/shell/app.css.ts similarity index 100% rename from packages/frontend/apps/electron/renderer/shell/app.css.ts rename to packages/frontend/apps/electron-renderer/src/shell/app.css.ts diff --git a/packages/frontend/apps/electron/renderer/shell/app.tsx b/packages/frontend/apps/electron-renderer/src/shell/app.tsx similarity index 100% rename from packages/frontend/apps/electron/renderer/shell/app.tsx rename to packages/frontend/apps/electron-renderer/src/shell/app.tsx diff --git a/packages/frontend/apps/electron/renderer/shell/index.tsx b/packages/frontend/apps/electron-renderer/src/shell/index.tsx similarity index 100% rename from packages/frontend/apps/electron/renderer/shell/index.tsx rename to packages/frontend/apps/electron-renderer/src/shell/index.tsx diff --git a/packages/frontend/apps/electron/renderer/shell/setup.ts b/packages/frontend/apps/electron-renderer/src/shell/setup.ts similarity index 100% rename from packages/frontend/apps/electron/renderer/shell/setup.ts rename to packages/frontend/apps/electron-renderer/src/shell/setup.ts diff --git a/packages/frontend/apps/electron/renderer/theme-sync.ts b/packages/frontend/apps/electron-renderer/src/theme-sync.ts similarity index 100% rename from packages/frontend/apps/electron/renderer/theme-sync.ts rename to packages/frontend/apps/electron-renderer/src/theme-sync.ts diff --git a/packages/frontend/apps/electron-renderer/tsconfig.json b/packages/frontend/apps/electron-renderer/tsconfig.json new file mode 100644 index 0000000000..250778f447 --- /dev/null +++ b/packages/frontend/apps/electron-renderer/tsconfig.json @@ -0,0 +1,17 @@ +{ + "extends": "../../../../tsconfig.json", + "compilerOptions": { + "composite": true, + "outDir": "lib", + "moduleResolution": "Bundler", + "types": ["affine__env"], + "rootDir": "./src" + }, + "include": ["./src"], + "references": [ + { "path": "../../core" }, + { + "path": "../../electron-api" + } + ] +} diff --git a/packages/frontend/apps/electron-renderer/tsconfig.test.json b/packages/frontend/apps/electron-renderer/tsconfig.test.json new file mode 100644 index 0000000000..316f9c4e98 --- /dev/null +++ b/packages/frontend/apps/electron-renderer/tsconfig.test.json @@ -0,0 +1,21 @@ +{ + "extends": "../../../../tsconfig.json", + "compilerOptions": { + "composite": true, + "target": "ESNext", + "module": "ESNext", + "resolveJsonModule": true, + "moduleResolution": "Node", + "allowSyntheticDefaultImports": true, + "noEmit": false, + "outDir": "./lib/tests", + "types": ["node", "affine__env"], + "allowJs": true + }, + "references": [ + { + "path": "./tsconfig.json" + } + ], + "include": ["./test"] +} diff --git a/packages/frontend/apps/electron-renderer/webpack.config.ts b/packages/frontend/apps/electron-renderer/webpack.config.ts new file mode 100644 index 0000000000..ed6471690c --- /dev/null +++ b/packages/frontend/apps/electron-renderer/webpack.config.ts @@ -0,0 +1,6 @@ +export const config = { + entry: { + app: './src/index.tsx', + shell: './src/shell/index.tsx', + }, +}; diff --git a/packages/frontend/apps/electron/package.json b/packages/frontend/apps/electron/package.json index 525dd44dd9..4278b9b772 100644 --- a/packages/frontend/apps/electron/package.json +++ b/packages/frontend/apps/electron/package.json @@ -16,7 +16,6 @@ "dev:prod": "node ./scripts/dev.ts", "build": "cross-env NODE_ENV=production node ./scripts/build-layers.ts", "build:dev": "node ./scripts/build-layers.ts", - "bundle": "affine bundle", "generate-assets": "node ./scripts/generate-assets.ts", "package": "electron-forge package", "make": "electron-forge make", @@ -26,13 +25,8 @@ "devDependencies": { "@affine-test/kit": "workspace:*", "@affine-tools/utils": "workspace:*", - "@affine/component": "workspace:*", - "@affine/core": "workspace:*", - "@affine/electron-api": "workspace:*", - "@affine/i18n": "workspace:*", "@affine/native": "workspace:*", "@affine/nbstore": "workspace:*", - "@blocksuite/affine": "workspace:*", "@electron-forge/cli": "^7.6.0", "@electron-forge/core": "^7.6.0", "@electron-forge/core-utils": "^7.6.0", @@ -43,7 +37,6 @@ "@electron-forge/maker-zip": "^7.6.0", "@electron-forge/plugin-auto-unpack-natives": "^7.6.0", "@electron-forge/shared-types": "^7.6.0", - "@emotion/react": "^11.14.0", "@pengx17/electron-forge-maker-appimage": "^1.2.1", "@sentry/electron": "^5.8.0", "@sentry/esbuild-plugin": "^2.22.7", @@ -51,7 +44,6 @@ "@toeverything/infra": "workspace:*", "@types/set-cookie-parser": "^2.4.10", "@types/uuid": "^10.0.0", - "@vanilla-extract/css": "^1.16.1", "@vitejs/plugin-react-swc": "^3.7.2", "app-builder-lib": "^25.1.8", "builder-util-runtime": "^9.2.10", @@ -67,9 +59,6 @@ "lodash-es": "^4.17.21", "msw": "^2.6.8", "nanoid": "^5.0.9", - "react": "^19.0.0", - "react-dom": "^19.0.0", - "react-router-dom": "^6.28.0", "rxjs": "^7.8.1", "semver": "^7.6.3", "tree-kill": "^1.2.2", diff --git a/packages/frontend/apps/electron/renderer/tsconfig.json b/packages/frontend/apps/electron/renderer/tsconfig.json deleted file mode 100644 index 3140c1eeb6..0000000000 --- a/packages/frontend/apps/electron/renderer/tsconfig.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "extends": "../../../../../tsconfig.json", - "compilerOptions": { - "composite": true, - "target": "ESNext", - "module": "ESNext", - "resolveJsonModule": true, - "moduleResolution": "Bundler", - "allowSyntheticDefaultImports": true, - "noEmit": false, - "outDir": "../lib", - "allowJs": true - }, - "references": [ - { - "path": "../../../../common/env" - }, - { - "path": "../../../core" - }, - { - "path": "../../../component" - }, - { - "path": "../../../../common/infra" - } - ], - "include": ["."], - "exclude": ["dist"] -} diff --git a/packages/frontend/apps/electron/scripts/generate-assets.ts b/packages/frontend/apps/electron/scripts/generate-assets.ts index f548798ccd..7f97c50244 100755 --- a/packages/frontend/apps/electron/scripts/generate-assets.ts +++ b/packages/frontend/apps/electron/scripts/generate-assets.ts @@ -17,8 +17,7 @@ const webDir = path.join( 'packages', 'frontend', 'apps', - 'electron', - 'renderer' + 'electron-renderer' ); const affineWebOutDir = path.join(webDir, 'dist'); const publicAffineOutDir = path.join(publicDistDir, `web-static`); diff --git a/packages/common/infra/src/blocksuite/blocks/ai-chat-block/ai-chat-model.ts b/packages/frontend/core/src/blocksuite/blocks/ai-chat-block/ai-chat-model.ts similarity index 94% rename from packages/common/infra/src/blocksuite/blocks/ai-chat-block/ai-chat-model.ts rename to packages/frontend/core/src/blocksuite/blocks/ai-chat-block/ai-chat-model.ts index b187650685..1f68dde46b 100644 --- a/packages/common/infra/src/blocksuite/blocks/ai-chat-block/ai-chat-model.ts +++ b/packages/frontend/core/src/blocksuite/blocks/ai-chat-block/ai-chat-model.ts @@ -36,7 +36,7 @@ export const AIChatBlockSchema = defineBlockSchema({ export class AIChatBlockModel extends GfxCompatible(BlockModel) {} declare global { - // eslint-disable-next-line @typescript-eslint/no-namespace + // oxlint-disable-next-line @typescript-eslint/no-namespace namespace BlockSuite { interface EdgelessBlockModelMap { 'affine:embed-ai-chat': AIChatBlockModel; diff --git a/packages/common/infra/src/blocksuite/blocks/ai-chat-block/consts.ts b/packages/frontend/core/src/blocksuite/blocks/ai-chat-block/consts.ts similarity index 100% rename from packages/common/infra/src/blocksuite/blocks/ai-chat-block/consts.ts rename to packages/frontend/core/src/blocksuite/blocks/ai-chat-block/consts.ts diff --git a/packages/common/infra/src/blocksuite/blocks/ai-chat-block/index.ts b/packages/frontend/core/src/blocksuite/blocks/ai-chat-block/index.ts similarity index 100% rename from packages/common/infra/src/blocksuite/blocks/ai-chat-block/index.ts rename to packages/frontend/core/src/blocksuite/blocks/ai-chat-block/index.ts diff --git a/packages/common/infra/src/blocksuite/blocks/ai-chat-block/types.ts b/packages/frontend/core/src/blocksuite/blocks/ai-chat-block/types.ts similarity index 100% rename from packages/common/infra/src/blocksuite/blocks/ai-chat-block/types.ts rename to packages/frontend/core/src/blocksuite/blocks/ai-chat-block/types.ts diff --git a/packages/common/infra/src/blocksuite/blocks/index.ts b/packages/frontend/core/src/blocksuite/blocks/index.ts similarity index 100% rename from packages/common/infra/src/blocksuite/blocks/index.ts rename to packages/frontend/core/src/blocksuite/blocks/index.ts diff --git a/packages/frontend/core/src/blocksuite/presets/ai/_common/chat-actions-handle.ts b/packages/frontend/core/src/blocksuite/presets/ai/_common/chat-actions-handle.ts index 34c1ecc553..cedaf2da53 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/_common/chat-actions-handle.ts +++ b/packages/frontend/core/src/blocksuite/presets/ai/_common/chat-actions-handle.ts @@ -25,9 +25,9 @@ import { type SerializedXYWH, } from '@blocksuite/affine/global/utils'; import type { Doc } from '@blocksuite/affine/store'; -import type { ChatMessage } from '@toeverything/infra/blocksuite'; import type { TemplateResult } from 'lit'; +import type { ChatMessage } from '../../../blocks'; import { insertFromMarkdown } from '../../_common'; import { AIProvider, type AIUserInfo } from '../provider'; import { reportResponse } from '../utils/action-reporter'; diff --git a/packages/frontend/core/src/blocksuite/presets/ai/actions/edgeless-handler.ts b/packages/frontend/core/src/blocksuite/presets/ai/actions/edgeless-handler.ts index 808d29f5e5..2ccce8790a 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/actions/edgeless-handler.ts +++ b/packages/frontend/core/src/blocksuite/presets/ai/actions/edgeless-handler.ts @@ -16,9 +16,9 @@ import { import { assertExists } from '@blocksuite/affine/global/utils'; import { Slice } from '@blocksuite/affine/store'; import { GfxControllerIdentifier } from '@blocksuite/block-std/gfx'; -import { AIChatBlockModel } from '@toeverything/infra'; import type { TemplateResult } from 'lit'; +import { AIChatBlockModel } from '../../../blocks'; import { getContentFromSlice } from '../../_common'; import { AIProvider } from '../provider'; import { reportResponse } from '../utils/action-reporter'; diff --git a/packages/frontend/core/src/blocksuite/presets/ai/peek-view/chat-block-input.ts b/packages/frontend/core/src/blocksuite/presets/ai/peek-view/chat-block-input.ts index 2ee2918464..5b1d73f462 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/peek-view/chat-block-input.ts +++ b/packages/frontend/core/src/blocksuite/presets/ai/peek-view/chat-block-input.ts @@ -1,11 +1,11 @@ import type { EditorHost } from '@blocksuite/affine/block-std'; import { type AIError, openFileOrFiles } from '@blocksuite/affine/blocks'; -import type { ChatMessage } from '@toeverything/infra'; import { css, html, LitElement, nothing } from 'lit'; import { property, query, state } from 'lit/decorators.js'; import { classMap } from 'lit/directives/class-map.js'; import { repeat } from 'lit/directives/repeat.js'; +import type { ChatMessage } from '../../../blocks'; import { ChatAbortIcon, ChatClearIcon, diff --git a/packages/frontend/core/src/blocksuite/presets/ai/peek-view/chat-block-peek-view.ts b/packages/frontend/core/src/blocksuite/presets/ai/peek-view/chat-block-peek-view.ts index d2e4ac2cc3..ad5d3d51a8 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/peek-view/chat-block-peek-view.ts +++ b/packages/frontend/core/src/blocksuite/presets/ai/peek-view/chat-block-peek-view.ts @@ -8,16 +8,16 @@ import { NotificationProvider, TelemetryProvider, } from '@blocksuite/affine/blocks'; -import { - type AIChatBlockModel, - type ChatMessage, - ChatMessagesSchema, -} from '@toeverything/infra/blocksuite'; import { html, LitElement, nothing } from 'lit'; import { property, query, state } from 'lit/decorators.js'; import { classMap } from 'lit/directives/class-map.js'; import { repeat } from 'lit/directives/repeat.js'; +import { + type AIChatBlockModel, + type ChatMessage, + ChatMessagesSchema, +} from '../../../blocks'; import { ChatBlockPeekViewActions, constructUserInfoWithMessages, diff --git a/packages/frontend/core/src/blocksuite/presets/ai/peek-view/types.ts b/packages/frontend/core/src/blocksuite/presets/ai/peek-view/types.ts index 3168e86851..f6ef26edcc 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/peek-view/types.ts +++ b/packages/frontend/core/src/blocksuite/presets/ai/peek-view/types.ts @@ -1,5 +1,6 @@ import type { AIError } from '@blocksuite/affine/blocks'; -import type { ChatMessage } from '@toeverything/infra/blocksuite'; + +import type { ChatMessage } from '../../../blocks'; export type ChatStatus = | 'success' diff --git a/packages/frontend/core/src/blocksuite/presets/ai/peek-view/utils.ts b/packages/frontend/core/src/blocksuite/presets/ai/peek-view/utils.ts index c87eb0109c..ce0d5f65eb 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/peek-view/utils.ts +++ b/packages/frontend/core/src/blocksuite/presets/ai/peek-view/utils.ts @@ -1,10 +1,11 @@ import type { EdgelessRootService } from '@blocksuite/affine/blocks'; import { Bound } from '@blocksuite/affine/global/utils'; + import { type AIChatBlockModel, CHAT_BLOCK_HEIGHT, CHAT_BLOCK_WIDTH, -} from '@toeverything/infra'; +} from '../../../blocks'; /** * Calculates the bounding box for a child block diff --git a/packages/frontend/core/src/blocksuite/presets/blocks/ai-chat-block/ai-chat-block.ts b/packages/frontend/core/src/blocksuite/presets/blocks/ai-chat-block/ai-chat-block.ts index 64a333f5c6..c461a1d2a4 100644 --- a/packages/frontend/core/src/blocksuite/presets/blocks/ai-chat-block/ai-chat-block.ts +++ b/packages/frontend/core/src/blocksuite/presets/blocks/ai-chat-block/ai-chat-block.ts @@ -1,12 +1,9 @@ import { BlockComponent } from '@blocksuite/affine/block-std'; import { Peekable } from '@blocksuite/affine/blocks'; import { computed } from '@preact/signals-core'; -import { - type AIChatBlockModel, - ChatMessagesSchema, -} from '@toeverything/infra/blocksuite'; import { html } from 'lit'; +import { type AIChatBlockModel, ChatMessagesSchema } from '../../../blocks'; import { ChatWithAIIcon } from '../_common/icon'; import { AIChatBlockStyles } from './styles'; diff --git a/packages/frontend/core/src/blocksuite/presets/blocks/ai-chat-block/components/ai-chat-messages.ts b/packages/frontend/core/src/blocksuite/presets/blocks/ai-chat-block/components/ai-chat-messages.ts index d86288d9f7..059059696f 100644 --- a/packages/frontend/core/src/blocksuite/presets/blocks/ai-chat-block/components/ai-chat-messages.ts +++ b/packages/frontend/core/src/blocksuite/presets/blocks/ai-chat-block/components/ai-chat-messages.ts @@ -1,15 +1,15 @@ import type { EditorHost } from '@blocksuite/block-std'; import type { AffineAIPanelState } from '@blocksuite/blocks'; -import type { - ChatMessage, - MessageRole, - MessageUserInfo, -} from '@toeverything/infra/blocksuite'; import { css, html, LitElement } from 'lit'; import { property } from 'lit/decorators.js'; import { classMap } from 'lit/directives/class-map.js'; import { repeat } from 'lit/directives/repeat.js'; +import type { + ChatMessage, + MessageRole, + MessageUserInfo, +} from '../../../../blocks'; import type { TextRendererOptions } from '../../../_common/components/text-renderer'; import { UserInfoTemplate } from './user-info'; diff --git a/packages/frontend/core/src/blocksuite/presets/blocks/ai-chat-block/components/user-info.ts b/packages/frontend/core/src/blocksuite/presets/blocks/ai-chat-block/components/user-info.ts index 1392b25285..bcad0b5bd0 100644 --- a/packages/frontend/core/src/blocksuite/presets/blocks/ai-chat-block/components/user-info.ts +++ b/packages/frontend/core/src/blocksuite/presets/blocks/ai-chat-block/components/user-info.ts @@ -1,8 +1,8 @@ -import type { MessageRole, MessageUserInfo } from '@toeverything/infra'; import { baseTheme } from '@toeverything/theme'; import { css, html, LitElement, type TemplateResult, unsafeCSS } from 'lit'; import { property } from 'lit/decorators.js'; +import type { MessageRole, MessageUserInfo } from '../../../../blocks'; import { AffineAIIcon } from '../../_common/icon'; export class UserInfo extends LitElement { diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/custom/spec-patchers.tsx b/packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/custom/spec-patchers.tsx index 7a991a7e8e..c8d7dccc30 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/custom/spec-patchers.tsx +++ b/packages/frontend/core/src/components/blocksuite/block-suite-editor/specs/custom/spec-patchers.tsx @@ -7,6 +7,7 @@ import { toReactNode, type useConfirmModal, } from '@affine/component'; +import { AIChatBlockSchema } from '@affine/core/blocksuite/blocks'; import { AttachmentPreviewErrorBoundary } from '@affine/core/components/attachment-viewer/error'; import { PDFViewerEmbedded } from '@affine/core/components/attachment-viewer/pdf-viewer-embedded'; import { buildAttachmentProps } from '@affine/core/components/attachment-viewer/utils'; @@ -66,11 +67,7 @@ import { import { Bound } from '@blocksuite/affine/global/utils'; import { type BlockSnapshot, Text } from '@blocksuite/affine/store'; import type { ReferenceParams } from '@blocksuite/affine-model'; -import { - AIChatBlockSchema, - type DocProps, - type FrameworkProvider, -} from '@toeverything/infra'; +import { type DocProps, type FrameworkProvider } from '@toeverything/infra'; import { type TemplateResult } from 'lit'; import { customElement } from 'lit/decorators.js'; import { literal } from 'lit/static-html.js'; diff --git a/packages/frontend/core/src/modules/peek-view/entities/peek-view.ts b/packages/frontend/core/src/modules/peek-view/entities/peek-view.ts index 26aaa870e6..75935bde25 100644 --- a/packages/frontend/core/src/modules/peek-view/entities/peek-view.ts +++ b/packages/frontend/core/src/modules/peek-view/entities/peek-view.ts @@ -10,11 +10,11 @@ import type { } from '@blocksuite/affine/blocks'; import { AffineReference } from '@blocksuite/affine/blocks'; import type { Block, BlockModel } from '@blocksuite/affine/store'; -import type { AIChatBlockModel } from '@toeverything/infra'; import { Entity, LiveData } from '@toeverything/infra'; import type { TemplateResult } from 'lit'; import { firstValueFrom, map, race } from 'rxjs'; +import type { AIChatBlockModel } from '../../../blocksuite/blocks'; import { resolveLinkToDoc } from '../../navigation'; import type { WorkbenchService } from '../../workbench'; diff --git a/packages/frontend/core/src/modules/workspace/global-schema.ts b/packages/frontend/core/src/modules/workspace/global-schema.ts index 49f1da210c..92ccdd9cc6 100644 --- a/packages/frontend/core/src/modules/workspace/global-schema.ts +++ b/packages/frontend/core/src/modules/workspace/global-schema.ts @@ -1,6 +1,7 @@ import { AffineSchemas } from '@blocksuite/affine/blocks/schemas'; import { Schema } from '@blocksuite/affine/store'; -import { AIChatBlockSchema } from '@toeverything/infra'; + +import { AIChatBlockSchema } from '../../blocksuite/blocks'; let _schema: Schema | null = null; export function getAFFiNEWorkspaceSchema() { diff --git a/tools/cli/src/bundle.ts b/tools/cli/src/bundle.ts index a44b5915f7..e0a0f349e4 100644 --- a/tools/cli/src/bundle.ts +++ b/tools/cli/src/bundle.ts @@ -55,7 +55,7 @@ export class BundleCommand extends PackageCommand { let configOverride: Configuration | undefined; const overrideConfigPath = this.workspace .getPackage(this.package) - .join('webpack.config.js'); + .join('webpack.config.ts'); if (overrideConfigPath.isFile()) { const override = await import(overrideConfigPath.value); diff --git a/tools/utils/src/distribution.ts b/tools/utils/src/distribution.ts index e17b76d725..1f9e7ae9f9 100644 --- a/tools/utils/src/distribution.ts +++ b/tools/utils/src/distribution.ts @@ -8,7 +8,7 @@ export const PackageToDistribution = new Map< >([ ['@affine/admin', 'admin'], ['@affine/web', 'web'], - ['@affine/electron', 'desktop'], + ['@affine/electron-renderer', 'desktop'], ['@affine/mobile', 'mobile'], ['@affine/ios', 'ios'], ['@affine/android', 'android'], @@ -17,8 +17,9 @@ export const PackageToDistribution = new Map< export const AliasToPackage = new Map([ ['admin', '@affine/admin'], ['web', '@affine/web'], - ['desktop', '@affine/electron'], ['electron', '@affine/electron'], + ['desktop', '@affine/electron-renderer'], + ['renderer', '@affine/electron-renderer'], ['mobile', '@affine/mobile'], ['ios', '@affine/ios'], ['android', '@affine/android'], diff --git a/tools/utils/src/workspace.gen.ts b/tools/utils/src/workspace.gen.ts index 75b380a5e9..bd38276e37 100644 --- a/tools/utils/src/workspace.gen.ts +++ b/tools/utils/src/workspace.gen.ts @@ -332,7 +332,6 @@ export const PackageList = [ 'packages/common/debug', 'packages/common/env', 'packages/frontend/templates', - 'blocksuite/affine/all', ], }, { @@ -370,14 +369,20 @@ export const PackageList = [ workspaceDependencies: [ 'tests/kit', 'tools/utils', + 'packages/frontend/native', + 'packages/common/nbstore', + 'packages/common/infra', + ], + }, + { + location: 'packages/frontend/apps/electron-renderer', + name: '@affine/electron-renderer', + workspaceDependencies: [ 'packages/frontend/component', 'packages/frontend/core', 'packages/frontend/electron-api', 'packages/frontend/i18n', - 'packages/frontend/native', - 'packages/common/nbstore', - 'blocksuite/affine/all', - 'packages/common/infra', + 'tools/utils', ], }, { @@ -579,6 +584,7 @@ export type PackageName = | '@affine/admin' | '@affine/android' | '@affine/electron' + | '@affine/electron-renderer' | '@affine/ios' | '@affine/mobile' | '@affine/web' diff --git a/tsconfig.json b/tsconfig.json index 13978cfe73..651d1c76f6 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -99,6 +99,9 @@ { "path": "./packages/frontend/apps/web" }, + { + "path": "./packages/frontend/apps/electron-renderer" + }, { "path": "./packages/frontend/apps/mobile" }, @@ -111,9 +114,6 @@ { "path": "./packages/frontend/apps/electron/tsconfig.test.json" }, - { - "path": "./packages/frontend/apps/electron/renderer/tsconfig.json" - }, { "path": "./packages/frontend/graphql" }, diff --git a/tsconfig.project.json b/tsconfig.project.json index 1d3efdaf95..c2f769df68 100644 --- a/tsconfig.project.json +++ b/tsconfig.project.json @@ -40,6 +40,7 @@ { "path": "./packages/frontend/admin" }, { "path": "./packages/frontend/apps/android" }, { "path": "./packages/frontend/apps/electron" }, + { "path": "./packages/frontend/apps/electron-renderer" }, { "path": "./packages/frontend/apps/ios" }, { "path": "./packages/frontend/apps/mobile" }, { "path": "./packages/frontend/apps/web" }, diff --git a/yarn.lock b/yarn.lock index dba66cd79c..b1798ec777 100644 --- a/yarn.lock +++ b/yarn.lock @@ -456,19 +456,37 @@ __metadata: languageName: unknown linkType: soft +"@affine/electron-renderer@workspace:packages/frontend/apps/electron-renderer": + version: 0.0.0-use.local + resolution: "@affine/electron-renderer@workspace:packages/frontend/apps/electron-renderer" + dependencies: + "@affine-tools/utils": "workspace:*" + "@affine/component": "workspace:*" + "@affine/core": "workspace:*" + "@affine/electron-api": "workspace:*" + "@affine/i18n": "workspace:*" + "@emotion/react": "npm:^11.14.0" + "@sentry/react": "npm:^8.44.0" + "@types/react": "npm:^19.0.1" + "@types/react-dom": "npm:^19.0.2" + "@vanilla-extract/css": "npm:^1.16.1" + cross-env: "npm:^7.0.3" + next-themes: "npm:^0.4.4" + react: "npm:^19.0.0" + react-dom: "npm:^19.0.0" + react-router-dom: "npm:^6.28.0" + typescript: "npm:^5.7.2" + languageName: unknown + linkType: soft + "@affine/electron@workspace:packages/frontend/apps/electron": version: 0.0.0-use.local resolution: "@affine/electron@workspace:packages/frontend/apps/electron" dependencies: "@affine-test/kit": "workspace:*" "@affine-tools/utils": "workspace:*" - "@affine/component": "workspace:*" - "@affine/core": "workspace:*" - "@affine/electron-api": "workspace:*" - "@affine/i18n": "workspace:*" "@affine/native": "workspace:*" "@affine/nbstore": "workspace:*" - "@blocksuite/affine": "workspace:*" "@electron-forge/cli": "npm:^7.6.0" "@electron-forge/core": "npm:^7.6.0" "@electron-forge/core-utils": "npm:^7.6.0" @@ -479,7 +497,6 @@ __metadata: "@electron-forge/maker-zip": "npm:^7.6.0" "@electron-forge/plugin-auto-unpack-natives": "npm:^7.6.0" "@electron-forge/shared-types": "npm:^7.6.0" - "@emotion/react": "npm:^11.14.0" "@pengx17/electron-forge-maker-appimage": "npm:^1.2.1" "@sentry/electron": "npm:^5.8.0" "@sentry/esbuild-plugin": "npm:^2.22.7" @@ -487,7 +504,6 @@ __metadata: "@toeverything/infra": "workspace:*" "@types/set-cookie-parser": "npm:^2.4.10" "@types/uuid": "npm:^10.0.0" - "@vanilla-extract/css": "npm:^1.16.1" "@vitejs/plugin-react-swc": "npm:^3.7.2" app-builder-lib: "npm:^25.1.8" async-call-rpc: "npm:^6.4.2" @@ -507,9 +523,6 @@ __metadata: msw: "npm:^2.6.8" nanoid: "npm:^5.0.9" next-themes: "npm:^0.4.4" - react: "npm:^19.0.0" - react-dom: "npm:^19.0.0" - react-router-dom: "npm:^6.28.0" rxjs: "npm:^7.8.1" semver: "npm:^7.6.3" set-cookie-parser: "npm:^2.7.1" @@ -13884,7 +13897,6 @@ __metadata: "@affine/debug": "workspace:*" "@affine/env": "workspace:*" "@affine/templates": "workspace:*" - "@blocksuite/affine": "workspace:*" "@datastructures-js/binary-search-tree": "npm:^5.3.2" "@emotion/react": "npm:^11.14.0" "@swc/core": "npm:^1.10.1"