diff --git a/blocksuite/affine/shared/src/services/page-viewport-service.ts b/blocksuite/affine/shared/src/services/page-viewport-service.ts index 69c43fc752..697d546b23 100644 --- a/blocksuite/affine/shared/src/services/page-viewport-service.ts +++ b/blocksuite/affine/shared/src/services/page-viewport-service.ts @@ -1,6 +1,6 @@ import type { ExtensionType } from '@blocksuite/block-std'; import { createIdentifier } from '@blocksuite/global/di'; -import { Slot } from '@blocksuite/store'; +import { Slot } from '@blocksuite/global/utils'; import type { Viewport } from '../types'; diff --git a/blocksuite/blocks/src/root-block/edgeless/components/toolbar/context.ts b/blocksuite/blocks/src/root-block/edgeless/components/toolbar/context.ts index 9350c623ff..85266b56c8 100644 --- a/blocksuite/blocks/src/root-block/edgeless/components/toolbar/context.ts +++ b/blocksuite/blocks/src/root-block/edgeless/components/toolbar/context.ts @@ -1,5 +1,5 @@ import type { ColorScheme } from '@blocksuite/affine-model'; -import type { Slot } from '@blocksuite/store'; +import type { Slot } from '@blocksuite/global/utils'; import { createContext } from '@lit/context'; import type { EdgelessToolbarWidget } from './edgeless-toolbar.js'; diff --git a/blocksuite/blocks/src/root-block/edgeless/components/toolbar/edgeless-toolbar.ts b/blocksuite/blocks/src/root-block/edgeless/components/toolbar/edgeless-toolbar.ts index 653950a2cc..3c431d314c 100644 --- a/blocksuite/blocks/src/root-block/edgeless/components/toolbar/edgeless-toolbar.ts +++ b/blocksuite/blocks/src/root-block/edgeless/components/toolbar/edgeless-toolbar.ts @@ -21,8 +21,7 @@ import { import { stopPropagation } from '@blocksuite/affine-shared/utils'; import { WidgetComponent } from '@blocksuite/block-std'; import { GfxControllerIdentifier } from '@blocksuite/block-std/gfx'; -import { debounce } from '@blocksuite/global/utils'; -import { Slot } from '@blocksuite/store'; +import { debounce, Slot } from '@blocksuite/global/utils'; import { autoPlacement, offset } from '@floating-ui/dom'; import { ContextProvider } from '@lit/context'; import { computed } from '@preact/signals-core'; diff --git a/blocksuite/blocks/src/root-block/edgeless/gfx-tool/copilot-tool.ts b/blocksuite/blocks/src/root-block/edgeless/gfx-tool/copilot-tool.ts index 86d69100a3..b0e691081b 100644 --- a/blocksuite/blocks/src/root-block/edgeless/gfx-tool/copilot-tool.ts +++ b/blocksuite/blocks/src/root-block/edgeless/gfx-tool/copilot-tool.ts @@ -2,8 +2,11 @@ import type { PointerEventState } from '@blocksuite/block-std'; import { BaseTool, MouseButton } from '@blocksuite/block-std/gfx'; import { IS_MAC } from '@blocksuite/global/env'; -import { Bound, getCommonBoundWithRotation } from '@blocksuite/global/utils'; -import { Slot } from '@blocksuite/store'; +import { + Bound, + getCommonBoundWithRotation, + Slot, +} from '@blocksuite/global/utils'; import { AFFINE_AI_PANEL_WIDGET, diff --git a/blocksuite/blocks/src/root-block/page/page-root-service.ts b/blocksuite/blocks/src/root-block/page/page-root-service.ts index 571e47d530..8e6a873496 100644 --- a/blocksuite/blocks/src/root-block/page/page-root-service.ts +++ b/blocksuite/blocks/src/root-block/page/page-root-service.ts @@ -1,6 +1,6 @@ import { RootBlockSchema } from '@blocksuite/affine-model'; import type { Viewport } from '@blocksuite/affine-shared/types'; -import { Slot } from '@blocksuite/store'; +import { Slot } from '@blocksuite/global/utils'; import { RootService } from '../root-service.js'; diff --git a/blocksuite/blocks/src/surface-block/mini-mindmap/index.ts b/blocksuite/blocks/src/surface-block/mini-mindmap/index.ts index 40d70e5dcd..10fd32a47e 100644 --- a/blocksuite/blocks/src/surface-block/mini-mindmap/index.ts +++ b/blocksuite/blocks/src/surface-block/mini-mindmap/index.ts @@ -1,4 +1,4 @@ export { markdownToMindmap, MiniMindmapPreview } from './mindmap-preview.js'; export { MindmapRootBlock } from './mindmap-root-block.js'; -export { MindmapService } from './minmap-service.js'; +export { MindmapService } from './mindmap-service.js'; export { MindmapSurfaceBlock } from './surface-block.js'; diff --git a/blocksuite/blocks/src/surface-block/mini-mindmap/minmap-service.ts b/blocksuite/blocks/src/surface-block/mini-mindmap/mindmap-service.ts similarity index 87% rename from blocksuite/blocks/src/surface-block/mini-mindmap/minmap-service.ts rename to blocksuite/blocks/src/surface-block/mini-mindmap/mindmap-service.ts index 032a97add0..fdef7758c6 100644 --- a/blocksuite/blocks/src/surface-block/mini-mindmap/minmap-service.ts +++ b/blocksuite/blocks/src/surface-block/mini-mindmap/mindmap-service.ts @@ -1,6 +1,6 @@ import { RootBlockSchema } from '@blocksuite/affine-model'; import { BlockService } from '@blocksuite/block-std'; -import { Slot } from '@blocksuite/store'; +import { Slot } from '@blocksuite/global/utils'; export class MindmapService extends BlockService { static override readonly flavour = RootBlockSchema.model.flavour; diff --git a/blocksuite/blocks/src/surface-block/mini-mindmap/spec.ts b/blocksuite/blocks/src/surface-block/mini-mindmap/spec.ts index 62371946e3..af97342147 100644 --- a/blocksuite/blocks/src/surface-block/mini-mindmap/spec.ts +++ b/blocksuite/blocks/src/surface-block/mini-mindmap/spec.ts @@ -16,7 +16,7 @@ import type { BlockSchema } from '@blocksuite/store'; import { literal } from 'lit/static-html.js'; import type { z } from 'zod'; -import { MindmapService } from './minmap-service.js'; +import { MindmapService } from './mindmap-service.js'; import { MindmapSurfaceBlockService } from './surface-service.js'; export const MiniMindmapSpecs: ExtensionType[] = [ diff --git a/blocksuite/blocks/src/surface-block/mini-mindmap/surface-block.ts b/blocksuite/blocks/src/surface-block/mini-mindmap/surface-block.ts index 8e629235ad..e71b51090d 100644 --- a/blocksuite/blocks/src/surface-block/mini-mindmap/surface-block.ts +++ b/blocksuite/blocks/src/surface-block/mini-mindmap/surface-block.ts @@ -13,7 +13,7 @@ import type { Bound } from '@blocksuite/global/utils'; import { html } from 'lit'; import { query } from 'lit/decorators.js'; -import type { MindmapService } from './minmap-service.js'; +import type { MindmapService } from './mindmap-service.js'; export class MindmapSurfaceBlock extends BlockComponent { renderer?: CanvasRenderer; diff --git a/blocksuite/framework/store/src/index.ts b/blocksuite/framework/store/src/index.ts index 557f413466..9047b1e4b7 100644 --- a/blocksuite/framework/store/src/index.ts +++ b/blocksuite/framework/store/src/index.ts @@ -1,4 +1,4 @@ -// eslint-disable-next-line @typescript-eslint/triple-slash-reference +// oxlint-disable-next-line @typescript-eslint/triple-slash-reference /// export type { Y }; @@ -7,16 +7,9 @@ export * from './reactive/index.js'; export * from './schema/index.js'; export * from './store/index.js'; export * from './transformer/index.js'; -export { - createAutoIncrementIdGenerator, - createAutoIncrementIdGeneratorByClientId, - type IdGenerator, - nanoid, - uuidv4, -} from './utils/id-generator.js'; +export { type IdGenerator, nanoid, uuidv4 } from './utils/id-generator.js'; export * as Utils from './utils/utils.js'; export * from './yjs/index.js'; -export { Slot } from '@blocksuite/global/utils'; import type * as Y from 'yjs'; diff --git a/blocksuite/framework/store/src/store/doc/block-collection.ts b/blocksuite/framework/store/src/store/doc/block-collection.ts index 7a03e3d9ad..bc285885d4 100644 --- a/blocksuite/framework/store/src/store/doc/block-collection.ts +++ b/blocksuite/framework/store/src/store/doc/block-collection.ts @@ -8,7 +8,6 @@ import type { BlockModel } from '../../schema/base.js'; import type { IdGenerator } from '../../utils/id-generator.js'; import type { AwarenessStore, BlockSuiteDoc } from '../../yjs/index.js'; import type { DocCollection } from '../collection.js'; -import { DocCRUD } from './crud.js'; import { Doc } from './doc.js'; import type { YBlock } from './index.js'; import type { Query } from './query.js'; @@ -45,8 +44,6 @@ export class BlockCollection { private readonly _collection: DocCollection; - private readonly _docCRUD: DocCRUD; - private readonly _docMap = { undefined: new Map(), true: new Map(), @@ -177,10 +174,6 @@ export class BlockCollection { return this._collection; } - get crud() { - return this._docCRUD; - } - get docSync() { return this.collection.docSync; } @@ -241,7 +234,6 @@ export class BlockCollection { this._yBlocks = this._ySpaceDoc.getMap('blocks'); this._collection = collection; this._idGenerator = idGenerator; - this._docCRUD = new DocCRUD(this._yBlocks, collection.schema); } private _getReadonlyKey(readonly?: boolean): 'true' | 'false' | 'undefined' { @@ -344,7 +336,6 @@ export class BlockCollection { const doc = new Doc({ blockCollection: this, - crud: this._docCRUD, schema: this.collection.schema, readonly, query, diff --git a/blocksuite/framework/store/src/store/doc/doc.ts b/blocksuite/framework/store/src/store/doc/doc.ts index b659984fea..2c2cf4216b 100644 --- a/blocksuite/framework/store/src/store/doc/doc.ts +++ b/blocksuite/framework/store/src/store/doc/doc.ts @@ -8,13 +8,12 @@ import { syncBlockProps } from '../../utils/utils.js'; import type { BlockOptions } from './block/index.js'; import { Block } from './block/index.js'; import type { BlockCollection, BlockProps } from './block-collection.js'; -import type { DocCRUD } from './crud.js'; +import { DocCRUD } from './crud.js'; import { type Query, runQuery } from './query.js'; type DocOptions = { schema: Schema; blockCollection: BlockCollection; - crud: DocCRUD; readonly?: boolean; query?: Query; }; @@ -267,7 +266,7 @@ export class Doc { return this._blockCollection.withoutTransact.bind(this._blockCollection); } - constructor({ schema, blockCollection, crud, readonly, query }: DocOptions) { + constructor({ schema, blockCollection, readonly, query }: DocOptions) { this._blockCollection = blockCollection; this.slots = { @@ -279,7 +278,7 @@ export class Doc { yBlockUpdated: this._blockCollection.slots.yBlockUpdated, }; - this._crud = crud; + this._crud = new DocCRUD(this._yBlocks, blockCollection.schema); this._schema = schema; this._readonly = readonly; if (query) { diff --git a/blocksuite/playground/apps/_common/mock-services.ts b/blocksuite/playground/apps/_common/mock-services.ts index 709c8c9dca..a9d21aa7ad 100644 --- a/blocksuite/playground/apps/_common/mock-services.ts +++ b/blocksuite/playground/apps/_common/mock-services.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-non-null-assertion */ import type { PeekOptions, PeekViewService, @@ -17,8 +16,9 @@ import { type ThemeExtension, toast, } from '@blocksuite/blocks'; +import { Slot } from '@blocksuite/global/utils'; import type { AffineEditorContainer } from '@blocksuite/presets'; -import { type DocCollection, Slot } from '@blocksuite/store'; +import { type DocCollection } from '@blocksuite/store'; import { signal } from '@preact/signals-core'; import type { TemplateResult } from 'lit'; diff --git a/packages/frontend/core/src/blocksuite/presets/ai/provider.ts b/packages/frontend/core/src/blocksuite/presets/ai/provider.ts index 2fcac2e24e..536e50c995 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/provider.ts +++ b/packages/frontend/core/src/blocksuite/presets/ai/provider.ts @@ -3,7 +3,7 @@ import { PaymentRequiredError, UnauthorizedError, } from '@blocksuite/affine/blocks'; -import { Slot } from '@blocksuite/affine/store'; +import { Slot } from '@blocksuite/affine/global/utils'; import { captureException } from '@sentry/react'; import type { ChatContextValue } from './chat-panel/chat-context'; diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/blocksuite-editor-container.tsx b/packages/frontend/core/src/components/blocksuite/block-suite-editor/blocksuite-editor-container.tsx index 4cf0bb6021..62444eb370 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-editor/blocksuite-editor-container.tsx +++ b/packages/frontend/core/src/components/blocksuite/block-suite-editor/blocksuite-editor-container.tsx @@ -3,13 +3,14 @@ import { type NoteBlockModel, NoteDisplayMode, } from '@blocksuite/affine/blocks'; +import { Slot } from '@blocksuite/affine/global/utils'; import type { AffineEditorContainer, DocTitle, EdgelessEditor, PageEditor, } from '@blocksuite/affine/presets'; -import { type BlockModel, type Doc, Slot } from '@blocksuite/affine/store'; +import { type BlockModel, type Doc } from '@blocksuite/affine/store'; import clsx from 'clsx'; import type React from 'react'; import {