mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-14 13:25:12 +00:00
This PR performs a significant architectural refactoring by extracting rich text functionality into a dedicated package. Here are the key changes: 1. **New Package Creation** - Created a new package `@blocksuite/affine-rich-text` to house rich text related functionality - Moved rich text components, utilities, and types from `@blocksuite/affine-components` to this new package 2. **Dependency Updates** - Updated multiple block packages to include the new `@blocksuite/affine-rich-text` as a direct dependency: - block-callout - block-code - block-database - block-edgeless-text - block-embed - block-list - block-note - block-paragraph 3. **Import Path Updates** - Refactored all imports that previously referenced rich text functionality from `@blocksuite/affine-components/rich-text` to now use `@blocksuite/affine-rich-text` - Updated imports for components like: - DefaultInlineManagerExtension - RichText types and interfaces - Text manipulation utilities (focusTextModel, textKeymap, etc.) - Reference node components and providers 4. **Build Configuration Updates** - Added references to the new rich text package in the `tsconfig.json` files of all affected packages - Maintained workspace dependencies using the `workspace:*` version specifier The primary motivation appears to be: 1. Better separation of concerns by isolating rich text functionality 2. Improved maintainability through more modular package structure 3. Clearer dependencies between packages 4. Potential for better tree-shaking and bundle optimization This is primarily an architectural improvement that should make the codebase more maintainable and better organized.
29 lines
945 B
TypeScript
29 lines
945 B
TypeScript
import type { EditorHost } from '@blocksuite/block-std';
|
|
import type * as Effects from '@blocksuite/blocks/effects';
|
|
import type { TestAffineEditorContainer } from '@blocksuite/integration-test';
|
|
import type { Store, Transformer, Workspace } from '@blocksuite/store';
|
|
|
|
declare const _GLOBAL_: typeof Effects;
|
|
|
|
declare global {
|
|
interface Window {
|
|
/** Available on playground window
|
|
* the following instance are initialized in `packages/playground/apps/starter/main.ts`
|
|
*/
|
|
$blocksuite: {
|
|
store: typeof import('@blocksuite/store');
|
|
blocks: typeof import('@blocksuite/blocks');
|
|
global: {
|
|
utils: typeof import('@blocksuite/global/utils');
|
|
};
|
|
editor: typeof import('@blocksuite/integration-test');
|
|
blockStd: typeof import('@blocksuite/block-std');
|
|
};
|
|
collection: Workspace;
|
|
doc: Store;
|
|
editor: TestAffineEditorContainer;
|
|
host: EditorHost;
|
|
job: Transformer;
|
|
}
|
|
}
|