From f2adbdaba4125f8b1bd8ad04056c2409414dd322 Mon Sep 17 00:00:00 2001 From: EYHN Date: Mon, 25 Mar 2024 03:55:32 +0000 Subject: [PATCH] style: enable import-x/no-duplicates (#6279) --- .eslintrc.js | 5 ++- package.json | 2 +- packages/backend/server/src/app.module.ts | 7 +--- .../backend/server/src/core/auth/service.ts | 3 +- .../backend/server/src/core/doc/history.ts | 8 +--- .../backend/server/src/core/doc/manager.ts | 2 +- .../backend/server/src/core/quota/service.ts | 7 +--- .../backend/server/src/core/user/resolver.ts | 5 ++- .../server/src/core/workspaces/permission.ts | 3 +- .../src/core/workspaces/resolvers/blob.ts | 2 +- .../src/core/workspaces/resolvers/page.ts | 6 +-- .../core/workspaces/resolvers/workspace.ts | 2 +- .../1703756315970-unamed-account.ts | 3 +- .../server/src/fundamentals/config/default.ts | 9 +---- .../server/src/fundamentals/helpers/url.ts | 2 +- .../src/fundamentals/mailer/mail.service.ts | 3 +- .../src/fundamentals/metrics/opentelemetry.ts | 7 +--- .../src/fundamentals/throttler/index.ts | 3 +- .../server/src/plugins/payment/types.ts | 4 +- .../backend/server/src/plugins/redis/index.ts | 3 +- packages/backend/server/tests/app.e2e.ts | 3 +- packages/backend/server/tests/auth.e2e.ts | 3 +- packages/backend/server/tests/feature.spec.ts | 3 +- packages/backend/server/tests/history.spec.ts | 2 +- packages/backend/server/tests/mailer.e2e.ts | 3 +- packages/backend/server/tests/mailer.spec.ts | 3 +- packages/backend/server/tests/quota.spec.ts | 3 +- .../server/tests/workspace-invite.e2e.ts | 3 +- .../backend/server/tests/workspace.e2e.ts | 3 +- .../infra/src/blocksuite/migration/subdoc.ts | 9 ++++- packages/common/infra/src/command/registry.ts | 7 +--- packages/common/infra/src/di/core/provider.ts | 8 ++-- packages/common/infra/src/di/react/index.ts | 4 +- packages/common/infra/src/livedata/index.ts | 15 ++++--- packages/common/infra/src/page/context.ts | 3 +- packages/common/infra/src/page/index.ts | 3 +- packages/common/infra/src/page/record-list.ts | 2 +- .../common/infra/src/page/service-scope.ts | 3 +- .../common/infra/src/workspace/context.ts | 3 +- .../engine/doc/__tests__/sync.spec.ts | 9 ++++- .../infra/src/workspace/engine/doc/index.ts | 3 +- .../infra/src/workspace/engine/doc/storage.ts | 9 +---- .../common/infra/src/workspace/factory.ts | 3 +- packages/common/infra/src/workspace/index.ts | 3 +- .../common/infra/src/workspace/list/cache.ts | 2 +- .../common/infra/src/workspace/list/index.ts | 3 +- .../common/infra/src/workspace/testing.ts | 12 +++--- .../common/infra/src/workspace/upgrade.ts | 12 ++++-- .../common/infra/src/workspace/workspace.ts | 11 ++--- packages/common/y-indexeddb/src/provider.ts | 19 ++++----- .../common/y-provider/src/lazy-provider.ts | 11 ++--- .../components/auth-components/auth-input.tsx | 3 +- .../auth-components/auth-page-container.tsx | 9 +---- .../auth-components/back-button.tsx | 5 ++- .../auth-components/count-down-render.tsx | 3 +- .../auth-components/onboarding-page.tsx | 3 +- .../auth-components/password-input/index.tsx | 7 ++-- .../auth-components/password-input/tag.tsx | 3 +- .../auth-components/set-password.tsx | 3 +- .../src/components/card/block-card/index.tsx | 3 +- .../components/disable-public-link/index.tsx | 3 +- .../src/components/global-loading/index.tsx | 3 +- .../member-components/accept-invite-page.tsx | 2 +- .../frontend/component/src/theme/theme.css.ts | 7 +++- .../src/ui/avatar/avatar.stories.tsx | 3 +- .../component/src/ui/avatar/avatar.tsx | 20 +++++++--- .../src/ui/button/button.stories.tsx | 3 +- .../component/src/ui/button/button.tsx | 13 +++--- .../src/ui/button/dropdown-button.tsx | 7 +--- .../src/ui/button/icon-button.stories.tsx | 3 +- .../component/src/ui/button/icon-button.tsx | 4 +- .../component/src/ui/button/radio.tsx | 3 +- .../component/src/ui/checkbox/checkbox.tsx | 3 +- .../src/ui/date-picker/calendar/calendar.tsx | 4 +- .../src/ui/date-picker/calendar/items.tsx | 9 +---- .../src/ui/date-picker/week-date-picker.tsx | 3 +- .../src/ui/divider/divider.stories.tsx | 3 +- .../src/ui/editable/inline-edit.stories.tsx | 3 +- .../component/src/ui/empty/empty.stories.tsx | 3 +- .../component/src/ui/input/input.stories.tsx | 3 +- .../src/ui/loading/loading.stories.tsx | 3 +- .../ui/lottie/collections-icon.stories.tsx | 6 +-- .../src/ui/lottie/collections-icon.tsx | 3 +- .../src/ui/lottie/delete-icon.stories.tsx | 3 +- .../component/src/ui/lottie/delete-icon.tsx | 3 +- .../component/src/ui/menu/menu-icon.tsx | 4 +- .../src/ui/menu/menu-trigger.stories.tsx | 3 +- .../component/src/ui/menu/menu-trigger.tsx | 12 +++--- .../component/src/ui/menu/menu.stories.tsx | 6 +-- .../component/src/ui/menu/use-menu-item.tsx | 2 +- .../component/src/ui/modal/confirm-modal.tsx | 3 +- .../component/src/ui/modal/modal.stories.tsx | 12 ++++-- .../frontend/component/src/ui/modal/modal.tsx | 6 ++- .../component/src/ui/modal/overlay-modal.tsx | 6 ++- .../component/src/ui/popover/popover.tsx | 3 +- .../src/ui/resize-panel/resize-panel.tsx | 8 +--- .../component/src/ui/scrollbar/scrollable.tsx | 3 +- .../src/ui/scrollbar/scrollbar.stories.tsx | 3 +- .../component/src/ui/scrollbar/scrollbar.tsx | 3 +- .../src/ui/scrollbar/use-has-scroll-top.tsx | 3 +- .../src/ui/skeleton/skeleton.stories.tsx | 3 +- .../src/ui/switch/switch.stories.tsx | 3 +- .../component/src/ui/switch/switch.tsx | 8 +--- .../src/ui/tooltip/tooltip.stories.tsx | 3 +- .../core/src/bootstrap/edgeless-template.ts | 6 +-- .../core/src/commands/affine-settings.tsx | 4 +- .../affine-error-fallback.tsx | 6 +-- .../error-basic/error-detail.tsx | 8 +--- .../error-basic/info-logger.tsx | 8 ++-- .../error-fallbacks/any-error-fallback.tsx | 3 +- .../affine/affine-error-boundary/index.tsx | 2 +- .../src/components/affine/app-container.tsx | 6 +-- .../affine/auth/after-sign-up-send-email.tsx | 3 +- .../core/src/components/affine/auth/index.tsx | 9 ++--- .../src/components/affine/auth/no-access.tsx | 3 +- .../core/src/components/affine/auth/oauth.tsx | 3 +- .../src/components/affine/auth/sign-in.tsx | 11 ++--- .../src/components/affine/awareness/index.tsx | 3 +- .../affine/create-workspace-modal/index.tsx | 19 +++++---- .../enable-affine-cloud-modal/index.tsx | 6 +-- .../components/affine/language-menu/index.tsx | 3 +- .../onboarding/curve-paper/segments.tsx | 2 +- .../affine/onboarding/onboarding.tsx | 3 +- .../affine/onboarding/paper-steps.tsx | 8 +++- .../affine/onboarding/steps/animate-in.tsx | 3 +- .../onboarding/steps/edgeless-switch.tsx | 9 +---- .../onboarding/switch-widgets/block.tsx | 2 +- .../onboarding/switch-widgets/toolbar.tsx | 3 +- .../affine/page-history-modal/data.ts | 2 +- .../page-history-modal/history-modal.tsx | 9 ++--- .../affine/page-properties/icons-selector.tsx | 3 +- .../affine/page-properties/menu-items.tsx | 13 ++---- .../property-row-value-renderer.tsx | 9 +---- .../affine/page-properties/table.tsx | 24 +++++------ .../page-properties/tags-inline-editor.tsx | 25 ++++-------- .../affine/reference-link/index.tsx | 2 +- .../setting-modal/account-setting/index.tsx | 10 +---- .../general-setting/about/index.tsx | 8 ++-- .../appearance/date-format-setting.tsx | 3 +- .../general-setting/appearance/index.tsx | 15 ++++--- .../general-setting/billing/index.tsx | 8 ++-- .../general-setting/plans/index.tsx | 3 +- .../general-setting/plans/modals.tsx | 10 ++--- .../general-setting/plans/plan-card.tsx | 13 ++---- .../general-setting/shortcuts/index.tsx | 8 ++-- .../components/affine/setting-modal/index.tsx | 11 ++--- .../setting-modal/setting-sidebar/index.tsx | 9 +++-- .../delete-leave-workspace/delete/index.tsx | 6 +-- .../delete-leave-workspace/index.tsx | 9 +++-- .../enable-cloud.tsx | 4 +- .../new-workspace-setting-detail/members.tsx | 13 +++--- .../new-workspace-setting-detail/profile.tsx | 9 +---- .../new-workspace-setting-detail/storage.tsx | 3 +- .../workspace-setting/properties/index.tsx | 6 +-- .../affine/share-page-modal/index.tsx | 4 +- .../share-menu/share-export.tsx | 3 +- .../share-menu/share-page.tsx | 8 ++-- .../affine/sign-out-modal/index.tsx | 6 +-- .../tmp-disable-affine-cloud-modal/index.tsx | 3 +- .../core/src/components/app-sidebar/index.tsx | 3 +- .../app-sidebar/sidebar-containers/index.tsx | 3 +- .../app-sidebar/spolight/index.stories.tsx | 2 +- .../blocksuite-editor-container.tsx | 5 ++- .../block-suite-editor/blocksuite-editor.tsx | 6 +-- .../block-suite-editor/lit-adaper.tsx | 10 ++--- .../block-suite-editor/no-page-error.ts | 2 +- .../block-suite-header/favorite/index.tsx | 3 +- .../journal/date-picker.tsx | 3 +- .../block-suite-header/title/index.tsx | 3 +- .../block-suite-mode-switch/index.tsx | 8 +--- .../block-suite-page-list/utils.tsx | 4 +- .../src/components/image-preview/index.css.ts | 3 +- .../src/components/image-preview/index.tsx | 3 +- .../src/components/page-detail-editor.tsx | 7 ++-- .../use-block-suite-page-preview.spec.ts | 3 +- .../collections/collection-list-item.tsx | 3 +- .../virtualized-collection-list.tsx | 12 ++---- .../page-list/components/favorite-tag.tsx | 4 +- .../page-list/components/floating-toolbar.tsx | 12 +++--- .../page-list/components/new-page-button.tsx | 3 +- .../page-list/docs/page-list-header.tsx | 3 +- .../page-list/docs/page-list-item.tsx | 3 +- .../docs/page-list-new-page-button.tsx | 3 +- .../components/page-list/docs/page-tags.tsx | 5 ++- .../page-list/docs/virtualized-page-list.tsx | 3 +- .../components/page-list/filter/condition.tsx | 3 +- .../page-list/filter/date-select.tsx | 3 +- .../page-list/filter/filter-list.tsx | 3 +- .../page-list/filter/literal-matcher.tsx | 2 +- .../page-list/items-to-item-group.tsx | 8 +++- .../core/src/components/page-list/list.tsx | 3 +- .../components/page-list/operation-cell.tsx | 7 +--- .../disable-public-sharing.tsx | 3 +- .../page-list/operation-menu-items/export.tsx | 3 +- .../operation-menu-items/move-to-trash.tsx | 9 +---- .../src/components/page-list/page-group.tsx | 7 ++-- .../src/components/page-list/page-header.tsx | 6 ++- .../page-list/tags/tag-list-item.tsx | 3 +- .../page-list/tags/virtualized-tag-list.tsx | 3 +- .../core/src/components/page-list/utils.tsx | 3 +- .../page-list/view/collection-list.tsx | 8 ++-- .../page-list/view/collection-operations.tsx | 16 ++------ .../page-list/view/create-collection.tsx | 2 +- .../view/edit-collection/edit-collection.tsx | 3 +- .../view/edit-collection/pages-mode.tsx | 3 +- .../view/edit-collection/rules-mode.tsx | 3 +- .../view/edit-collection/use-filter.tsx | 9 ++--- .../components/page-list/view/use-action.tsx | 3 +- .../page-list/view/use-edit-collection.tsx | 8 ++-- .../components/page-list/virtualized-list.tsx | 10 +---- .../src/components/pure/cmdk/data-hooks.tsx | 12 +++--- .../core/src/components/pure/cmdk/main.tsx | 3 +- .../core/src/components/pure/footer/index.tsx | 3 +- .../pure/header-drop-down-button/index.tsx | 3 +- .../src/components/pure/help-island/index.tsx | 3 +- .../pure/trash-page-footer/index.tsx | 3 +- .../pure/workspace-mode-filter-tab/index.tsx | 3 +- .../collections/collections-list.tsx | 3 +- .../components/operation-item.tsx | 11 ++--- .../components/reference-page.tsx | 2 +- .../favorite/favourite-page.tsx | 10 ++--- .../user-with-workspace-list/index.tsx | 4 +- .../workspace-list/index.tsx | 5 +-- .../workspace-card/index.tsx | 13 ++---- .../workspace-card/styles.ts | 3 +- .../src/components/root-app-sidebar/index.tsx | 5 ++- .../frontend/core/src/components/top-tip.tsx | 7 ++-- .../components/workspace-upgrade/upgrade.tsx | 3 +- .../src/components/workspace/index.css.ts | 3 +- ...-block-suite-workspace-page-title.spec.tsx | 10 +++-- .../hooks/affine/use-all-page-list-config.tsx | 9 ++--- .../hooks/affine/use-app-setting-helper.ts | 3 +- .../core/src/hooks/affine/use-export-page.ts | 8 +--- .../core/src/hooks/affine/use-members.ts | 7 +--- ...se-register-blocksuite-editor-commands.tsx | 6 ++- .../core/src/hooks/affine/use-sidebar-drag.ts | 3 +- .../core/src/hooks/use-app-config-storage.ts | 11 ++--- .../core/src/hooks/use-app-updater.ts | 3 +- .../core/src/hooks/use-block-suite-editor.ts | 3 +- .../hooks/use-block-suite-page-backlinks.ts | 3 +- .../hooks/use-block-suite-page-references.ts | 3 +- .../core/src/hooks/use-navigate-helper.ts | 8 +--- .../hooks/use-register-workspace-commands.ts | 3 +- .../core/src/hooks/use-subscription.ts | 3 +- .../core/src/hooks/use-workspace-blob.ts | 3 +- .../core/src/hooks/use-workspace-features.ts | 2 +- .../core/src/hooks/use-workspace-info.ts | 4 +- .../frontend/core/src/hooks/use-workspace.ts | 5 +-- .../core/src/layouts/workspace-layout.tsx | 14 ++++--- .../modules/infra-web/global-scope/index.tsx | 2 +- .../entities/tabs/journal.tsx | 11 ++--- .../navigation/view/navigation-buttons.tsx | 3 +- .../view/use-register-navigation-commands.ts | 2 +- .../modules/right-sidebar/view/container.tsx | 4 +- .../frontend/core/src/modules/services.ts | 2 +- .../core/src/modules/tag/entities/tag.ts | 3 +- .../core/src/modules/tag/service/tag.ts | 3 +- .../modules/workbench/view/browser-adapter.ts | 2 +- .../modules/workbench/view/desktop-adapter.ts | 2 +- .../workbench/view/route-container.tsx | 3 +- .../workbench/view/split-view/indicator.tsx | 14 ++----- .../workbench/view/split-view/panel.tsx | 20 ++++------ .../view/split-view/resize-handle.tsx | 3 +- .../workbench/view/split-view/split-view.tsx | 11 ++--- .../workbench/view/use-is-active-view.tsx | 3 +- .../modules/workbench/view/workbench-link.tsx | 3 +- .../modules/workbench/view/workbench-root.tsx | 3 +- .../modules/workspace/properties/adapter.ts | 12 +++--- packages/frontend/core/src/pages/auth.tsx | 10 ++--- .../core/src/pages/desktop-signin.tsx | 2 +- packages/frontend/core/src/pages/index.tsx | 12 +++--- packages/frontend/core/src/pages/invite.tsx | 7 ++-- packages/frontend/core/src/pages/open-app.tsx | 11 ++--- .../src/pages/share/share-detail-page.tsx | 5 +-- packages/frontend/core/src/pages/sign-in.tsx | 3 +- .../pages/workspace/all-collection/index.tsx | 6 +-- .../workspace/all-page/all-page-filter.tsx | 3 +- .../workspace/all-page/all-page-header.tsx | 3 +- .../src/pages/workspace/all-page/all-page.tsx | 3 +- .../src/pages/workspace/collection/index.tsx | 4 +- .../workspace/detail-page/detail-page.tsx | 10 ++--- .../core/src/pages/workspace/index.tsx | 13 ++++-- .../src/pages/workspace/page-list-empty.tsx | 3 +- .../core/src/pages/workspace/tag/index.tsx | 3 +- .../core/src/pages/workspace/trash-page.tsx | 5 +-- .../core/src/providers/modal-provider.tsx | 15 ++----- .../core/src/providers/session-provider.tsx | 8 +--- packages/frontend/core/src/utils/mixpanel.ts | 3 +- .../core/src/utils/navigable-history.ts | 15 +++---- packages/frontend/core/src/web.ts | 6 +-- packages/frontend/electron/renderer/app.tsx | 3 +- .../electron/src/helper/db/base-db-adapter.ts | 7 +--- .../electron/src/helper/db/ensure-db.ts | 2 +- .../electron/src/main/clipboard/index.ts | 3 +- .../frontend/electron/src/main/deep-link.ts | 3 +- .../electron/src/main/helper-process.ts | 6 +-- packages/frontend/electron/src/main/logger.ts | 3 +- .../frontend/electron/src/main/main-window.ts | 3 +- .../frontend/electron/src/main/onboarding.ts | 3 +- .../main/updater/custom-github-provider.ts | 12 +++--- .../electron/src/main/updater/index.ts | 5 ++- .../electron/src/preload/electron-api.ts | 3 +- .../electron/test/main/mocks/updater.ts | 3 +- packages/frontend/i18n/src/index.ts | 2 +- .../frontend/i18n/src/scripts/download.ts | 3 +- packages/frontend/web/src/app.tsx | 3 +- .../workspace-impl/src/cloud/awareness.ts | 2 +- .../frontend/workspace-impl/src/cloud/blob.ts | 5 ++- .../frontend/workspace-impl/src/cloud/doc.ts | 3 +- .../frontend/workspace-impl/src/cloud/list.ts | 12 +++--- .../src/cloud/workspace-factory.ts | 3 +- .../workspace-impl/src/local-state.ts | 12 +++--- .../src/local/blob-indexeddb.ts | 2 +- .../workspace-impl/src/local/blob-sqlite.ts | 2 +- .../workspace-impl/src/local/blob-static.ts | 2 +- .../workspace-impl/src/local/doc-indexeddb.ts | 8 +--- .../workspace-impl/src/local/doc-sqlite.ts | 17 ++------ .../frontend/workspace-impl/src/local/list.ts | 10 ++--- tests/affine-cloud/e2e/page-history.spec.ts | 3 +- tests/affine-desktop/e2e/basic.spec.ts | 3 +- tests/affine-local/e2e/drag-page.spec.ts | 3 +- tests/affine-local/e2e/image-preview.spec.ts | 3 +- .../e2e/local-first-delete-workspace.spec.ts | 6 ++- tests/affine-local/e2e/navigation.spec.ts | 3 +- tests/affine-local/e2e/quick-search.spec.ts | 3 +- tests/kit/playwright.ts | 3 +- tests/kit/utils/cloud.ts | 8 +--- tests/kit/utils/load-page.ts | 3 +- tests/kit/utils/properties.ts | 3 +- tests/kit/utils/workspace.ts | 3 +- .../src/stories/app-sidebar.stories.tsx | 17 ++++---- .../stories/app-updater-button.stories.tsx | 6 +-- .../src/stories/blocksuite-editor.stories.tsx | 3 +- .../stories/image-preview-modal.stories.tsx | 2 +- .../src/stories/import-page.stories.tsx | 3 +- .../stories/page-info-properties.stories.tsx | 3 +- .../src/stories/page-list.stories.tsx | 12 +++--- .../src/stories/share-menu.stories.tsx | 6 +-- .../src/stories/workspace-list.stories.tsx | 3 +- tools/cli/src/bin/dev.ts | 3 +- tools/cli/src/webpack/config.ts | 3 +- yarn.lock | 40 +++++++------------ 342 files changed, 881 insertions(+), 1033 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 1b313b14f6..63b0a7288f 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -95,7 +95,7 @@ const config = { '@typescript-eslint', 'simple-import-sort', 'sonarjs', - 'i', + 'import-x', 'unused-imports', 'unicorn', 'rxjs', @@ -131,6 +131,7 @@ const config = { 'unused-imports/no-unused-imports': 'error', 'simple-import-sort/imports': 'error', 'simple-import-sort/exports': 'error', + 'import-x/no-duplicates': 'error', '@typescript-eslint/ban-ts-comment': [ 'error', { @@ -253,7 +254,7 @@ const config = { ], '@typescript-eslint/no-misused-promises': ['error'], '@typescript-eslint/prefer-readonly': 'error', - 'i/no-extraneous-dependencies': ['error'], + 'import-x/no-extraneous-dependencies': ['error'], 'react-hooks/exhaustive-deps': [ 'warn', { diff --git a/package.json b/package.json index f8ff5950fc..b131fa1645 100644 --- a/package.json +++ b/package.json @@ -79,7 +79,7 @@ "electron": "^29.0.1", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", - "eslint-plugin-i": "^2.29.1", + "eslint-plugin-import-x": "^0.4.1", "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-rxjs": "^5.0.3", diff --git a/packages/backend/server/src/app.module.ts b/packages/backend/server/src/app.module.ts index 3e03605c18..2af316e0ca 100644 --- a/packages/backend/server/src/app.module.ts +++ b/packages/backend/server/src/app.module.ts @@ -18,11 +18,8 @@ import { UserModule } from './core/user'; import { WorkspaceModule } from './core/workspaces'; import { getOptionalModuleMetadata } from './fundamentals'; import { CacheInterceptor, CacheModule } from './fundamentals/cache'; -import { - type AvailablePlugins, - Config, - ConfigModule, -} from './fundamentals/config'; +import type { AvailablePlugins } from './fundamentals/config'; +import { Config, ConfigModule } from './fundamentals/config'; import { EventModule } from './fundamentals/event'; import { GqlModule } from './fundamentals/graphql'; import { HelpersModule } from './fundamentals/helpers'; diff --git a/packages/backend/server/src/core/auth/service.ts b/packages/backend/server/src/core/auth/service.ts index 2159550864..75246f4e77 100644 --- a/packages/backend/server/src/core/auth/service.ts +++ b/packages/backend/server/src/core/auth/service.ts @@ -5,7 +5,8 @@ import { NotFoundException, OnApplicationBootstrap, } from '@nestjs/common'; -import { PrismaClient, type User } from '@prisma/client'; +import type { User } from '@prisma/client'; +import { PrismaClient } from '@prisma/client'; import type { CookieOptions, Request, Response } from 'express'; import { assign, omit } from 'lodash-es'; diff --git a/packages/backend/server/src/core/doc/history.ts b/packages/backend/server/src/core/doc/history.ts index 5a65c3bea5..c0b64d7857 100644 --- a/packages/backend/server/src/core/doc/history.ts +++ b/packages/backend/server/src/core/doc/history.ts @@ -4,12 +4,8 @@ import { Injectable, Logger } from '@nestjs/common'; import { Cron, CronExpression } from '@nestjs/schedule'; import { PrismaClient } from '@prisma/client'; -import { - Config, - type EventPayload, - metrics, - OnEvent, -} from '../../fundamentals'; +import type { EventPayload } from '../../fundamentals'; +import { Config, metrics, OnEvent } from '../../fundamentals'; import { QuotaService } from '../quota'; import { Permission } from '../workspaces/types'; import { isEmptyBuffer } from './manager'; diff --git a/packages/backend/server/src/core/doc/manager.ts b/packages/backend/server/src/core/doc/manager.ts index cce9c9cdb9..59691a75ee 100644 --- a/packages/backend/server/src/core/doc/manager.ts +++ b/packages/backend/server/src/core/doc/manager.ts @@ -16,12 +16,12 @@ import { transact, } from 'yjs'; +import type { EventPayload } from '../../fundamentals'; import { Cache, CallTimer, Config, EventEmitter, - type EventPayload, mergeUpdatesInApplyWay as jwstMergeUpdates, metrics, OnEvent, diff --git a/packages/backend/server/src/core/quota/service.ts b/packages/backend/server/src/core/quota/service.ts index fcff2d7da4..d25aa1ae50 100644 --- a/packages/backend/server/src/core/quota/service.ts +++ b/packages/backend/server/src/core/quota/service.ts @@ -1,11 +1,8 @@ import { Injectable } from '@nestjs/common'; import { PrismaClient } from '@prisma/client'; -import { - type EventPayload, - OnEvent, - PrismaTransaction, -} from '../../fundamentals'; +import type { EventPayload } from '../../fundamentals'; +import { OnEvent, PrismaTransaction } from '../../fundamentals'; import { FeatureKind } from '../features'; import { QuotaConfig } from './quota'; import { QuotaType } from './types'; diff --git a/packages/backend/server/src/core/user/resolver.ts b/packages/backend/server/src/core/user/resolver.ts index d877a154dd..347e6ab366 100644 --- a/packages/backend/server/src/core/user/resolver.ts +++ b/packages/backend/server/src/core/user/resolver.ts @@ -7,14 +7,15 @@ import { ResolveField, Resolver, } from '@nestjs/graphql'; -import { PrismaClient, type User } from '@prisma/client'; +import type { User } from '@prisma/client'; +import { PrismaClient } from '@prisma/client'; import GraphQLUpload from 'graphql-upload/GraphQLUpload.mjs'; import { isNil, omitBy } from 'lodash-es'; +import type { FileUpload } from '../../fundamentals'; import { CloudThrottlerGuard, EventEmitter, - type FileUpload, PaymentRequiredException, Throttle, } from '../../fundamentals'; diff --git a/packages/backend/server/src/core/workspaces/permission.ts b/packages/backend/server/src/core/workspaces/permission.ts index 1c750c73f9..083a7e892e 100644 --- a/packages/backend/server/src/core/workspaces/permission.ts +++ b/packages/backend/server/src/core/workspaces/permission.ts @@ -1,5 +1,6 @@ import { ForbiddenException, Injectable } from '@nestjs/common'; -import { type Prisma, PrismaClient } from '@prisma/client'; +import type { Prisma } from '@prisma/client'; +import { PrismaClient } from '@prisma/client'; import { Permission } from './types'; diff --git a/packages/backend/server/src/core/workspaces/resolvers/blob.ts b/packages/backend/server/src/core/workspaces/resolvers/blob.ts index 847ee1c909..a7e16347f0 100644 --- a/packages/backend/server/src/core/workspaces/resolvers/blob.ts +++ b/packages/backend/server/src/core/workspaces/resolvers/blob.ts @@ -16,9 +16,9 @@ import { import { SafeIntResolver } from 'graphql-scalars'; import GraphQLUpload from 'graphql-upload/GraphQLUpload.mjs'; +import type { FileUpload } from '../../../fundamentals'; import { CloudThrottlerGuard, - type FileUpload, MakeCache, PreventCache, } from '../../../fundamentals'; diff --git a/packages/backend/server/src/core/workspaces/resolvers/page.ts b/packages/backend/server/src/core/workspaces/resolvers/page.ts index 773165d4fa..68c9504672 100644 --- a/packages/backend/server/src/core/workspaces/resolvers/page.ts +++ b/packages/backend/server/src/core/workspaces/resolvers/page.ts @@ -9,10 +9,8 @@ import { ResolveField, Resolver, } from '@nestjs/graphql'; -import { - PrismaClient, - type WorkspacePage as PrismaWorkspacePage, -} from '@prisma/client'; +import type { WorkspacePage as PrismaWorkspacePage } from '@prisma/client'; +import { PrismaClient } from '@prisma/client'; import { CloudThrottlerGuard } from '../../../fundamentals'; import { CurrentUser } from '../../auth'; diff --git a/packages/backend/server/src/core/workspaces/resolvers/workspace.ts b/packages/backend/server/src/core/workspaces/resolvers/workspace.ts index fd3ca1ecd8..121812b8a9 100644 --- a/packages/backend/server/src/core/workspaces/resolvers/workspace.ts +++ b/packages/backend/server/src/core/workspaces/resolvers/workspace.ts @@ -20,10 +20,10 @@ import { getStreamAsBuffer } from 'get-stream'; import GraphQLUpload from 'graphql-upload/GraphQLUpload.mjs'; import { applyUpdate, Doc } from 'yjs'; +import type { FileUpload } from '../../../fundamentals'; import { CloudThrottlerGuard, EventEmitter, - type FileUpload, MailService, MutexService, Throttle, diff --git a/packages/backend/server/src/data/migrations/1703756315970-unamed-account.ts b/packages/backend/server/src/data/migrations/1703756315970-unamed-account.ts index 0524c5d8f2..59428ccd6e 100644 --- a/packages/backend/server/src/data/migrations/1703756315970-unamed-account.ts +++ b/packages/backend/server/src/data/migrations/1703756315970-unamed-account.ts @@ -1,4 +1,5 @@ -import { PrismaClient, type User } from '@prisma/client'; +import type { User } from '@prisma/client'; +import { PrismaClient } from '@prisma/client'; export class UnamedAccount1703756315970 { // do the migration diff --git a/packages/backend/server/src/fundamentals/config/default.ts b/packages/backend/server/src/fundamentals/config/default.ts index c8253e8ee8..34a5a4f78a 100644 --- a/packages/backend/server/src/fundamentals/config/default.ts +++ b/packages/backend/server/src/fundamentals/config/default.ts @@ -5,13 +5,8 @@ import { createPrivateKey, createPublicKey } from 'node:crypto'; import { merge } from 'lodash-es'; import pkg from '../../../package.json' assert { type: 'json' }; -import { - type AFFINE_ENV, - AFFiNEConfig, - DeploymentType, - type NODE_ENV, - type ServerFlavor, -} from './def'; +import type { AFFINE_ENV, NODE_ENV, ServerFlavor } from './def'; +import { AFFiNEConfig, DeploymentType } from './def'; import { readEnv } from './env'; import { getDefaultAFFiNEStorageConfig } from './storage'; diff --git a/packages/backend/server/src/fundamentals/helpers/url.ts b/packages/backend/server/src/fundamentals/helpers/url.ts index ee2a666a6c..ca0931685f 100644 --- a/packages/backend/server/src/fundamentals/helpers/url.ts +++ b/packages/backend/server/src/fundamentals/helpers/url.ts @@ -1,5 +1,5 @@ import { Injectable } from '@nestjs/common'; -import { type Response } from 'express'; +import type { Response } from 'express'; import { Config } from '../config'; diff --git a/packages/backend/server/src/fundamentals/mailer/mail.service.ts b/packages/backend/server/src/fundamentals/mailer/mail.service.ts index 7bab15dc55..b7831e1a1b 100644 --- a/packages/backend/server/src/fundamentals/mailer/mail.service.ts +++ b/packages/backend/server/src/fundamentals/mailer/mail.service.ts @@ -2,7 +2,8 @@ import { Inject, Injectable, Optional } from '@nestjs/common'; import { Config } from '../config'; import { URLHelper } from '../helpers'; -import { MAILER_SERVICE, type MailerService, type Options } from './mailer'; +import type { MailerService, Options } from './mailer'; +import { MAILER_SERVICE } from './mailer'; import { emailTemplate } from './template'; @Injectable() export class MailService { diff --git a/packages/backend/server/src/fundamentals/metrics/opentelemetry.ts b/packages/backend/server/src/fundamentals/metrics/opentelemetry.ts index 64bc9b1b94..94d1399f81 100644 --- a/packages/backend/server/src/fundamentals/metrics/opentelemetry.ts +++ b/packages/backend/server/src/fundamentals/metrics/opentelemetry.ts @@ -15,11 +15,8 @@ import { IORedisInstrumentation } from '@opentelemetry/instrumentation-ioredis'; import { NestInstrumentation } from '@opentelemetry/instrumentation-nestjs-core'; import { SocketIoInstrumentation } from '@opentelemetry/instrumentation-socket.io'; import { Resource } from '@opentelemetry/resources'; -import { - type MeterProvider, - MetricProducer, - MetricReader, -} from '@opentelemetry/sdk-metrics'; +import type { MeterProvider } from '@opentelemetry/sdk-metrics'; +import { MetricProducer, MetricReader } from '@opentelemetry/sdk-metrics'; import { NodeSDK } from '@opentelemetry/sdk-node'; import { BatchSpanProcessor, diff --git a/packages/backend/server/src/fundamentals/throttler/index.ts b/packages/backend/server/src/fundamentals/throttler/index.ts index 7462c5ec9a..f43e588229 100644 --- a/packages/backend/server/src/fundamentals/throttler/index.ts +++ b/packages/backend/server/src/fundamentals/throttler/index.ts @@ -1,5 +1,4 @@ -import { ExecutionContext, Injectable } from '@nestjs/common'; -import { Global, Module } from '@nestjs/common'; +import { ExecutionContext, Global, Injectable, Module } from '@nestjs/common'; import { Throttle, ThrottlerGuard, diff --git a/packages/backend/server/src/plugins/payment/types.ts b/packages/backend/server/src/plugins/payment/types.ts index d42c87778e..4b11a12ba9 100644 --- a/packages/backend/server/src/plugins/payment/types.ts +++ b/packages/backend/server/src/plugins/payment/types.ts @@ -1,5 +1,5 @@ -import { type User } from '@prisma/client'; -import { type Stripe } from 'stripe'; +import type { User } from '@prisma/client'; +import type { Stripe } from 'stripe'; import type { Payload } from '../../fundamentals/event/def'; diff --git a/packages/backend/server/src/plugins/redis/index.ts b/packages/backend/server/src/plugins/redis/index.ts index 0fa6cedb30..ef32b42684 100644 --- a/packages/backend/server/src/plugins/redis/index.ts +++ b/packages/backend/server/src/plugins/redis/index.ts @@ -1,5 +1,6 @@ import { Global, Provider, Type } from '@nestjs/common'; -import { Redis, type RedisOptions } from 'ioredis'; +import type { RedisOptions } from 'ioredis'; +import { Redis } from 'ioredis'; import { ThrottlerStorageRedisService } from 'nestjs-throttler-storage-redis'; import { Cache, Locker, SessionCache } from '../../fundamentals'; diff --git a/packages/backend/server/tests/app.e2e.ts b/packages/backend/server/tests/app.e2e.ts index 111d661324..1973e11d6a 100644 --- a/packages/backend/server/tests/app.e2e.ts +++ b/packages/backend/server/tests/app.e2e.ts @@ -1,5 +1,6 @@ import type { INestApplication } from '@nestjs/common'; -import ava, { type TestFn } from 'ava'; +import type { TestFn } from 'ava'; +import ava from 'ava'; import request from 'supertest'; import { AppModule } from '../src/app.module'; diff --git a/packages/backend/server/tests/auth.e2e.ts b/packages/backend/server/tests/auth.e2e.ts index a6b4db7c29..d8f6b34970 100644 --- a/packages/backend/server/tests/auth.e2e.ts +++ b/packages/backend/server/tests/auth.e2e.ts @@ -3,7 +3,8 @@ import { getLatestMailMessage, } from '@affine-test/kit/utils/cloud'; import type { INestApplication } from '@nestjs/common'; -import ava, { type TestFn } from 'ava'; +import type { TestFn } from 'ava'; +import ava from 'ava'; import { AuthService } from '../src/core/auth/service'; import { MailService } from '../src/fundamentals/mailer'; diff --git a/packages/backend/server/tests/feature.spec.ts b/packages/backend/server/tests/feature.spec.ts index fc59bed01f..4710596dd9 100644 --- a/packages/backend/server/tests/feature.spec.ts +++ b/packages/backend/server/tests/feature.spec.ts @@ -2,7 +2,8 @@ import { INestApplication, Injectable } from '@nestjs/common'; import { PrismaClient } from '@prisma/client'; -import ava, { type TestFn } from 'ava'; +import type { TestFn } from 'ava'; +import ava from 'ava'; import { AuthService } from '../src/core/auth/service'; import { diff --git a/packages/backend/server/tests/history.spec.ts b/packages/backend/server/tests/history.spec.ts index a706c38837..0d32fcf0b4 100644 --- a/packages/backend/server/tests/history.spec.ts +++ b/packages/backend/server/tests/history.spec.ts @@ -7,7 +7,7 @@ import * as Sinon from 'sinon'; import { DocHistoryManager } from '../src/core/doc'; import { QuotaModule } from '../src/core/quota'; import { StorageModule } from '../src/core/storage'; -import { type EventPayload } from '../src/fundamentals/event'; +import type { EventPayload } from '../src/fundamentals/event'; import { createTestingModule } from './utils'; let m: TestingModule; diff --git a/packages/backend/server/tests/mailer.e2e.ts b/packages/backend/server/tests/mailer.e2e.ts index ecbf0c0e85..64a08b5897 100644 --- a/packages/backend/server/tests/mailer.e2e.ts +++ b/packages/backend/server/tests/mailer.e2e.ts @@ -7,7 +7,8 @@ import { getLatestMailMessage, } from '@affine-test/kit/utils/cloud'; import { TestingModule } from '@nestjs/testing'; -import ava, { type TestFn } from 'ava'; +import type { TestFn } from 'ava'; +import ava from 'ava'; import { AuthService } from '../src/core/auth/service'; import { ConfigModule } from '../src/fundamentals/config'; diff --git a/packages/backend/server/tests/mailer.spec.ts b/packages/backend/server/tests/mailer.spec.ts index 7b983649e2..bb0e236563 100644 --- a/packages/backend/server/tests/mailer.spec.ts +++ b/packages/backend/server/tests/mailer.spec.ts @@ -1,5 +1,6 @@ import type { INestApplication } from '@nestjs/common'; -import ava, { type TestFn } from 'ava'; +import type { TestFn } from 'ava'; +import ava from 'ava'; import Sinon from 'sinon'; import { AppModule } from '../src/app.module'; diff --git a/packages/backend/server/tests/quota.spec.ts b/packages/backend/server/tests/quota.spec.ts index 9c01ebc09e..551107efd1 100644 --- a/packages/backend/server/tests/quota.spec.ts +++ b/packages/backend/server/tests/quota.spec.ts @@ -1,7 +1,8 @@ /// import { TestingModule } from '@nestjs/testing'; -import ava, { type TestFn } from 'ava'; +import type { TestFn } from 'ava'; +import ava from 'ava'; import { AuthService } from '../src/core/auth'; import { diff --git a/packages/backend/server/tests/workspace-invite.e2e.ts b/packages/backend/server/tests/workspace-invite.e2e.ts index 6a0c12018b..0a5de885fa 100644 --- a/packages/backend/server/tests/workspace-invite.e2e.ts +++ b/packages/backend/server/tests/workspace-invite.e2e.ts @@ -4,7 +4,8 @@ import { } from '@affine-test/kit/utils/cloud'; import type { INestApplication } from '@nestjs/common'; import { PrismaClient } from '@prisma/client'; -import ava, { type TestFn } from 'ava'; +import type { TestFn } from 'ava'; +import ava from 'ava'; import { AppModule } from '../src/app.module'; import { AuthService } from '../src/core/auth/service'; diff --git a/packages/backend/server/tests/workspace.e2e.ts b/packages/backend/server/tests/workspace.e2e.ts index 45a68ea6c5..0adb0b0c6c 100644 --- a/packages/backend/server/tests/workspace.e2e.ts +++ b/packages/backend/server/tests/workspace.e2e.ts @@ -1,6 +1,7 @@ import type { INestApplication } from '@nestjs/common'; import { PrismaClient } from '@prisma/client'; -import ava, { type TestFn } from 'ava'; +import type { TestFn } from 'ava'; +import ava from 'ava'; import request from 'supertest'; import { AppModule } from '../src/app.module'; diff --git a/packages/common/infra/src/blocksuite/migration/subdoc.ts b/packages/common/infra/src/blocksuite/migration/subdoc.ts index f45e610f86..7b189e9a1a 100644 --- a/packages/common/infra/src/blocksuite/migration/subdoc.ts +++ b/packages/common/infra/src/blocksuite/migration/subdoc.ts @@ -1,6 +1,11 @@ import { nanoid } from 'nanoid'; -import { Array as YArray, Doc as YDoc, Map as YMap } from 'yjs'; -import { applyUpdate, encodeStateAsUpdate } from 'yjs'; +import { + applyUpdate, + Array as YArray, + Doc as YDoc, + encodeStateAsUpdate, + Map as YMap, +} from 'yjs'; const migrationOrigin = 'affine-migration'; diff --git a/packages/common/infra/src/command/registry.ts b/packages/common/infra/src/command/registry.ts index c77292d4c3..f6f6371413 100644 --- a/packages/common/infra/src/command/registry.ts +++ b/packages/common/infra/src/command/registry.ts @@ -2,11 +2,8 @@ import { DebugLogger } from '@affine/debug'; // @ts-expect-error upstream type is wrong import { tinykeys } from 'tinykeys'; -import { - type AffineCommand, - type AffineCommandOptions, - createAffineCommand, -} from './command'; +import type { AffineCommand, AffineCommandOptions } from './command'; +import { createAffineCommand } from './command'; const commandLogger = new DebugLogger('command:registry'); diff --git a/packages/common/infra/src/di/core/provider.ts b/packages/common/infra/src/di/core/provider.ts index 5026e53259..eafe8516fd 100644 --- a/packages/common/infra/src/di/core/provider.ts +++ b/packages/common/infra/src/di/core/provider.ts @@ -6,10 +6,10 @@ import { ServiceNotFoundError, } from './error'; import { parseIdentifier } from './identifier'; -import { - type GeneralServiceIdentifier, - type ServiceIdentifierValue, - type ServiceVariant, +import type { + GeneralServiceIdentifier, + ServiceIdentifierValue, + ServiceVariant, } from './types'; export interface ResolveOptions { diff --git a/packages/common/infra/src/di/react/index.ts b/packages/common/infra/src/di/react/index.ts index 3f5c43fffd..52a00c0025 100644 --- a/packages/common/infra/src/di/react/index.ts +++ b/packages/common/infra/src/di/react/index.ts @@ -1,7 +1,7 @@ import React, { useContext } from 'react'; -import type { ServiceProvider } from '../core'; -import { type GeneralServiceIdentifier, ServiceCollection } from '../core'; +import type { GeneralServiceIdentifier, ServiceProvider } from '../core'; +import { ServiceCollection } from '../core'; export const ServiceProviderContext = React.createContext( ServiceCollection.EMPTY.provider() diff --git a/packages/common/infra/src/livedata/index.ts b/packages/common/infra/src/livedata/index.ts index e04479769f..1e031469a8 100644 --- a/packages/common/infra/src/livedata/index.ts +++ b/packages/common/infra/src/livedata/index.ts @@ -1,22 +1,25 @@ import { DebugLogger } from '@affine/debug'; +import type { + InteropObservable, + Observer, + OperatorFunction, + Subscription, + TeardownLogic, +} from 'rxjs'; import { + BehaviorSubject, combineLatest, distinctUntilChanged, EMPTY, filter, - type InteropObservable, map, Observable, - type Observer, of, - type OperatorFunction, scan, skip, - type Subscription, + Subject, switchMap, - type TeardownLogic, } from 'rxjs'; -import { BehaviorSubject, Subject } from 'rxjs'; export * from './react'; diff --git a/packages/common/infra/src/page/context.ts b/packages/common/infra/src/page/context.ts index 19cdebe444..6c705a1628 100644 --- a/packages/common/infra/src/page/context.ts +++ b/packages/common/infra/src/page/context.ts @@ -1,6 +1,7 @@ import type { Doc as BlockSuiteDoc } from '@blocksuite/store'; -import { createIdentifier, type ServiceCollection } from '../di'; +import type { ServiceCollection } from '../di'; +import { createIdentifier } from '../di'; import type { PageRecord } from './record'; import { PageScope } from './service-scope'; diff --git a/packages/common/infra/src/page/index.ts b/packages/common/infra/src/page/index.ts index ab5dbd6abd..0e611f8dde 100644 --- a/packages/common/infra/src/page/index.ts +++ b/packages/common/infra/src/page/index.ts @@ -4,7 +4,8 @@ export * from './record'; export * from './record-list'; export * from './service-scope'; -import { type ServiceCollection, ServiceProvider } from '../di'; +import type { ServiceCollection } from '../di'; +import { ServiceProvider } from '../di'; import { CleanupService } from '../lifecycle'; import { Workspace, WorkspaceLocalState, WorkspaceScope } from '../workspace'; import { BlockSuitePageContext, PageRecordContext } from './context'; diff --git a/packages/common/infra/src/page/record-list.ts b/packages/common/infra/src/page/record-list.ts index 79a4b461c2..697fb745d6 100644 --- a/packages/common/infra/src/page/record-list.ts +++ b/packages/common/infra/src/page/record-list.ts @@ -2,7 +2,7 @@ import { isEqual } from 'lodash-es'; import { distinctUntilChanged, map, Observable } from 'rxjs'; import { LiveData } from '../livedata'; -import { type Workspace, type WorkspaceLocalState } from '../workspace'; +import type { Workspace, WorkspaceLocalState } from '../workspace'; import { PageRecord } from './record'; export class PageRecordList { diff --git a/packages/common/infra/src/page/service-scope.ts b/packages/common/infra/src/page/service-scope.ts index 31cdaca345..53cf99a177 100644 --- a/packages/common/infra/src/page/service-scope.ts +++ b/packages/common/infra/src/page/service-scope.ts @@ -1,4 +1,5 @@ -import { createScope, type ServiceScope } from '../di'; +import type { ServiceScope } from '../di'; +import { createScope } from '../di'; import { WorkspaceScope } from '../workspace'; export const PageScope: ServiceScope = createScope('page', WorkspaceScope); diff --git a/packages/common/infra/src/workspace/context.ts b/packages/common/infra/src/workspace/context.ts index ca7db30229..a5b127f328 100644 --- a/packages/common/infra/src/workspace/context.ts +++ b/packages/common/infra/src/workspace/context.ts @@ -23,7 +23,8 @@ import { nanoid } from 'nanoid'; import type { Awareness } from 'y-protocols/awareness.js'; import type { Doc as YDoc } from 'yjs'; -import { createIdentifier, type ServiceCollection } from '../di'; +import type { ServiceCollection } from '../di'; +import { createIdentifier } from '../di'; import { BlobEngine } from './engine/blob'; import { globalBlockSuiteSchema } from './global-schema'; import type { WorkspaceMetadata } from './metadata'; diff --git a/packages/common/infra/src/workspace/engine/doc/__tests__/sync.spec.ts b/packages/common/infra/src/workspace/engine/doc/__tests__/sync.spec.ts index 45bcf27cc1..7a8020acf5 100644 --- a/packages/common/infra/src/workspace/engine/doc/__tests__/sync.spec.ts +++ b/packages/common/infra/src/workspace/engine/doc/__tests__/sync.spec.ts @@ -1,7 +1,12 @@ import { nanoid } from 'nanoid'; import { describe, expect, test, vitest } from 'vitest'; -import { Doc as YDoc, encodeStateAsUpdate } from 'yjs'; -import { diffUpdate, encodeStateVectorFromUpdate, mergeUpdates } from 'yjs'; +import { + diffUpdate, + Doc as YDoc, + encodeStateAsUpdate, + encodeStateVectorFromUpdate, + mergeUpdates, +} from 'yjs'; import { AsyncLock } from '../../../../utils'; import { DocEngine } from '..'; diff --git a/packages/common/infra/src/workspace/engine/doc/index.ts b/packages/common/infra/src/workspace/engine/doc/index.ts index 506db43d9c..3a8a4581a6 100644 --- a/packages/common/infra/src/workspace/engine/doc/index.ts +++ b/packages/common/infra/src/workspace/engine/doc/index.ts @@ -9,7 +9,8 @@ import { MANUALLY_STOP } from '../../../utils'; import { DocEngineLocalPart } from './local'; import { DocEngineRemotePart } from './remote'; import type { DocServer } from './server'; -import { type DocStorage, DocStorageInner } from './storage'; +import type { DocStorage } from './storage'; +import { DocStorageInner } from './storage'; const logger = new DebugLogger('doc-engine'); diff --git a/packages/common/infra/src/workspace/engine/doc/storage.ts b/packages/common/infra/src/workspace/engine/doc/storage.ts index f87717d839..b87d7abc87 100644 --- a/packages/common/infra/src/workspace/engine/doc/storage.ts +++ b/packages/common/infra/src/workspace/engine/doc/storage.ts @@ -1,10 +1,5 @@ -import { - type ByteKV, - type Memento, - MemoryMemento, - ReadonlyByteKV, - wrapMemento, -} from '../../../storage'; +import type { ByteKV, Memento } from '../../../storage'; +import { MemoryMemento, ReadonlyByteKV, wrapMemento } from '../../../storage'; import { AsyncLock, mergeUpdates, throwIfAborted } from '../../../utils'; import type { DocEventBus } from '.'; import { DocEventBusInner, MemoryDocEventBus } from './event'; diff --git a/packages/common/infra/src/workspace/factory.ts b/packages/common/infra/src/workspace/factory.ts index fd3d85d13f..de77863208 100644 --- a/packages/common/infra/src/workspace/factory.ts +++ b/packages/common/infra/src/workspace/factory.ts @@ -1,4 +1,5 @@ -import { createIdentifier, type ServiceCollection } from '../di'; +import type { ServiceCollection } from '../di'; +import { createIdentifier } from '../di'; export interface WorkspaceFactory { name: string; diff --git a/packages/common/infra/src/workspace/index.ts b/packages/common/infra/src/workspace/index.ts index 15b02d8663..cb72630278 100644 --- a/packages/common/infra/src/workspace/index.ts +++ b/packages/common/infra/src/workspace/index.ts @@ -11,7 +11,8 @@ export * from './testing'; export * from './upgrade'; export * from './workspace'; -import { type ServiceCollection, ServiceProvider } from '../di'; +import type { ServiceCollection } from '../di'; +import { ServiceProvider } from '../di'; import { CleanupService } from '../lifecycle'; import { GlobalCache, GlobalState, MemoryMemento } from '../storage'; import { diff --git a/packages/common/infra/src/workspace/list/cache.ts b/packages/common/infra/src/workspace/list/cache.ts index ecf1005037..a1ea35873d 100644 --- a/packages/common/infra/src/workspace/list/cache.ts +++ b/packages/common/infra/src/workspace/list/cache.ts @@ -1,5 +1,5 @@ import type { GlobalCache } from '../../storage'; -import { type WorkspaceMetadata } from '../metadata'; +import type { WorkspaceMetadata } from '../metadata'; const CACHE_STORAGE_KEY = 'jotai-workspaces'; diff --git a/packages/common/infra/src/workspace/list/index.ts b/packages/common/infra/src/workspace/list/index.ts index 7963052d59..324f20e70a 100644 --- a/packages/common/infra/src/workspace/list/index.ts +++ b/packages/common/infra/src/workspace/list/index.ts @@ -9,7 +9,8 @@ import type { GlobalCache } from '../../storage'; import type { BlobStorage } from '../engine'; import type { WorkspaceMetadata } from '../metadata'; import { readWorkspaceListCache, writeWorkspaceListCache } from './cache'; -import { type WorkspaceInfo, WorkspaceInformation } from './information'; +import type { WorkspaceInfo } from './information'; +import { WorkspaceInformation } from './information'; export * from './information'; diff --git a/packages/common/infra/src/workspace/testing.ts b/packages/common/infra/src/workspace/testing.ts index 6f6c664601..ea81ff9092 100644 --- a/packages/common/infra/src/workspace/testing.ts +++ b/packages/common/infra/src/workspace/testing.ts @@ -4,12 +4,13 @@ import { differenceBy } from 'lodash-es'; import { nanoid } from 'nanoid'; import { applyUpdate, encodeStateAsUpdate } from 'yjs'; -import { type ServiceCollection } from '../di'; -import { GlobalState, type Memento } from '../storage'; +import type { ServiceCollection } from '../di'; +import type { Memento } from '../storage'; +import { GlobalState } from '../storage'; import { WorkspaceMetadataContext } from './context'; +import type { BlobStorage } from './engine'; import { AwarenessProvider, - type BlobStorage, DocStorageImpl, LocalBlobStorage, MemoryDocStorage, @@ -17,9 +18,8 @@ import { import { MemoryStorage } from './engine/doc/storage'; import type { WorkspaceFactory } from './factory'; import { globalBlockSuiteSchema } from './global-schema'; -import type { WorkspaceListProvider } from './list'; -import { type WorkspaceInfo } from './list'; -import { type WorkspaceMetadata } from './metadata'; +import type { WorkspaceInfo, WorkspaceListProvider } from './list'; +import type { WorkspaceMetadata } from './metadata'; import { WorkspaceScope } from './service-scope'; const LIST_STORE_KEY = 'testing-workspace-list'; diff --git a/packages/common/infra/src/workspace/upgrade.ts b/packages/common/infra/src/workspace/upgrade.ts index 4fb7615fbe..ef6285b034 100644 --- a/packages/common/infra/src/workspace/upgrade.ts +++ b/packages/common/infra/src/workspace/upgrade.ts @@ -4,12 +4,16 @@ import { Slot } from '@blocksuite/global/utils'; import type { DocCollection } from '@blocksuite/store'; import { applyUpdate, Doc as YDoc, encodeStateAsUpdate } from 'yjs'; -import { checkWorkspaceCompatibility, MigrationPoint } from '../blocksuite'; -import { forceUpgradePages, upgradeV1ToV2 } from '../blocksuite'; -import { migrateGuidCompatibility } from '../blocksuite'; +import { + checkWorkspaceCompatibility, + forceUpgradePages, + migrateGuidCompatibility, + MigrationPoint, + upgradeV1ToV2, +} from '../blocksuite'; import type { DocEngine } from './engine'; import type { WorkspaceManager } from './manager'; -import { type WorkspaceMetadata } from './metadata'; +import type { WorkspaceMetadata } from './metadata'; export interface WorkspaceUpgradeStatus { needUpgrade: boolean; diff --git a/packages/common/infra/src/workspace/workspace.ts b/packages/common/infra/src/workspace/workspace.ts index 8ecf5a6831..0c53b7b4ee 100644 --- a/packages/common/infra/src/workspace/workspace.ts +++ b/packages/common/infra/src/workspace/workspace.ts @@ -4,11 +4,12 @@ import type { DocCollection } from '@blocksuite/store'; import type { ServiceProvider } from '../di'; import { CleanupService } from '../lifecycle'; -import type { WorkspaceEngine } from './engine'; -import { type WorkspaceEngineStatus } from './engine'; -import { type WorkspaceMetadata } from './metadata'; -import type { WorkspaceUpgradeController } from './upgrade'; -import { type WorkspaceUpgradeStatus } from './upgrade'; +import type { WorkspaceEngine, WorkspaceEngineStatus } from './engine'; +import type { WorkspaceMetadata } from './metadata'; +import type { + WorkspaceUpgradeController, + WorkspaceUpgradeStatus, +} from './upgrade'; export type { DocCollection } from '@blocksuite/store'; diff --git a/packages/common/y-indexeddb/src/provider.ts b/packages/common/y-indexeddb/src/provider.ts index bc974cc2c5..9bc2469539 100644 --- a/packages/common/y-indexeddb/src/provider.ts +++ b/packages/common/y-indexeddb/src/provider.ts @@ -1,22 +1,17 @@ import { assertExists } from '@blocksuite/global/utils'; import type { IDBPDatabase } from 'idb'; import { openDB } from 'idb'; -import { - createLazyProvider, - type DocDataSource, - writeOperation, -} from 'y-provider'; +import type { DocDataSource } from 'y-provider'; +import { createLazyProvider, writeOperation } from 'y-provider'; import type { Doc } from 'yjs'; import { diffUpdate, encodeStateVectorFromUpdate } from 'yjs'; -import { - type BlockSuiteBinaryDB, - dbVersion, - DEFAULT_DB_NAME, - type IndexedDBProvider, - type UpdateMessage, - upgradeDB, +import type { + BlockSuiteBinaryDB, + IndexedDBProvider, + UpdateMessage, } from './shared'; +import { dbVersion, DEFAULT_DB_NAME, upgradeDB } from './shared'; import { mergeUpdates } from './utils'; let mergeCount = 500; diff --git a/packages/common/y-provider/src/lazy-provider.ts b/packages/common/y-provider/src/lazy-provider.ts index f1c1a2ec2c..0859d35e72 100644 --- a/packages/common/y-provider/src/lazy-provider.ts +++ b/packages/common/y-provider/src/lazy-provider.ts @@ -1,14 +1,9 @@ import { assertExists } from '@blocksuite/global/utils'; -import { - applyUpdate, - type Doc, - encodeStateAsUpdate, - encodeStateVector, -} from 'yjs'; +import type { Doc } from 'yjs'; +import { applyUpdate, encodeStateAsUpdate, encodeStateVector } from 'yjs'; import type { DocDataSource } from './data-source'; -import type { DataSourceAdapter } from './types'; -import type { Status } from './types'; +import type { DataSourceAdapter, Status } from './types'; function getDoc(doc: Doc, guid: string): Doc | undefined { if (doc.guid === guid) { diff --git a/packages/frontend/component/src/components/auth-components/auth-input.tsx b/packages/frontend/component/src/components/auth-components/auth-input.tsx index 8dd8b72605..e0cdce4b83 100644 --- a/packages/frontend/component/src/components/auth-components/auth-input.tsx +++ b/packages/frontend/component/src/components/auth-components/auth-input.tsx @@ -1,6 +1,7 @@ import clsx from 'clsx'; -import { Input, type InputProps } from '../../ui/input'; +import type { InputProps } from '../../ui/input'; +import { Input } from '../../ui/input'; import * as styles from './share.css'; export type AuthInputProps = InputProps & { label?: string; diff --git a/packages/frontend/component/src/components/auth-components/auth-page-container.tsx b/packages/frontend/component/src/components/auth-components/auth-page-container.tsx index 5cea173e53..6b943326fa 100644 --- a/packages/frontend/component/src/components/auth-components/auth-page-container.tsx +++ b/packages/frontend/component/src/components/auth-components/auth-page-container.tsx @@ -1,10 +1,5 @@ -import { - type FC, - type PropsWithChildren, - type ReactNode, - useEffect, - useState, -} from 'react'; +import type { FC, PropsWithChildren, ReactNode } from 'react'; +import { useEffect, useState } from 'react'; import { Empty } from '../../ui/empty'; import { AffineOtherPageLayout } from '../affine-other-page-layout'; diff --git a/packages/frontend/component/src/components/auth-components/back-button.tsx b/packages/frontend/component/src/components/auth-components/back-button.tsx index 1291160176..0b09d16426 100644 --- a/packages/frontend/component/src/components/auth-components/back-button.tsx +++ b/packages/frontend/component/src/components/auth-components/back-button.tsx @@ -1,8 +1,9 @@ import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { ArrowLeftSmallIcon } from '@blocksuite/icons'; -import { type FC } from 'react'; +import type { FC } from 'react'; -import { Button, type ButtonProps } from '../../ui/button'; +import type { ButtonProps } from '../../ui/button'; +import { Button } from '../../ui/button'; export const BackButton: FC = props => { const t = useAFFiNEI18N(); diff --git a/packages/frontend/component/src/components/auth-components/count-down-render.tsx b/packages/frontend/component/src/components/auth-components/count-down-render.tsx index eeb7d85783..dbb378030b 100644 --- a/packages/frontend/component/src/components/auth-components/count-down-render.tsx +++ b/packages/frontend/component/src/components/auth-components/count-down-render.tsx @@ -1,4 +1,5 @@ -import { forwardRef, type HTMLAttributes } from 'react'; +import type { HTMLAttributes } from 'react'; +import { forwardRef } from 'react'; const formatTime = (time: number): string => { const minutes = Math.floor(time / 60); diff --git a/packages/frontend/component/src/components/auth-components/onboarding-page.tsx b/packages/frontend/component/src/components/auth-components/onboarding-page.tsx index 05504f6a7c..406cc8cd8b 100644 --- a/packages/frontend/component/src/components/auth-components/onboarding-page.tsx +++ b/packages/frontend/component/src/components/auth-components/onboarding-page.tsx @@ -3,8 +3,9 @@ import { fetchWithTraceReport } from '@affine/graphql'; import { ArrowRightSmallIcon } from '@blocksuite/icons'; import clsx from 'clsx'; import { useEffect, useMemo, useState } from 'react'; +import type { Location } from 'react-router-dom'; // eslint-disable-next-line @typescript-eslint/no-restricted-imports -import { type Location, useLocation, useNavigate } from 'react-router-dom'; +import { useLocation, useNavigate } from 'react-router-dom'; import useSWR from 'swr'; import { Button } from '../../ui/button'; diff --git a/packages/frontend/component/src/components/auth-components/password-input/index.tsx b/packages/frontend/component/src/components/auth-components/password-input/index.tsx index 354716f81c..223d39349a 100644 --- a/packages/frontend/component/src/components/auth-components/password-input/index.tsx +++ b/packages/frontend/component/src/components/auth-components/password-input/index.tsx @@ -1,9 +1,10 @@ import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { passwordStrength } from 'check-password-strength'; -import { type FC, useEffect } from 'react'; -import { useCallback, useState } from 'react'; +import type { FC } from 'react'; +import { useCallback, useEffect, useState } from 'react'; -import { Input, type InputProps } from '../../../ui/input'; +import type { InputProps } from '../../../ui/input'; +import { Input } from '../../../ui/input'; import * as styles from '../share.css'; import { ErrorIcon } from './error'; import { SuccessIcon } from './success'; diff --git a/packages/frontend/component/src/components/auth-components/password-input/tag.tsx b/packages/frontend/component/src/components/auth-components/password-input/tag.tsx index ecf6673d0d..ccaf06c394 100644 --- a/packages/frontend/component/src/components/auth-components/password-input/tag.tsx +++ b/packages/frontend/component/src/components/auth-components/password-input/tag.tsx @@ -1,5 +1,6 @@ import clsx from 'clsx'; -import { type FC, useMemo } from 'react'; +import type { FC } from 'react'; +import { useMemo } from 'react'; import type { Status } from './index'; import { tag } from './style.css'; diff --git a/packages/frontend/component/src/components/auth-components/set-password.tsx b/packages/frontend/component/src/components/auth-components/set-password.tsx index b8a58b6416..c77195518e 100644 --- a/packages/frontend/component/src/components/auth-components/set-password.tsx +++ b/packages/frontend/component/src/components/auth-components/set-password.tsx @@ -1,5 +1,6 @@ import { useAFFiNEI18N } from '@affine/i18n/hooks'; -import { type FC, useCallback, useRef, useState } from 'react'; +import type { FC } from 'react'; +import { useCallback, useRef, useState } from 'react'; import { Button } from '../../ui/button'; import { Wrapper } from '../../ui/layout'; diff --git a/packages/frontend/component/src/components/card/block-card/index.tsx b/packages/frontend/component/src/components/card/block-card/index.tsx index 3ec1d1e96a..0db2f6912d 100644 --- a/packages/frontend/component/src/components/card/block-card/index.tsx +++ b/packages/frontend/component/src/components/card/block-card/index.tsx @@ -1,4 +1,5 @@ -import { forwardRef, type HTMLAttributes, type ReactNode } from 'react'; +import type { HTMLAttributes, ReactNode } from 'react'; +import { forwardRef } from 'react'; import * as styles from './styles.css'; diff --git a/packages/frontend/component/src/components/disable-public-link/index.tsx b/packages/frontend/component/src/components/disable-public-link/index.tsx index 0b4868f828..ec501c3ace 100644 --- a/packages/frontend/component/src/components/disable-public-link/index.tsx +++ b/packages/frontend/component/src/components/disable-public-link/index.tsx @@ -1,6 +1,7 @@ import { useAFFiNEI18N } from '@affine/i18n/hooks'; -import { ConfirmModal, type ConfirmModalProps } from '../../ui/modal'; +import type { ConfirmModalProps } from '../../ui/modal'; +import { ConfirmModal } from '../../ui/modal'; export const PublicLinkDisableModal = (props: ConfirmModalProps) => { const t = useAFFiNEI18N(); diff --git a/packages/frontend/component/src/components/global-loading/index.tsx b/packages/frontend/component/src/components/global-loading/index.tsx index b37b3452a9..a205365129 100644 --- a/packages/frontend/component/src/components/global-loading/index.tsx +++ b/packages/frontend/component/src/components/global-loading/index.tsx @@ -1,5 +1,6 @@ import { useAtomValue } from 'jotai'; -import { type ReactNode, useEffect, useState } from 'react'; +import type { ReactNode } from 'react'; +import { useEffect, useState } from 'react'; import { Loading } from '../../ui/loading'; import * as styles from './index.css'; diff --git a/packages/frontend/component/src/components/member-components/accept-invite-page.tsx b/packages/frontend/component/src/components/member-components/accept-invite-page.tsx index 03cae33dae..251c40d802 100644 --- a/packages/frontend/component/src/components/member-components/accept-invite-page.tsx +++ b/packages/frontend/component/src/components/member-components/accept-invite-page.tsx @@ -1,5 +1,5 @@ import { AuthPageContainer } from '@affine/component/auth-components'; -import { type GetInviteInfoQuery } from '@affine/graphql'; +import type { GetInviteInfoQuery } from '@affine/graphql'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { Avatar } from '../../ui/avatar'; diff --git a/packages/frontend/component/src/theme/theme.css.ts b/packages/frontend/component/src/theme/theme.css.ts index e0c1790bf5..09c974a155 100644 --- a/packages/frontend/component/src/theme/theme.css.ts +++ b/packages/frontend/component/src/theme/theme.css.ts @@ -1,5 +1,8 @@ -import { cssVar } from '@toeverything/theme'; -import { darkCssVariables, lightCssVariables } from '@toeverything/theme'; +import { + cssVar, + darkCssVariables, + lightCssVariables, +} from '@toeverything/theme'; import { globalStyle } from '@vanilla-extract/css'; globalStyle('body', { color: cssVar('textPrimaryColor'), diff --git a/packages/frontend/component/src/ui/avatar/avatar.stories.tsx b/packages/frontend/component/src/ui/avatar/avatar.stories.tsx index f7e3447c5b..63c39a40f8 100644 --- a/packages/frontend/component/src/ui/avatar/avatar.stories.tsx +++ b/packages/frontend/component/src/ui/avatar/avatar.stories.tsx @@ -1,7 +1,8 @@ import { CameraIcon } from '@blocksuite/icons'; import type { Meta, StoryFn } from '@storybook/react'; -import { Avatar, type AvatarProps } from './avatar'; +import type { AvatarProps } from './avatar'; +import { Avatar } from './avatar'; export default { title: 'UI/Avatar', diff --git a/packages/frontend/component/src/ui/avatar/avatar.tsx b/packages/frontend/component/src/ui/avatar/avatar.tsx index a1efd89949..fe063cb826 100644 --- a/packages/frontend/component/src/ui/avatar/avatar.tsx +++ b/packages/frontend/component/src/ui/avatar/avatar.tsx @@ -1,19 +1,27 @@ import { CloseIcon } from '@blocksuite/icons'; +import type { + AvatarFallbackProps, + AvatarImageProps, + AvatarProps as RadixAvatarProps, +} from '@radix-ui/react-avatar'; import { - type AvatarFallbackProps, - type AvatarImageProps, - type AvatarProps as RadixAvatarProps, Fallback as AvatarFallback, Image as AvatarImage, Root as AvatarRoot, } from '@radix-ui/react-avatar'; import { assignInlineVars } from '@vanilla-extract/dynamic'; import clsx from 'clsx'; -import type { CSSProperties, HTMLAttributes, MouseEvent } from 'react'; -import { forwardRef, type ReactElement, useMemo, useState } from 'react'; +import type { + CSSProperties, + HTMLAttributes, + MouseEvent, + ReactElement, +} from 'react'; +import { forwardRef, useMemo, useState } from 'react'; import { IconButton } from '../button'; -import { Tooltip, type TooltipProps } from '../tooltip'; +import type { TooltipProps } from '../tooltip'; +import { Tooltip } from '../tooltip'; import { ColorfulFallback } from './colorful-fallback'; import * as style from './style.css'; import { sizeVar } from './style.css'; diff --git a/packages/frontend/component/src/ui/button/button.stories.tsx b/packages/frontend/component/src/ui/button/button.stories.tsx index 93739ce78b..a62b44bc3b 100644 --- a/packages/frontend/component/src/ui/button/button.stories.tsx +++ b/packages/frontend/component/src/ui/button/button.stories.tsx @@ -1,7 +1,8 @@ import { InformationIcon } from '@blocksuite/icons'; import type { Meta, StoryFn } from '@storybook/react'; -import { Button, type ButtonProps } from './button'; +import type { ButtonProps } from './button'; +import { Button } from './button'; export default { title: 'UI/Button', component: Button, diff --git a/packages/frontend/component/src/ui/button/button.tsx b/packages/frontend/component/src/ui/button/button.tsx index dd8dbaf91f..f7250cb543 100644 --- a/packages/frontend/component/src/ui/button/button.tsx +++ b/packages/frontend/component/src/ui/button/button.tsx @@ -1,12 +1,11 @@ import clsx from 'clsx'; -import { - type FC, - forwardRef, - type HTMLAttributes, - type PropsWithChildren, - type ReactElement, - useMemo, +import type { + FC, + HTMLAttributes, + PropsWithChildren, + ReactElement, } from 'react'; +import { forwardRef, useMemo } from 'react'; import { Loading } from '../loading'; import { button, buttonIcon } from './button.css'; diff --git a/packages/frontend/component/src/ui/button/dropdown-button.tsx b/packages/frontend/component/src/ui/button/dropdown-button.tsx index c34a2c06d3..b51e913b21 100644 --- a/packages/frontend/component/src/ui/button/dropdown-button.tsx +++ b/packages/frontend/component/src/ui/button/dropdown-button.tsx @@ -1,9 +1,6 @@ import { ArrowDownSmallIcon } from '@blocksuite/icons'; -import { - type ButtonHTMLAttributes, - forwardRef, - type MouseEventHandler, -} from 'react'; +import type { ButtonHTMLAttributes, MouseEventHandler } from 'react'; +import { forwardRef } from 'react'; import * as styles from './styles.css'; diff --git a/packages/frontend/component/src/ui/button/icon-button.stories.tsx b/packages/frontend/component/src/ui/button/icon-button.stories.tsx index 7f7d23b888..279faac1c2 100644 --- a/packages/frontend/component/src/ui/button/icon-button.stories.tsx +++ b/packages/frontend/component/src/ui/button/icon-button.stories.tsx @@ -1,7 +1,8 @@ import { InformationIcon } from '@blocksuite/icons'; import type { Meta, StoryFn } from '@storybook/react'; -import { IconButton, type IconButtonProps } from './icon-button'; +import type { IconButtonProps } from './icon-button'; +import { IconButton } from './icon-button'; export default { title: 'UI/IconButton', component: IconButton, diff --git a/packages/frontend/component/src/ui/button/icon-button.tsx b/packages/frontend/component/src/ui/button/icon-button.tsx index 880bed1414..5447905ae2 100644 --- a/packages/frontend/component/src/ui/button/icon-button.tsx +++ b/packages/frontend/component/src/ui/button/icon-button.tsx @@ -1,6 +1,6 @@ import clsx from 'clsx'; -import type { HTMLAttributes, PropsWithChildren } from 'react'; -import { forwardRef, type ReactElement } from 'react'; +import type { HTMLAttributes, PropsWithChildren, ReactElement } from 'react'; +import { forwardRef } from 'react'; import { Loading } from '../loading'; import type { ButtonType } from './button'; diff --git a/packages/frontend/component/src/ui/button/radio.tsx b/packages/frontend/component/src/ui/button/radio.tsx index 0ddaef2146..4c0b3cc30c 100644 --- a/packages/frontend/component/src/ui/button/radio.tsx +++ b/packages/frontend/component/src/ui/button/radio.tsx @@ -4,7 +4,8 @@ import type { } from '@radix-ui/react-radio-group'; import * as RadioGroup from '@radix-ui/react-radio-group'; import clsx from 'clsx'; -import { type CSSProperties, forwardRef } from 'react'; +import type { CSSProperties } from 'react'; +import { forwardRef } from 'react'; import * as styles from './styles.css'; diff --git a/packages/frontend/component/src/ui/checkbox/checkbox.tsx b/packages/frontend/component/src/ui/checkbox/checkbox.tsx index d602083af3..d8e5dc1843 100644 --- a/packages/frontend/component/src/ui/checkbox/checkbox.tsx +++ b/packages/frontend/component/src/ui/checkbox/checkbox.tsx @@ -1,6 +1,7 @@ // components/checkbox.tsx import clsx from 'clsx'; -import { type HTMLAttributes, useCallback, useEffect, useRef } from 'react'; +import type { HTMLAttributes } from 'react'; +import { useCallback, useEffect, useRef } from 'react'; import * as icons from './icons'; import * as styles from './index.css'; diff --git a/packages/frontend/component/src/ui/date-picker/calendar/calendar.tsx b/packages/frontend/component/src/ui/date-picker/calendar/calendar.tsx index 51bfb169fb..329f9db250 100644 --- a/packages/frontend/component/src/ui/date-picker/calendar/calendar.tsx +++ b/packages/frontend/component/src/ui/date-picker/calendar/calendar.tsx @@ -6,8 +6,8 @@ import * as styles from './calendar.css'; import { DATE_MAX, DATE_MIN } from './constants'; import { DayPicker } from './day-picker'; import { MonthPicker } from './month-picker'; -import type { SelectMode } from './types'; -import { type DatePickerProps, defaultDatePickerProps } from './types'; +import type { DatePickerProps, SelectMode } from './types'; +import { defaultDatePickerProps } from './types'; import { YearPicker } from './year-picker'; export type { DatePickerProps } from './types'; diff --git a/packages/frontend/component/src/ui/date-picker/calendar/items.tsx b/packages/frontend/component/src/ui/date-picker/calendar/items.tsx index 81a5ac325c..a934f43444 100644 --- a/packages/frontend/component/src/ui/date-picker/calendar/items.tsx +++ b/packages/frontend/component/src/ui/date-picker/calendar/items.tsx @@ -1,13 +1,8 @@ import { ArrowLeftSmallIcon, ArrowRightSmallIcon } from '@blocksuite/icons'; import { assignInlineVars } from '@vanilla-extract/dynamic'; import clsx from 'clsx'; -import { - forwardRef, - type HTMLAttributes, - memo, - type PropsWithChildren, - type ReactNode, -} from 'react'; +import type { HTMLAttributes, PropsWithChildren, ReactNode } from 'react'; +import { forwardRef, memo } from 'react'; import { IconButton } from '../../button'; import * as styles from './calendar.css'; diff --git a/packages/frontend/component/src/ui/date-picker/week-date-picker.tsx b/packages/frontend/component/src/ui/date-picker/week-date-picker.tsx index 9d2714d481..365909d4c1 100644 --- a/packages/frontend/component/src/ui/date-picker/week-date-picker.tsx +++ b/packages/frontend/component/src/ui/date-picker/week-date-picker.tsx @@ -1,9 +1,8 @@ import { ArrowLeftSmallIcon, ArrowRightSmallIcon } from '@blocksuite/icons'; import clsx from 'clsx'; import dayjs from 'dayjs'; +import type { ForwardedRef, HTMLAttributes } from 'react'; import { - type ForwardedRef, - type HTMLAttributes, memo, useCallback, useEffect, diff --git a/packages/frontend/component/src/ui/divider/divider.stories.tsx b/packages/frontend/component/src/ui/divider/divider.stories.tsx index bdffb91aff..3d0a870123 100644 --- a/packages/frontend/component/src/ui/divider/divider.stories.tsx +++ b/packages/frontend/component/src/ui/divider/divider.stories.tsx @@ -1,6 +1,7 @@ import type { Meta, StoryFn } from '@storybook/react'; -import { Divider, type DividerProps } from './index'; +import type { DividerProps } from './index'; +import { Divider } from './index'; export default { title: 'UI/Divider', diff --git a/packages/frontend/component/src/ui/editable/inline-edit.stories.tsx b/packages/frontend/component/src/ui/editable/inline-edit.stories.tsx index b7ad44bfe0..694ab14558 100644 --- a/packages/frontend/component/src/ui/editable/inline-edit.stories.tsx +++ b/packages/frontend/component/src/ui/editable/inline-edit.stories.tsx @@ -3,7 +3,8 @@ import { useCallback, useRef, useState } from 'react'; import { Button } from '../button'; import { ResizePanel } from '../resize-panel/resize-panel'; -import { InlineEdit, type InlineEditHandle } from './inline-edit'; +import type { InlineEditHandle } from './inline-edit'; +import { InlineEdit } from './inline-edit'; export default { title: 'UI/Editable/Inline Edit', diff --git a/packages/frontend/component/src/ui/empty/empty.stories.tsx b/packages/frontend/component/src/ui/empty/empty.stories.tsx index 15ba1c497d..b25f112682 100644 --- a/packages/frontend/component/src/ui/empty/empty.stories.tsx +++ b/packages/frontend/component/src/ui/empty/empty.stories.tsx @@ -1,6 +1,7 @@ import type { Meta, StoryFn } from '@storybook/react'; -import { Empty, type EmptyContentProps } from './index'; +import type { EmptyContentProps } from './index'; +import { Empty } from './index'; export default { title: 'UI/Empty', diff --git a/packages/frontend/component/src/ui/input/input.stories.tsx b/packages/frontend/component/src/ui/input/input.stories.tsx index 2c7819532d..c04238e60d 100644 --- a/packages/frontend/component/src/ui/input/input.stories.tsx +++ b/packages/frontend/component/src/ui/input/input.stories.tsx @@ -1,7 +1,8 @@ import { InformationIcon } from '@blocksuite/icons'; import type { Meta, StoryFn } from '@storybook/react'; -import { Input, type InputProps } from './index'; +import type { InputProps } from './index'; +import { Input } from './index'; export default { title: 'UI/Input', diff --git a/packages/frontend/component/src/ui/loading/loading.stories.tsx b/packages/frontend/component/src/ui/loading/loading.stories.tsx index ec1d8ca25a..cd6ff5d714 100644 --- a/packages/frontend/component/src/ui/loading/loading.stories.tsx +++ b/packages/frontend/component/src/ui/loading/loading.stories.tsx @@ -1,6 +1,7 @@ import type { Meta, StoryFn } from '@storybook/react'; -import { Loading, type LoadingProps } from './loading'; +import type { LoadingProps } from './loading'; +import { Loading } from './loading'; export default { title: 'UI/Loading', diff --git a/packages/frontend/component/src/ui/lottie/collections-icon.stories.tsx b/packages/frontend/component/src/ui/lottie/collections-icon.stories.tsx index c6d07f3489..bd2cacd84b 100644 --- a/packages/frontend/component/src/ui/lottie/collections-icon.stories.tsx +++ b/packages/frontend/component/src/ui/lottie/collections-icon.stories.tsx @@ -1,9 +1,7 @@ import type { Meta, StoryFn } from '@storybook/react'; -import { - AnimatedCollectionsIcon, - type CollectionsIconProps, -} from './collections-icon'; +import type { CollectionsIconProps } from './collections-icon'; +import { AnimatedCollectionsIcon } from './collections-icon'; export default { title: 'UI/Lottie/Collection Icons', diff --git a/packages/frontend/component/src/ui/lottie/collections-icon.tsx b/packages/frontend/component/src/ui/lottie/collections-icon.tsx index 701d0f4c0a..dce202f0b0 100644 --- a/packages/frontend/component/src/ui/lottie/collections-icon.tsx +++ b/packages/frontend/component/src/ui/lottie/collections-icon.tsx @@ -1,5 +1,6 @@ import clsx from 'clsx'; -import Lottie, { type LottieRef } from 'lottie-react'; +import type { LottieRef } from 'lottie-react'; +import Lottie from 'lottie-react'; import { useEffect, useRef } from 'react'; import animationData from './collections-icon.json'; diff --git a/packages/frontend/component/src/ui/lottie/delete-icon.stories.tsx b/packages/frontend/component/src/ui/lottie/delete-icon.stories.tsx index 4d72581a29..86c9898d17 100644 --- a/packages/frontend/component/src/ui/lottie/delete-icon.stories.tsx +++ b/packages/frontend/component/src/ui/lottie/delete-icon.stories.tsx @@ -1,6 +1,7 @@ import type { Meta, StoryFn } from '@storybook/react'; -import { AnimatedDeleteIcon, type DeleteIconProps } from './delete-icon'; +import type { DeleteIconProps } from './delete-icon'; +import { AnimatedDeleteIcon } from './delete-icon'; export default { title: 'UI/Lottie/Delete Icon', diff --git a/packages/frontend/component/src/ui/lottie/delete-icon.tsx b/packages/frontend/component/src/ui/lottie/delete-icon.tsx index 48aaf5c47f..97f50d45e4 100644 --- a/packages/frontend/component/src/ui/lottie/delete-icon.tsx +++ b/packages/frontend/component/src/ui/lottie/delete-icon.tsx @@ -1,5 +1,6 @@ import clsx from 'clsx'; -import Lottie, { type LottieRef } from 'lottie-react'; +import type { LottieRef } from 'lottie-react'; +import Lottie from 'lottie-react'; import { useEffect, useRef } from 'react'; import animationData from './delete-icon.json'; diff --git a/packages/frontend/component/src/ui/menu/menu-icon.tsx b/packages/frontend/component/src/ui/menu/menu-icon.tsx index f0b1497f01..60f057a9b7 100644 --- a/packages/frontend/component/src/ui/menu/menu-icon.tsx +++ b/packages/frontend/component/src/ui/menu/menu-icon.tsx @@ -1,6 +1,6 @@ import clsx from 'clsx'; -import type { PropsWithChildren, ReactNode } from 'react'; -import { forwardRef, type HTMLAttributes, useMemo } from 'react'; +import type { HTMLAttributes, PropsWithChildren, ReactNode } from 'react'; +import { forwardRef, useMemo } from 'react'; import { menuItemIcon } from './styles.css'; diff --git a/packages/frontend/component/src/ui/menu/menu-trigger.stories.tsx b/packages/frontend/component/src/ui/menu/menu-trigger.stories.tsx index 6a888057a4..7aebf22368 100644 --- a/packages/frontend/component/src/ui/menu/menu-trigger.stories.tsx +++ b/packages/frontend/component/src/ui/menu/menu-trigger.stories.tsx @@ -1,6 +1,7 @@ import type { Meta, StoryFn } from '@storybook/react'; -import { MenuTrigger, type MenuTriggerProps } from './index'; +import type { MenuTriggerProps } from './index'; +import { MenuTrigger } from './index'; export default { title: 'UI/MenuTrigger', diff --git a/packages/frontend/component/src/ui/menu/menu-trigger.tsx b/packages/frontend/component/src/ui/menu/menu-trigger.tsx index 483e83c8d0..58bfc1aa7b 100644 --- a/packages/frontend/component/src/ui/menu/menu-trigger.tsx +++ b/packages/frontend/component/src/ui/menu/menu-trigger.tsx @@ -1,13 +1,13 @@ import { ArrowDownSmallIcon } from '@blocksuite/icons'; import { assignInlineVars } from '@vanilla-extract/dynamic'; import clsx from 'clsx'; -import type { PropsWithChildren } from 'react'; -import { - type CSSProperties, - forwardRef, - type HTMLAttributes, - type ReactNode, +import type { + CSSProperties, + HTMLAttributes, + PropsWithChildren, + ReactNode, } from 'react'; +import { forwardRef } from 'react'; import { MenuIcon } from './menu-icon'; import * as styles from './styles.css'; diff --git a/packages/frontend/component/src/ui/menu/menu.stories.tsx b/packages/frontend/component/src/ui/menu/menu.stories.tsx index 849128bc8c..1a59585e6a 100644 --- a/packages/frontend/component/src/ui/menu/menu.stories.tsx +++ b/packages/frontend/component/src/ui/menu/menu.stories.tsx @@ -1,15 +1,15 @@ import { InformationIcon } from '@blocksuite/icons'; import type { Meta, StoryFn } from '@storybook/react'; -import { type ReactNode, useCallback, useState } from 'react'; +import type { ReactNode } from 'react'; +import { useCallback, useState } from 'react'; import { Button } from '../button'; import { Tooltip } from '../tooltip'; +import type { MenuItemProps, MenuProps } from './index'; import { Menu, MenuIcon, MenuItem, - type MenuItemProps, - type MenuProps, MenuSeparator, MenuSub, MenuTrigger, diff --git a/packages/frontend/component/src/ui/menu/use-menu-item.tsx b/packages/frontend/component/src/ui/menu/use-menu-item.tsx index a3b4a3a296..b690d5e3fe 100644 --- a/packages/frontend/component/src/ui/menu/use-menu-item.tsx +++ b/packages/frontend/component/src/ui/menu/use-menu-item.tsx @@ -2,7 +2,7 @@ import { DoneIcon } from '@blocksuite/icons'; import clsx from 'clsx'; import { useMemo } from 'react'; -import { type MenuItemProps } from './menu.types'; +import type { MenuItemProps } from './menu.types'; import { MenuIcon } from './menu-icon'; import * as styles from './styles.css'; diff --git a/packages/frontend/component/src/ui/modal/confirm-modal.tsx b/packages/frontend/component/src/ui/modal/confirm-modal.tsx index 64ea4e2ae8..35a4093bdc 100644 --- a/packages/frontend/component/src/ui/modal/confirm-modal.tsx +++ b/packages/frontend/component/src/ui/modal/confirm-modal.tsx @@ -3,7 +3,8 @@ import clsx from 'clsx'; import type { ButtonProps } from '../button'; import { Button } from '../button'; -import { Modal, type ModalProps } from './modal'; +import type { ModalProps } from './modal'; +import { Modal } from './modal'; import * as styles from './styles.css'; export interface ConfirmModalProps extends ModalProps { diff --git a/packages/frontend/component/src/ui/modal/modal.stories.tsx b/packages/frontend/component/src/ui/modal/modal.stories.tsx index 30e3264051..994abb90c5 100644 --- a/packages/frontend/component/src/ui/modal/modal.stories.tsx +++ b/packages/frontend/component/src/ui/modal/modal.stories.tsx @@ -2,10 +2,14 @@ import type { Meta, StoryFn } from '@storybook/react'; import { useCallback, useState } from 'react'; import { Button } from '../button'; -import { Input, type InputProps } from '../input'; -import { ConfirmModal, type ConfirmModalProps } from './confirm-modal'; -import { Modal, type ModalProps } from './modal'; -import { OverlayModal, type OverlayModalProps } from './overlay-modal'; +import type { InputProps } from '../input'; +import { Input } from '../input'; +import type { ConfirmModalProps } from './confirm-modal'; +import { ConfirmModal } from './confirm-modal'; +import type { ModalProps } from './modal'; +import { Modal } from './modal'; +import type { OverlayModalProps } from './overlay-modal'; +import { OverlayModal } from './overlay-modal'; export default { title: 'UI/Modal', diff --git a/packages/frontend/component/src/ui/modal/modal.tsx b/packages/frontend/component/src/ui/modal/modal.tsx index b8a23631c3..39a586a810 100644 --- a/packages/frontend/component/src/ui/modal/modal.tsx +++ b/packages/frontend/component/src/ui/modal/modal.tsx @@ -8,9 +8,11 @@ import type { import * as Dialog from '@radix-ui/react-dialog'; import { assignInlineVars } from '@vanilla-extract/dynamic'; import clsx from 'clsx'; -import { type CSSProperties, forwardRef } from 'react'; +import type { CSSProperties } from 'react'; +import { forwardRef } from 'react'; -import { IconButton, type IconButtonProps } from '../button'; +import type { IconButtonProps } from '../button'; +import { IconButton } from '../button'; import * as styles from './styles.css'; export interface ModalProps extends DialogProps { diff --git a/packages/frontend/component/src/ui/modal/overlay-modal.tsx b/packages/frontend/component/src/ui/modal/overlay-modal.tsx index 88fc22e65f..eb06eec8f2 100644 --- a/packages/frontend/component/src/ui/modal/overlay-modal.tsx +++ b/packages/frontend/component/src/ui/modal/overlay-modal.tsx @@ -3,8 +3,10 @@ import { cssVar } from '@toeverything/theme'; import { memo, useCallback } from 'react'; import { Link } from 'react-router-dom'; -import { Button, type ButtonProps } from '../button'; -import { Modal, type ModalProps } from './modal'; +import type { ButtonProps } from '../button'; +import { Button } from '../button'; +import type { ModalProps } from './modal'; +import { Modal } from './modal'; import * as styles from './overlay-modal.css'; const defaultContentOptions: ModalProps['contentOptions'] = { diff --git a/packages/frontend/component/src/ui/popover/popover.tsx b/packages/frontend/component/src/ui/popover/popover.tsx index e9031c79c8..1f5c794fa7 100644 --- a/packages/frontend/component/src/ui/popover/popover.tsx +++ b/packages/frontend/component/src/ui/popover/popover.tsx @@ -5,7 +5,8 @@ import type { } from '@radix-ui/react-popover'; import * as PopoverPrimitive from '@radix-ui/react-popover'; import clsx from 'clsx'; -import { type ReactNode, useMemo } from 'react'; +import type { ReactNode } from 'react'; +import { useMemo } from 'react'; import * as styles from './styles.css'; diff --git a/packages/frontend/component/src/ui/resize-panel/resize-panel.tsx b/packages/frontend/component/src/ui/resize-panel/resize-panel.tsx index 778af0c008..be5a61be29 100644 --- a/packages/frontend/component/src/ui/resize-panel/resize-panel.tsx +++ b/packages/frontend/component/src/ui/resize-panel/resize-panel.tsx @@ -1,10 +1,6 @@ import clsx from 'clsx'; -import { - type HTMLAttributes, - type PropsWithChildren, - useEffect, - useRef, -} from 'react'; +import type { HTMLAttributes, PropsWithChildren } from 'react'; +import { useEffect, useRef } from 'react'; import * as styles from './styles.css'; diff --git a/packages/frontend/component/src/ui/scrollbar/scrollable.tsx b/packages/frontend/component/src/ui/scrollbar/scrollable.tsx index 7b2da6585f..93287ccd88 100644 --- a/packages/frontend/component/src/ui/scrollbar/scrollable.tsx +++ b/packages/frontend/component/src/ui/scrollbar/scrollable.tsx @@ -1,6 +1,7 @@ import * as ScrollArea from '@radix-ui/react-scroll-area'; import clsx from 'clsx'; -import { forwardRef, type RefAttributes } from 'react'; +import type { RefAttributes } from 'react'; +import { forwardRef } from 'react'; import * as styles from './index.css'; diff --git a/packages/frontend/component/src/ui/scrollbar/scrollbar.stories.tsx b/packages/frontend/component/src/ui/scrollbar/scrollbar.stories.tsx index a7f470f3f7..6b0ac811b6 100644 --- a/packages/frontend/component/src/ui/scrollbar/scrollbar.stories.tsx +++ b/packages/frontend/component/src/ui/scrollbar/scrollbar.stories.tsx @@ -1,6 +1,7 @@ import type { Meta, StoryFn } from '@storybook/react'; -import { ScrollableContainer, type ScrollableContainerProps } from './index'; +import type { ScrollableContainerProps } from './index'; +import { ScrollableContainer } from './index'; export default { title: 'UI/Scrollbar', diff --git a/packages/frontend/component/src/ui/scrollbar/scrollbar.tsx b/packages/frontend/component/src/ui/scrollbar/scrollbar.tsx index d082ce5e2f..2d2291428a 100644 --- a/packages/frontend/component/src/ui/scrollbar/scrollbar.tsx +++ b/packages/frontend/component/src/ui/scrollbar/scrollbar.tsx @@ -1,6 +1,7 @@ import * as ScrollArea from '@radix-ui/react-scroll-area'; import clsx from 'clsx'; -import { type PropsWithChildren, useRef } from 'react'; +import type { PropsWithChildren } from 'react'; +import { useRef } from 'react'; import * as styles from './index.css'; import { useHasScrollTop } from './use-has-scroll-top'; diff --git a/packages/frontend/component/src/ui/scrollbar/use-has-scroll-top.tsx b/packages/frontend/component/src/ui/scrollbar/use-has-scroll-top.tsx index 31088ece8e..b5f5cace49 100644 --- a/packages/frontend/component/src/ui/scrollbar/use-has-scroll-top.tsx +++ b/packages/frontend/component/src/ui/scrollbar/use-has-scroll-top.tsx @@ -1,4 +1,5 @@ -import { type RefObject, useEffect, useState } from 'react'; +import type { RefObject } from 'react'; +import { useEffect, useState } from 'react'; export function useHasScrollTop(ref: RefObject | null) { const [hasScrollTop, setHasScrollTop] = useState(false); diff --git a/packages/frontend/component/src/ui/skeleton/skeleton.stories.tsx b/packages/frontend/component/src/ui/skeleton/skeleton.stories.tsx index 8ee1f7c3d3..1df7ea8e7d 100644 --- a/packages/frontend/component/src/ui/skeleton/skeleton.stories.tsx +++ b/packages/frontend/component/src/ui/skeleton/skeleton.stories.tsx @@ -1,6 +1,7 @@ import type { Meta, StoryFn } from '@storybook/react'; -import { Skeleton, type SkeletonProps } from './index'; +import type { SkeletonProps } from './index'; +import { Skeleton } from './index'; export default { title: 'UI/Skeleton', diff --git a/packages/frontend/component/src/ui/switch/switch.stories.tsx b/packages/frontend/component/src/ui/switch/switch.stories.tsx index c9d08eedd1..2f3593355b 100644 --- a/packages/frontend/component/src/ui/switch/switch.stories.tsx +++ b/packages/frontend/component/src/ui/switch/switch.stories.tsx @@ -1,6 +1,7 @@ import type { Meta, StoryFn } from '@storybook/react'; -import { Switch, type SwitchProps } from './index'; +import type { SwitchProps } from './index'; +import { Switch } from './index'; export default { title: 'UI/Switch', diff --git a/packages/frontend/component/src/ui/switch/switch.tsx b/packages/frontend/component/src/ui/switch/switch.tsx index 8b3cb01e6f..b8a78ac9f7 100644 --- a/packages/frontend/component/src/ui/switch/switch.tsx +++ b/packages/frontend/component/src/ui/switch/switch.tsx @@ -1,11 +1,7 @@ // components/switch.tsx import clsx from 'clsx'; -import { - type HTMLAttributes, - type ReactNode, - useCallback, - useState, -} from 'react'; +import type { HTMLAttributes, ReactNode } from 'react'; +import { useCallback, useState } from 'react'; import * as styles from './index.css'; diff --git a/packages/frontend/component/src/ui/tooltip/tooltip.stories.tsx b/packages/frontend/component/src/ui/tooltip/tooltip.stories.tsx index 13942d6628..db9010a6dd 100644 --- a/packages/frontend/component/src/ui/tooltip/tooltip.stories.tsx +++ b/packages/frontend/component/src/ui/tooltip/tooltip.stories.tsx @@ -1,7 +1,8 @@ import type { Meta, StoryFn } from '@storybook/react'; import { Button } from '../button'; -import Tooltip, { type TooltipProps } from './index'; +import type { TooltipProps } from './index'; +import Tooltip from './index'; export default { title: 'UI/Tooltip', diff --git a/packages/frontend/core/src/bootstrap/edgeless-template.ts b/packages/frontend/core/src/bootstrap/edgeless-template.ts index 5bd085e100..da9a6c92aa 100644 --- a/packages/frontend/core/src/bootstrap/edgeless-template.ts +++ b/packages/frontend/core/src/bootstrap/edgeless-template.ts @@ -1,7 +1,5 @@ import { builtInTemplates } from '@affine/templates/edgeless'; -import { - EdgelessTemplatePanel, - type TemplateManager, -} from '@blocksuite/blocks'; +import type { TemplateManager } from '@blocksuite/blocks'; +import { EdgelessTemplatePanel } from '@blocksuite/blocks'; EdgelessTemplatePanel.templates.extend(builtInTemplates as TemplateManager); diff --git a/packages/frontend/core/src/commands/affine-settings.tsx b/packages/frontend/core/src/commands/affine-settings.tsx index 26f5d1797d..c3762709da 100644 --- a/packages/frontend/core/src/commands/affine-settings.tsx +++ b/packages/frontend/core/src/commands/affine-settings.tsx @@ -1,12 +1,12 @@ import type { useAFFiNEI18N } from '@affine/i18n/hooks'; import { SettingsIcon } from '@blocksuite/icons'; import type { AffineEditorContainer } from '@blocksuite/presets'; -import { appSettingAtom } from '@toeverything/infra'; import { + appSettingAtom, PreconditionStrategy, registerAffineCommand, } from '@toeverything/infra'; -import { type createStore } from 'jotai'; +import type { createStore } from 'jotai'; import type { useTheme } from 'next-themes'; import { openQuickSearchModalAtom } from '../atoms'; diff --git a/packages/frontend/core/src/components/affine/affine-error-boundary/affine-error-fallback.tsx b/packages/frontend/core/src/components/affine/affine-error-boundary/affine-error-fallback.tsx index f3844529fe..36c9248c17 100644 --- a/packages/frontend/core/src/components/affine/affine-error-boundary/affine-error-fallback.tsx +++ b/packages/frontend/core/src/components/affine/affine-error-boundary/affine-error-fallback.tsx @@ -4,10 +4,8 @@ import type { FC } from 'react'; import { useMemo } from 'react'; import * as styles from './affine-error-fallback.css'; -import { - ERROR_REFLECT_KEY, - type FallbackProps, -} from './error-basic/fallback-creator'; +import type { FallbackProps } from './error-basic/fallback-creator'; +import { ERROR_REFLECT_KEY } from './error-basic/fallback-creator'; import { DumpInfo } from './error-basic/info-logger'; import { AnyErrorFallback } from './error-fallbacks/any-error-fallback'; import { NoPageRootFallback } from './error-fallbacks/no-page-root-fallback'; diff --git a/packages/frontend/core/src/components/affine/affine-error-boundary/error-basic/error-detail.tsx b/packages/frontend/core/src/components/affine/affine-error-boundary/error-basic/error-detail.tsx index c665c1f7cc..abd512fe4d 100644 --- a/packages/frontend/core/src/components/affine/affine-error-boundary/error-basic/error-detail.tsx +++ b/packages/frontend/core/src/components/affine/affine-error-boundary/error-basic/error-detail.tsx @@ -3,12 +3,8 @@ import { useAsyncCallback } from '@affine/core/hooks/affine-async-hooks'; import { Trans } from '@affine/i18n'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { useTheme } from 'next-themes'; -import { - type FC, - type PropsWithChildren, - type ReactNode, - useState, -} from 'react'; +import type { FC, PropsWithChildren, ReactNode } from 'react'; +import { useState } from 'react'; import imageUrlFor404 from '../error-assets/404-status.assets.svg'; import imageUrlForDark500 from '../error-assets/dark-500-status.assets.svg'; diff --git a/packages/frontend/core/src/components/affine/affine-error-boundary/error-basic/info-logger.tsx b/packages/frontend/core/src/components/affine/affine-error-boundary/error-basic/info-logger.tsx index a212fcab5a..2fc161d1c0 100644 --- a/packages/frontend/core/src/components/affine/affine-error-boundary/error-basic/info-logger.tsx +++ b/packages/frontend/core/src/components/affine/affine-error-boundary/error-basic/info-logger.tsx @@ -1,6 +1,8 @@ -import { WorkspaceListService } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; -import { useLiveData } from '@toeverything/infra'; +import { + useLiveData, + useService, + WorkspaceListService, +} from '@toeverything/infra'; import { useEffect } from 'react'; import { useLocation, useParams } from 'react-router-dom'; diff --git a/packages/frontend/core/src/components/affine/affine-error-boundary/error-fallbacks/any-error-fallback.tsx b/packages/frontend/core/src/components/affine/affine-error-boundary/error-fallbacks/any-error-fallback.tsx index 759af60973..5528ad77c9 100644 --- a/packages/frontend/core/src/components/affine/affine-error-boundary/error-fallbacks/any-error-fallback.tsx +++ b/packages/frontend/core/src/components/affine/affine-error-boundary/error-fallbacks/any-error-fallback.tsx @@ -1,5 +1,6 @@ import { useAFFiNEI18N } from '@affine/i18n/hooks'; -import { type FC, useCallback } from 'react'; +import type { FC } from 'react'; +import { useCallback } from 'react'; import { ErrorDetail } from '../error-basic/error-detail'; import type { FallbackProps } from '../error-basic/fallback-creator'; diff --git a/packages/frontend/core/src/components/affine/affine-error-boundary/index.tsx b/packages/frontend/core/src/components/affine/affine-error-boundary/index.tsx index 9ee5e1cc5e..08f8a18bb1 100644 --- a/packages/frontend/core/src/components/affine/affine-error-boundary/index.tsx +++ b/packages/frontend/core/src/components/affine/affine-error-boundary/index.tsx @@ -3,7 +3,7 @@ import type { FC, PropsWithChildren } from 'react'; import { useCallback } from 'react'; import { AffineErrorFallback } from './affine-error-fallback'; -import { type FallbackProps } from './error-basic/fallback-creator'; +import type { FallbackProps } from './error-basic/fallback-creator'; export { type FallbackProps } from './error-basic/fallback-creator'; diff --git a/packages/frontend/core/src/components/affine/app-container.tsx b/packages/frontend/core/src/components/affine/app-container.tsx index d680931ad9..aacc80c052 100644 --- a/packages/frontend/core/src/components/affine/app-container.tsx +++ b/packages/frontend/core/src/components/affine/app-container.tsx @@ -1,8 +1,6 @@ import { useAppSettingHelper } from '../../hooks/affine/use-app-setting-helper'; -import { - AppContainer as AppContainerWithoutSettings, - type WorkspaceRootProps, -} from '../workspace'; +import type { WorkspaceRootProps } from '../workspace'; +import { AppContainer as AppContainerWithoutSettings } from '../workspace'; export const AppContainer = (props: WorkspaceRootProps) => { const { appSettings } = useAppSettingHelper(); diff --git a/packages/frontend/core/src/components/affine/auth/after-sign-up-send-email.tsx b/packages/frontend/core/src/components/affine/auth/after-sign-up-send-email.tsx index 99890b0be7..6623c613b9 100644 --- a/packages/frontend/core/src/components/affine/auth/after-sign-up-send-email.tsx +++ b/packages/frontend/core/src/components/affine/auth/after-sign-up-send-email.tsx @@ -8,7 +8,8 @@ import { Button } from '@affine/component/ui/button'; import { useAsyncCallback } from '@affine/core/hooks/affine-async-hooks'; import { Trans } from '@affine/i18n'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; -import { type FC, useCallback } from 'react'; +import type { FC } from 'react'; +import { useCallback } from 'react'; import { useCurrentLoginStatus } from '../../../hooks/affine/use-current-login-status'; import type { AuthPanelProps } from './index'; diff --git a/packages/frontend/core/src/components/affine/auth/index.tsx b/packages/frontend/core/src/components/affine/auth/index.tsx index fe86068d03..52609d8dd4 100644 --- a/packages/frontend/core/src/components/affine/auth/index.tsx +++ b/packages/frontend/core/src/components/affine/auth/index.tsx @@ -1,8 +1,7 @@ -import { - AuthModal as AuthModalBase, - type AuthModalProps as AuthModalBaseProps, -} from '@affine/component/auth-components'; -import { type FC, useCallback, useMemo } from 'react'; +import type { AuthModalProps as AuthModalBaseProps } from '@affine/component/auth-components'; +import { AuthModal as AuthModalBase } from '@affine/component/auth-components'; +import type { FC } from 'react'; +import { useCallback, useMemo } from 'react'; import { AfterSignInSendEmail } from './after-sign-in-send-email'; import { AfterSignUpSendEmail } from './after-sign-up-send-email'; diff --git a/packages/frontend/core/src/components/affine/auth/no-access.tsx b/packages/frontend/core/src/components/affine/auth/no-access.tsx index 2d9cdc64ba..88762c3787 100644 --- a/packages/frontend/core/src/components/affine/auth/no-access.tsx +++ b/packages/frontend/core/src/components/affine/auth/no-access.tsx @@ -5,7 +5,8 @@ import { } from '@affine/component/auth-components'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { NewIcon } from '@blocksuite/icons'; -import { type FC, useCallback } from 'react'; +import type { FC } from 'react'; +import { useCallback } from 'react'; import { useCurrentLoginStatus } from '../../../hooks/affine/use-current-login-status'; import type { AuthPanelProps } from './index'; diff --git a/packages/frontend/core/src/components/affine/auth/oauth.tsx b/packages/frontend/core/src/components/affine/auth/oauth.tsx index cd92b4965e..c532024776 100644 --- a/packages/frontend/core/src/components/affine/auth/oauth.tsx +++ b/packages/frontend/core/src/components/affine/auth/oauth.tsx @@ -5,7 +5,8 @@ import { } from '@affine/core/hooks/affine/use-server-config'; import { OAuthProviderType } from '@affine/graphql'; import { GithubIcon, GoogleDuotoneIcon } from '@blocksuite/icons'; -import { type ReactElement, useCallback, useState } from 'react'; +import type { ReactElement } from 'react'; +import { useCallback, useState } from 'react'; import { useAuth } from './use-auth'; diff --git a/packages/frontend/core/src/components/affine/auth/sign-in.tsx b/packages/frontend/core/src/components/affine/auth/sign-in.tsx index aa5e8b0caf..390d87729a 100644 --- a/packages/frontend/core/src/components/affine/auth/sign-in.tsx +++ b/packages/frontend/core/src/components/affine/auth/sign-in.tsx @@ -5,16 +5,13 @@ import { } from '@affine/component/auth-components'; import { Button } from '@affine/component/ui/button'; import { useAsyncCallback } from '@affine/core/hooks/affine-async-hooks'; -import { - findGraphQLError, - type GetUserQuery, - getUserQuery, -} from '@affine/graphql'; +import type { GetUserQuery } from '@affine/graphql'; +import { findGraphQLError, getUserQuery } from '@affine/graphql'; import { Trans } from '@affine/i18n'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { ArrowDownBigIcon } from '@blocksuite/icons'; -import { type FC, useState } from 'react'; -import { useCallback } from 'react'; +import type { FC } from 'react'; +import { useCallback, useState } from 'react'; import { useCurrentLoginStatus } from '../../../hooks/affine/use-current-login-status'; import { useMutation } from '../../../hooks/use-mutation'; diff --git a/packages/frontend/core/src/components/affine/awareness/index.tsx b/packages/frontend/core/src/components/affine/awareness/index.tsx index f56d672fb1..32c7b32f1c 100644 --- a/packages/frontend/core/src/components/affine/awareness/index.tsx +++ b/packages/frontend/core/src/components/affine/awareness/index.tsx @@ -1,5 +1,4 @@ -import { useService } from '@toeverything/infra'; -import { useLiveData } from '@toeverything/infra'; +import { useLiveData, useService } from '@toeverything/infra'; import { Suspense, useEffect } from 'react'; import { useCurrentLoginStatus } from '../../../hooks/affine/use-current-login-status'; diff --git a/packages/frontend/core/src/components/affine/create-workspace-modal/index.tsx b/packages/frontend/core/src/components/affine/create-workspace-modal/index.tsx index e2ea6af94e..62210d1a19 100644 --- a/packages/frontend/core/src/components/affine/create-workspace-modal/index.tsx +++ b/packages/frontend/core/src/components/affine/create-workspace-modal/index.tsx @@ -1,9 +1,6 @@ import { Avatar, Input, Switch, toast } from '@affine/component'; -import { - ConfirmModal, - type ConfirmModalProps, - Modal, -} from '@affine/component/ui/modal'; +import type { ConfirmModalProps } from '@affine/component/ui/modal'; +import { ConfirmModal, Modal } from '@affine/component/ui/modal'; import { authAtom, openDisableCloudAlertModalAtom } from '@affine/core/atoms'; import { useCurrentLoginStatus } from '@affine/core/hooks/affine/use-current-login-status'; import { useAsyncCallback } from '@affine/core/hooks/affine-async-hooks'; @@ -12,13 +9,15 @@ import { apis } from '@affine/electron-api'; import { WorkspaceFlavour } from '@affine/env/workspace'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { _addLocalWorkspace } from '@affine/workspace-impl'; -import { WorkspaceManager } from '@toeverything/infra'; -import { buildShowcaseWorkspace, initEmptyPage } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; +import { + buildShowcaseWorkspace, + initEmptyPage, + useService, + WorkspaceManager, +} from '@toeverything/infra'; import { useSetAtom } from 'jotai'; import type { KeyboardEvent } from 'react'; -import { useLayoutEffect } from 'react'; -import { useCallback, useState } from 'react'; +import { useCallback, useLayoutEffect, useState } from 'react'; import { CloudSvg } from '../share-page-modal/cloud-svg'; import * as styles from './index.css'; diff --git a/packages/frontend/core/src/components/affine/enable-affine-cloud-modal/index.tsx b/packages/frontend/core/src/components/affine/enable-affine-cloud-modal/index.tsx index 441e0a82b9..bd33049e69 100644 --- a/packages/frontend/core/src/components/affine/enable-affine-cloud-modal/index.tsx +++ b/packages/frontend/core/src/components/affine/enable-affine-cloud-modal/index.tsx @@ -1,7 +1,5 @@ -import { - ConfirmModal, - type ConfirmModalProps, -} from '@affine/component/ui/modal'; +import type { ConfirmModalProps } from '@affine/component/ui/modal'; +import { ConfirmModal } from '@affine/component/ui/modal'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { useSetAtom } from 'jotai'; import { useCallback } from 'react'; diff --git a/packages/frontend/core/src/components/affine/language-menu/index.tsx b/packages/frontend/core/src/components/affine/language-menu/index.tsx index 9281e5c69c..6d30a02d3d 100644 --- a/packages/frontend/core/src/components/affine/language-menu/index.tsx +++ b/packages/frontend/core/src/components/affine/language-menu/index.tsx @@ -1,5 +1,6 @@ import { Menu, MenuItem, MenuTrigger } from '@affine/component/ui/menu'; -import { memo, type ReactElement } from 'react'; +import type { ReactElement } from 'react'; +import { memo } from 'react'; import { useLanguageHelper } from '../../../hooks/affine/use-language-helper'; diff --git a/packages/frontend/core/src/components/affine/onboarding/curve-paper/segments.tsx b/packages/frontend/core/src/components/affine/onboarding/curve-paper/segments.tsx index 80da82289d..0e318ad8f4 100644 --- a/packages/frontend/core/src/components/affine/onboarding/curve-paper/segments.tsx +++ b/packages/frontend/core/src/components/affine/onboarding/curve-paper/segments.tsx @@ -1,4 +1,4 @@ -import { type ReactNode } from 'react'; +import type { ReactNode } from 'react'; import { Segment } from './segment'; diff --git a/packages/frontend/core/src/components/affine/onboarding/onboarding.tsx b/packages/frontend/core/src/components/affine/onboarding/onboarding.tsx index 9a0751c5ab..cd6c86512d 100644 --- a/packages/frontend/core/src/components/affine/onboarding/onboarding.tsx +++ b/packages/frontend/core/src/components/affine/onboarding/onboarding.tsx @@ -1,4 +1,5 @@ -import { type CSSProperties, useCallback, useState } from 'react'; +import type { CSSProperties } from 'react'; +import { useCallback, useState } from 'react'; import { AnimateInTooltip } from './animate-in-tooltip'; import { articles } from './articles'; diff --git a/packages/frontend/core/src/components/affine/onboarding/paper-steps.tsx b/packages/frontend/core/src/components/affine/onboarding/paper-steps.tsx index bf6d400687..4323ea07d1 100644 --- a/packages/frontend/core/src/components/affine/onboarding/paper-steps.tsx +++ b/packages/frontend/core/src/components/affine/onboarding/paper-steps.tsx @@ -3,8 +3,12 @@ import { useCallback, useEffect, useState } from 'react'; import { AnimateIn } from './steps/animate-in'; import { EdgelessSwitch } from './steps/edgeless-switch'; import { Unfolding } from './steps/unfolding'; -import type { ArticleId, OnboardingStatus, OnboardingStep } from './types'; -import { type ArticleOption } from './types'; +import type { + ArticleId, + ArticleOption, + OnboardingStatus, + OnboardingStep, +} from './types'; interface PaperStepsProps { show?: boolean; diff --git a/packages/frontend/core/src/components/affine/onboarding/steps/animate-in.tsx b/packages/frontend/core/src/components/affine/onboarding/steps/animate-in.tsx index bec41cecdc..e6adc0f71e 100644 --- a/packages/frontend/core/src/components/affine/onboarding/steps/animate-in.tsx +++ b/packages/frontend/core/src/components/affine/onboarding/steps/animate-in.tsx @@ -1,7 +1,8 @@ import anime from 'animejs'; import { useEffect } from 'react'; -import { Paper, type PaperProps } from '../curve-paper/paper'; +import type { PaperProps } from '../curve-paper/paper'; +import { Paper } from '../curve-paper/paper'; import * as paperStyles from '../curve-paper/paper.css'; import type { ArticleOption } from '../types'; import * as styles from './animate-in.css'; diff --git a/packages/frontend/core/src/components/affine/onboarding/steps/edgeless-switch.tsx b/packages/frontend/core/src/components/affine/onboarding/steps/edgeless-switch.tsx index 43d2d48d13..1684960dad 100644 --- a/packages/frontend/core/src/components/affine/onboarding/steps/edgeless-switch.tsx +++ b/packages/frontend/core/src/components/affine/onboarding/steps/edgeless-switch.tsx @@ -1,13 +1,8 @@ import { Button } from '@affine/component'; import clsx from 'clsx'; import { debounce } from 'lodash-es'; -import { - type CSSProperties, - useCallback, - useEffect, - useRef, - useState, -} from 'react'; +import type { CSSProperties } from 'react'; +import { useCallback, useEffect, useRef, useState } from 'react'; import Logo from '../assets/logo'; import { OnboardingBlock } from '../switch-widgets/block'; diff --git a/packages/frontend/core/src/components/affine/onboarding/switch-widgets/block.tsx b/packages/frontend/core/src/components/affine/onboarding/switch-widgets/block.tsx index d564a6df8b..39e76585f0 100644 --- a/packages/frontend/core/src/components/affine/onboarding/switch-widgets/block.tsx +++ b/packages/frontend/core/src/components/affine/onboarding/switch-widgets/block.tsx @@ -1,6 +1,6 @@ import type { CSSProperties } from 'react'; -import { type EdgelessSwitchMode, type OnboardingBlockOption } from '../types'; +import type { EdgelessSwitchMode, OnboardingBlockOption } from '../types'; import { onboardingBlock } from './style.css'; interface OnboardingBlockProps extends OnboardingBlockOption { diff --git a/packages/frontend/core/src/components/affine/onboarding/switch-widgets/toolbar.tsx b/packages/frontend/core/src/components/affine/onboarding/switch-widgets/toolbar.tsx index 67f338f714..16e3e24eb1 100644 --- a/packages/frontend/core/src/components/affine/onboarding/switch-widgets/toolbar.tsx +++ b/packages/frontend/core/src/components/affine/onboarding/switch-widgets/toolbar.tsx @@ -1,4 +1,5 @@ -import { type CSSProperties, memo } from 'react'; +import type { CSSProperties } from 'react'; +import { memo } from 'react'; import { toolbar, toolbarPop } from './style.css'; diff --git a/packages/frontend/core/src/components/affine/page-history-modal/data.ts b/packages/frontend/core/src/components/affine/page-history-modal/data.ts index 49935e1898..bdc57e6e54 100644 --- a/packages/frontend/core/src/components/affine/page-history-modal/data.ts +++ b/packages/frontend/core/src/components/affine/page-history-modal/data.ts @@ -2,9 +2,9 @@ import { useDocMetaHelper } from '@affine/core/hooks/use-block-suite-page-meta'; import { useDocCollectionPage } from '@affine/core/hooks/use-block-suite-workspace-page'; import { timestampToLocalDate } from '@affine/core/utils'; import { DebugLogger } from '@affine/debug'; +import type { ListHistoryQuery } from '@affine/graphql'; import { fetchWithTraceReport, - type ListHistoryQuery, listHistoryQuery, recoverDocMutation, } from '@affine/graphql'; diff --git a/packages/frontend/core/src/components/affine/page-history-modal/history-modal.tsx b/packages/frontend/core/src/components/affine/page-history-modal/history-modal.tsx index e6651179eb..2da233d67f 100644 --- a/packages/frontend/core/src/components/affine/page-history-modal/history-modal.tsx +++ b/packages/frontend/core/src/components/affine/page-history-modal/history-modal.tsx @@ -10,16 +10,15 @@ import { useWorkspaceQuota } from '@affine/core/hooks/use-workspace-quota'; import { Trans } from '@affine/i18n'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { CloseIcon, ToggleCollapseIcon } from '@blocksuite/icons'; -import type { Doc as BlockSuiteDoc } from '@blocksuite/store'; -import { type DocCollection } from '@blocksuite/store'; +import type { Doc as BlockSuiteDoc, DocCollection } from '@blocksuite/store'; import * as Collapsible from '@radix-ui/react-collapsible'; import type { DialogContentProps } from '@radix-ui/react-dialog'; -import { Doc, type PageMode, Workspace } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; +import type { PageMode } from '@toeverything/infra'; +import { Doc, useService, Workspace } from '@toeverything/infra'; import { atom, useAtom, useSetAtom } from 'jotai'; +import type { PropsWithChildren } from 'react'; import { Fragment, - type PropsWithChildren, Suspense, useCallback, useLayoutEffect, diff --git a/packages/frontend/core/src/components/affine/page-properties/icons-selector.tsx b/packages/frontend/core/src/components/affine/page-properties/icons-selector.tsx index 8ebd539eee..5f74324813 100644 --- a/packages/frontend/core/src/components/affine/page-properties/icons-selector.tsx +++ b/packages/frontend/core/src/components/affine/page-properties/icons-selector.tsx @@ -3,7 +3,8 @@ import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { chunk } from 'lodash-es'; import { useEffect, useRef } from 'react'; -import { iconNames, nameToIcon, type PagePropertyIcon } from './icons-mapping'; +import type { PagePropertyIcon } from './icons-mapping'; +import { iconNames, nameToIcon } from './icons-mapping'; import * as styles from './icons-selector.css'; const iconsPerRow = 6; diff --git a/packages/frontend/core/src/components/affine/page-properties/menu-items.tsx b/packages/frontend/core/src/components/affine/page-properties/menu-items.tsx index 1bba6bcf80..552f66430b 100644 --- a/packages/frontend/core/src/components/affine/page-properties/menu-items.tsx +++ b/packages/frontend/core/src/components/affine/page-properties/menu-items.tsx @@ -1,26 +1,21 @@ +import type { MenuItemProps } from '@affine/component'; import { Input, MenuIcon, MenuItem, - type MenuItemProps, MenuSeparator, Scrollable, } from '@affine/component'; import type { PageInfoCustomPropertyMeta } from '@affine/core/modules/workspace/properties/schema'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; -import { - cloneElement, - isValidElement, - type KeyboardEventHandler, - type MouseEventHandler, - useCallback, -} from 'react'; +import type { KeyboardEventHandler, MouseEventHandler } from 'react'; +import { cloneElement, isValidElement, useCallback } from 'react'; +import type { PagePropertyIcon } from './icons-mapping'; import { getDefaultIconName, getSafeIconName, nameToIcon, - type PagePropertyIcon, } from './icons-mapping'; import { IconsSelectorButton } from './icons-selector'; import * as styles from './styles.css'; diff --git a/packages/frontend/core/src/components/affine/page-properties/property-row-value-renderer.tsx b/packages/frontend/core/src/components/affine/page-properties/property-row-value-renderer.tsx index dac2faab4b..99cfefefe5 100644 --- a/packages/frontend/core/src/components/affine/page-properties/property-row-value-renderer.tsx +++ b/packages/frontend/core/src/components/affine/page-properties/property-row-value-renderer.tsx @@ -10,13 +10,8 @@ import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { assertExists } from '@blocksuite/global/utils'; import { Doc, useService, Workspace } from '@toeverything/infra'; import { noop } from 'lodash-es'; -import { - type ChangeEventHandler, - useCallback, - useContext, - useEffect, - useState, -} from 'react'; +import type { ChangeEventHandler } from 'react'; +import { useCallback, useContext, useEffect, useState } from 'react'; import { managerContext } from './common'; import * as styles from './styles.css'; diff --git a/packages/frontend/core/src/components/affine/page-properties/table.tsx b/packages/frontend/core/src/components/affine/page-properties/table.tsx index e58871aff0..4776c63d68 100644 --- a/packages/frontend/core/src/components/affine/page-properties/table.tsx +++ b/packages/frontend/core/src/components/affine/page-properties/table.tsx @@ -1,10 +1,10 @@ +import type { MenuProps } from '@affine/component'; import { Button, IconButton, Menu, MenuIcon, MenuItem, - type MenuProps, Tooltip, } from '@affine/component'; import { useCurrentWorkspacePropertiesAdapter } from '@affine/core/hooks/use-affine-adapter'; @@ -28,10 +28,9 @@ import { ViewIcon, } from '@blocksuite/icons'; import type { Doc } from '@blocksuite/store'; +import type { DragEndEvent, DraggableAttributes } from '@dnd-kit/core'; import { DndContext, - type DragEndEvent, - type DraggableAttributes, PointerSensor, useSensor, useSensors, @@ -46,11 +45,13 @@ import clsx from 'clsx'; import { use } from 'foxact/use'; import { atom, useAtomValue, useSetAtom } from 'jotai'; import type React from 'react'; +import type { + CSSProperties, + MouseEvent, + MouseEventHandler, + PropsWithChildren, +} from 'react'; import { - type CSSProperties, - type MouseEvent, - type MouseEventHandler, - type PropsWithChildren, Suspense, useCallback, useContext, @@ -62,14 +63,11 @@ import { import { AffinePageReference } from '../reference-link'; import { managerContext } from './common'; import { ConfirmDeletePropertyModal } from './confirm-delete-property-modal'; -import { - getDefaultIconName, - nameToIcon, - type PagePropertyIcon, -} from './icons-mapping'; +import type { PagePropertyIcon } from './icons-mapping'; +import { getDefaultIconName, nameToIcon } from './icons-mapping'; +import type { MenuItemOption } from './menu-items'; import { EditPropertyNameMenuItem, - type MenuItemOption, PropertyTypeMenuItem, renderMenuItemOptions, } from './menu-items'; diff --git a/packages/frontend/core/src/components/affine/page-properties/tags-inline-editor.tsx b/packages/frontend/core/src/components/affine/page-properties/tags-inline-editor.tsx index 1d0b745a4f..3f83c166b5 100644 --- a/packages/frontend/core/src/components/affine/page-properties/tags-inline-editor.tsx +++ b/packages/frontend/core/src/components/affine/page-properties/tags-inline-editor.tsx @@ -1,30 +1,19 @@ -import { - IconButton, - Input, - Menu, - type MenuProps, - Scrollable, -} from '@affine/component'; +import type { MenuProps } from '@affine/component'; +import { IconButton, Input, Menu, Scrollable } from '@affine/component'; import { useNavigateHelper } from '@affine/core/hooks/use-navigate-helper'; import { DeleteTagConfirmModal, TagService } from '@affine/core/modules/tag'; import { WorkspaceLegacyProperties } from '@affine/core/modules/workspace'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { DeleteIcon, MoreHorizontalIcon, TagsIcon } from '@blocksuite/icons'; -import { useLiveData } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; +import { useLiveData, useService } from '@toeverything/infra'; import clsx from 'clsx'; -import { - type HTMLAttributes, - type PropsWithChildren, - useCallback, - useMemo, - useReducer, - useState, -} from 'react'; +import type { HTMLAttributes, PropsWithChildren } from 'react'; +import { useCallback, useMemo, useReducer, useState } from 'react'; import { TagItem, TempTagItem } from '../../page-list'; import { tagColors } from './common'; -import { type MenuItemOption, renderMenuItemOptions } from './menu-items'; +import type { MenuItemOption } from './menu-items'; +import { renderMenuItemOptions } from './menu-items'; import * as styles from './tags-inline-editor.css'; interface TagsEditorProps { diff --git a/packages/frontend/core/src/components/affine/reference-link/index.tsx b/packages/frontend/core/src/components/affine/reference-link/index.tsx index 8f3c14651e..29c7e3b37c 100644 --- a/packages/frontend/core/src/components/affine/reference-link/index.tsx +++ b/packages/frontend/core/src/components/affine/reference-link/index.tsx @@ -4,7 +4,7 @@ import { WorkbenchLink } from '@affine/core/modules/workbench'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { LinkedPageIcon, TodayIcon } from '@blocksuite/icons'; import type { DocCollection } from '@blocksuite/store'; -import { type PropsWithChildren } from 'react'; +import type { PropsWithChildren } from 'react'; import * as styles from './styles.css'; diff --git a/packages/frontend/core/src/components/affine/setting-modal/account-setting/index.tsx b/packages/frontend/core/src/components/affine/setting-modal/account-setting/index.tsx index b6a23a2aaa..42de0c33c3 100644 --- a/packages/frontend/core/src/components/affine/setting-modal/account-setting/index.tsx +++ b/packages/frontend/core/src/components/affine/setting-modal/account-setting/index.tsx @@ -20,14 +20,8 @@ import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { ArrowRightSmallIcon, CameraIcon } from '@blocksuite/icons'; import bytes from 'bytes'; import { useSetAtom } from 'jotai'; -import { - type FC, - type MouseEvent, - Suspense, - useCallback, - useMemo, - useState, -} from 'react'; +import type { FC, MouseEvent } from 'react'; +import { Suspense, useCallback, useMemo, useState } from 'react'; import { authAtom, diff --git a/packages/frontend/core/src/components/affine/setting-modal/general-setting/about/index.tsx b/packages/frontend/core/src/components/affine/setting-modal/general-setting/about/index.tsx index c51a488fcc..5774d0ff8a 100644 --- a/packages/frontend/core/src/components/affine/setting-modal/general-setting/about/index.tsx +++ b/packages/frontend/core/src/components/affine/setting-modal/general-setting/about/index.tsx @@ -1,7 +1,9 @@ import { Switch } from '@affine/component'; -import { SettingHeader } from '@affine/component/setting-components'; -import { SettingRow } from '@affine/component/setting-components'; -import { SettingWrapper } from '@affine/component/setting-components'; +import { + SettingHeader, + SettingRow, + SettingWrapper, +} from '@affine/component/setting-components'; import { useAppUpdater } from '@affine/core/hooks/use-app-updater'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { ArrowRightSmallIcon, OpenInNewIcon } from '@blocksuite/icons'; diff --git a/packages/frontend/core/src/components/affine/setting-modal/general-setting/appearance/date-format-setting.tsx b/packages/frontend/core/src/components/affine/setting-modal/general-setting/appearance/date-format-setting.tsx index ab0fa3e812..770e6cb486 100644 --- a/packages/frontend/core/src/components/affine/setting-modal/general-setting/appearance/date-format-setting.tsx +++ b/packages/frontend/core/src/components/affine/setting-modal/general-setting/appearance/date-format-setting.tsx @@ -1,5 +1,6 @@ import { Menu, MenuItem, MenuTrigger } from '@affine/component/ui/menu'; -import { dateFormatOptions, type DateFormats } from '@toeverything/infra'; +import type { DateFormats } from '@toeverything/infra'; +import { dateFormatOptions } from '@toeverything/infra'; import dayjs from 'dayjs'; import { useCallback } from 'react'; diff --git a/packages/frontend/core/src/components/affine/setting-modal/general-setting/appearance/index.tsx b/packages/frontend/core/src/components/affine/setting-modal/general-setting/appearance/index.tsx index b47bef92e4..d9490fa849 100644 --- a/packages/frontend/core/src/components/affine/setting-modal/general-setting/appearance/index.tsx +++ b/packages/frontend/core/src/components/affine/setting-modal/general-setting/appearance/index.tsx @@ -1,13 +1,12 @@ import { RadioButton, RadioButtonGroup, Switch } from '@affine/component'; -import { SettingHeader } from '@affine/component/setting-components'; -import { SettingRow } from '@affine/component/setting-components'; -import { SettingWrapper } from '@affine/component/setting-components'; -import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { - type AppSetting, - fontStyleOptions, - windowFrameStyleOptions, -} from '@toeverything/infra'; + SettingHeader, + SettingRow, + SettingWrapper, +} from '@affine/component/setting-components'; +import { useAFFiNEI18N } from '@affine/i18n/hooks'; +import type { AppSetting } from '@toeverything/infra'; +import { fontStyleOptions, windowFrameStyleOptions } from '@toeverything/infra'; import { useTheme } from 'next-themes'; import { useCallback } from 'react'; diff --git a/packages/frontend/core/src/components/affine/setting-modal/general-setting/billing/index.tsx b/packages/frontend/core/src/components/affine/setting-modal/general-setting/billing/index.tsx index 1ec3e0d402..64686fdb9f 100644 --- a/packages/frontend/core/src/components/affine/setting-modal/general-setting/billing/index.tsx +++ b/packages/frontend/core/src/components/affine/setting-modal/general-setting/billing/index.tsx @@ -8,10 +8,10 @@ import { import { Button, IconButton } from '@affine/component/ui/button'; import { Loading } from '@affine/component/ui/loading'; import { useAsyncCallback } from '@affine/core/hooks/affine-async-hooks'; +import type { InvoicesQuery } from '@affine/graphql'; import { createCustomerPortalMutation, getInvoicesCountQuery, - type InvoicesQuery, invoicesQuery, InvoiceStatus, pricesQuery, @@ -29,10 +29,8 @@ import { openSettingModalAtom } from '../../../../../atoms'; import { useCurrentLoginStatus } from '../../../../../hooks/affine/use-current-login-status'; import { useMutation } from '../../../../../hooks/use-mutation'; import { useQuery } from '../../../../../hooks/use-query'; -import { - type SubscriptionMutator, - useUserSubscription, -} from '../../../../../hooks/use-subscription'; +import type { SubscriptionMutator } from '../../../../../hooks/use-subscription'; +import { useUserSubscription } from '../../../../../hooks/use-subscription'; import { SWRErrorBoundary } from '../../../../pure/swr-error-bundary'; import { CancelAction, ResumeAction } from '../plans/actions'; import * as styles from './style.css'; diff --git a/packages/frontend/core/src/components/affine/setting-modal/general-setting/plans/index.tsx b/packages/frontend/core/src/components/affine/setting-modal/general-setting/plans/index.tsx index efd6b25f28..a24d2298f5 100644 --- a/packages/frontend/core/src/components/affine/setting-modal/general-setting/plans/index.tsx +++ b/packages/frontend/core/src/components/affine/setting-modal/general-setting/plans/index.tsx @@ -16,7 +16,8 @@ import { useCurrentLoginStatus } from '../../../../../hooks/affine/use-current-l import { useQuery } from '../../../../../hooks/use-query'; import { useUserSubscription } from '../../../../../hooks/use-subscription'; import { PlanLayout } from './layout'; -import { type FixedPrice, getPlanDetail, PlanCard } from './plan-card'; +import type { FixedPrice } from './plan-card'; +import { getPlanDetail, PlanCard } from './plan-card'; import { PlansSkeleton } from './skeleton'; import * as styles from './style.css'; diff --git a/packages/frontend/core/src/components/affine/setting-modal/general-setting/plans/modals.tsx b/packages/frontend/core/src/components/affine/setting-modal/general-setting/plans/modals.tsx index 816d364e82..9df712e6b3 100644 --- a/packages/frontend/core/src/components/affine/setting-modal/general-setting/plans/modals.tsx +++ b/packages/frontend/core/src/components/affine/setting-modal/general-setting/plans/modals.tsx @@ -1,12 +1,10 @@ import { Button } from '@affine/component/ui/button'; -import { - ConfirmModal, - type ConfirmModalProps, - Modal, -} from '@affine/component/ui/modal'; +import type { ConfirmModalProps } from '@affine/component/ui/modal'; +import { ConfirmModal, Modal } from '@affine/component/ui/modal'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { DialogTrigger } from '@radix-ui/react-dialog'; -import { type ReactNode, useEffect, useRef } from 'react'; +import type { ReactNode } from 'react'; +import { useEffect, useRef } from 'react'; import * as styles from './style.css'; diff --git a/packages/frontend/core/src/components/affine/setting-modal/general-setting/plans/plan-card.tsx b/packages/frontend/core/src/components/affine/setting-modal/general-setting/plans/plan-card.tsx index f7bdf1eac3..e917cd58a2 100644 --- a/packages/frontend/core/src/components/affine/setting-modal/general-setting/plans/plan-card.tsx +++ b/packages/frontend/core/src/components/affine/setting-modal/general-setting/plans/plan-card.tsx @@ -15,17 +15,10 @@ import { import { Trans } from '@affine/i18n'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { DoneIcon } from '@blocksuite/icons'; -import { useSetAtom } from 'jotai'; -import { useAtom } from 'jotai'; +import { useAtom, useSetAtom } from 'jotai'; import { nanoid } from 'nanoid'; -import { - type PropsWithChildren, - useCallback, - useEffect, - useMemo, - useRef, - useState, -} from 'react'; +import type { PropsWithChildren } from 'react'; +import { useCallback, useEffect, useMemo, useRef, useState } from 'react'; import { openPaymentDisableAtom } from '../../../../../atoms'; import { authAtom } from '../../../../../atoms/index'; diff --git a/packages/frontend/core/src/components/affine/setting-modal/general-setting/shortcuts/index.tsx b/packages/frontend/core/src/components/affine/setting-modal/general-setting/shortcuts/index.tsx index aa6e0b49b8..7ac9bd2047 100644 --- a/packages/frontend/core/src/components/affine/setting-modal/general-setting/shortcuts/index.tsx +++ b/packages/frontend/core/src/components/affine/setting-modal/general-setting/shortcuts/index.tsx @@ -1,9 +1,11 @@ -import { SettingHeader } from '@affine/component/setting-components'; -import { SettingWrapper } from '@affine/component/setting-components'; +import { + SettingHeader, + SettingWrapper, +} from '@affine/component/setting-components'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; +import type { ShortcutsInfo } from '../../../../../hooks/affine/use-shortcuts'; import { - type ShortcutsInfo, useEdgelessShortcuts, useGeneralShortcuts, useMarkdownShortcuts, diff --git a/packages/frontend/core/src/components/affine/setting-modal/index.tsx b/packages/frontend/core/src/components/affine/setting-modal/index.tsx index bad3cc6713..04afa2a5ad 100644 --- a/packages/frontend/core/src/components/affine/setting-modal/index.tsx +++ b/packages/frontend/core/src/components/affine/setting-modal/index.tsx @@ -1,6 +1,7 @@ import { Loading } from '@affine/component'; import { WorkspaceDetailSkeleton } from '@affine/component/setting-components'; -import { Modal, type ModalProps } from '@affine/component/ui/modal'; +import type { ModalProps } from '@affine/component/ui/modal'; +import { Modal } from '@affine/component/ui/modal'; import { openIssueFeedbackModalAtom, openStarAFFiNEModalAtom, @@ -17,12 +18,8 @@ import { AccountSetting } from './account-setting'; import { GeneralSetting } from './general-setting'; import { SettingSidebar } from './setting-sidebar'; import * as style from './style.css'; -import { - type ActiveTab, - type GeneralSettingKey, - GeneralSettingKeys, - type WorkspaceSubTab, -} from './types'; +import type { ActiveTab, GeneralSettingKey, WorkspaceSubTab } from './types'; +import { GeneralSettingKeys } from './types'; import { WorkspaceSetting } from './workspace-setting'; export interface SettingProps extends ModalProps { diff --git a/packages/frontend/core/src/components/affine/setting-modal/setting-sidebar/index.tsx b/packages/frontend/core/src/components/affine/setting-modal/setting-sidebar/index.tsx index b6832ad76e..2d5324554f 100644 --- a/packages/frontend/core/src/components/affine/setting-modal/setting-sidebar/index.tsx +++ b/packages/frontend/core/src/components/affine/setting-modal/setting-sidebar/index.tsx @@ -11,16 +11,17 @@ import { useWorkspaceInfo } from '@affine/core/hooks/use-workspace-info'; import { UNTITLED_WORKSPACE_NAME } from '@affine/env/constant'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { Logo1Icon } from '@blocksuite/icons'; +import type { WorkspaceMetadata } from '@toeverything/infra'; import { + useLiveData, + useService, Workspace, WorkspaceManager, - type WorkspaceMetadata, } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; -import { useLiveData } from '@toeverything/infra'; import clsx from 'clsx'; import { useAtom } from 'jotai/react'; -import { type ReactElement, Suspense, useCallback, useMemo } from 'react'; +import type { ReactElement } from 'react'; +import { Suspense, useCallback, useMemo } from 'react'; import { authAtom } from '../../../../atoms'; import { useCurrentLoginStatus } from '../../../../hooks/affine/use-current-login-status'; diff --git a/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/delete-leave-workspace/delete/index.tsx b/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/delete-leave-workspace/delete/index.tsx index 8ad9455356..51542bdf39 100644 --- a/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/delete-leave-workspace/delete/index.tsx +++ b/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/delete-leave-workspace/delete/index.tsx @@ -1,8 +1,6 @@ import { Input } from '@affine/component'; -import { - ConfirmModal, - type ConfirmModalProps, -} from '@affine/component/ui/modal'; +import type { ConfirmModalProps } from '@affine/component/ui/modal'; +import { ConfirmModal } from '@affine/component/ui/modal'; import { useWorkspaceInfo } from '@affine/core/hooks/use-workspace-info'; import { UNTITLED_WORKSPACE_NAME } from '@affine/env/constant'; import { WorkspaceFlavour } from '@affine/env/workspace'; diff --git a/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/delete-leave-workspace/index.tsx b/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/delete-leave-workspace/index.tsx index 6998106f31..2bd5e8b5d2 100644 --- a/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/delete-leave-workspace/index.tsx +++ b/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/delete-leave-workspace/index.tsx @@ -4,9 +4,12 @@ import { ConfirmModal } from '@affine/component/ui/modal'; import { useAsyncCallback } from '@affine/core/hooks/affine-async-hooks'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { ArrowRightSmallIcon } from '@blocksuite/icons'; -import { Workspace, WorkspaceManager } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; -import { useLiveData } from '@toeverything/infra'; +import { + useLiveData, + useService, + Workspace, + WorkspaceManager, +} from '@toeverything/infra'; import { useSetAtom } from 'jotai'; import { useCallback, useState } from 'react'; diff --git a/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/enable-cloud.tsx b/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/enable-cloud.tsx index 75ddd771f6..307f8070b0 100644 --- a/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/enable-cloud.tsx +++ b/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/enable-cloud.tsx @@ -5,8 +5,8 @@ import { useWorkspaceInfo } from '@affine/core/hooks/use-workspace-info'; import { UNTITLED_WORKSPACE_NAME } from '@affine/env/constant'; import { WorkspaceFlavour } from '@affine/env/workspace'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; -import { type Workspace, WorkspaceManager } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; +import type { Workspace } from '@toeverything/infra'; +import { useService, WorkspaceManager } from '@toeverything/infra'; import { useSetAtom } from 'jotai'; import { useState } from 'react'; diff --git a/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/members.tsx b/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/members.tsx index 3c8a9c2b99..d2b98623d6 100644 --- a/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/members.tsx +++ b/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/members.tsx @@ -1,11 +1,11 @@ -import { - InviteModal, - type InviteModalProps, - MemberLimitModal, +import type { + InviteModalProps, + PaginationProps, } from '@affine/component/member-components'; import { + InviteModal, + MemberLimitModal, Pagination, - type PaginationProps, } from '@affine/component/member-components'; import { pushNotificationAtom } from '@affine/component/notification-center'; import { SettingRow } from '@affine/component/setting-components'; @@ -20,7 +20,8 @@ import type { CheckedUser } from '@affine/core/hooks/affine/use-current-user'; import { useCurrentUser } from '@affine/core/hooks/affine/use-current-user'; import { useInviteMember } from '@affine/core/hooks/affine/use-invite-member'; import { useMemberCount } from '@affine/core/hooks/affine/use-member-count'; -import { type Member, useMembers } from '@affine/core/hooks/affine/use-members'; +import type { Member } from '@affine/core/hooks/affine/use-members'; +import { useMembers } from '@affine/core/hooks/affine/use-members'; import { useRevokeMemberPermission } from '@affine/core/hooks/affine/use-revoke-member-permission'; import { useWorkspaceQuota } from '@affine/core/hooks/use-quota'; import { useUserSubscription } from '@affine/core/hooks/use-subscription'; diff --git a/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/profile.tsx b/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/profile.tsx index 4a22523bf5..05ca4a171c 100644 --- a/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/profile.tsx +++ b/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/profile.tsx @@ -12,13 +12,8 @@ import { CameraIcon } from '@blocksuite/icons'; import type { Workspace } from '@toeverything/infra'; import { useLiveData } from '@toeverything/infra'; import { useSetAtom } from 'jotai'; -import { - type KeyboardEvent, - type MouseEvent, - useCallback, - useEffect, - useState, -} from 'react'; +import type { KeyboardEvent, MouseEvent } from 'react'; +import { useCallback, useEffect, useState } from 'react'; import * as style from './style.css'; import type { WorkspaceSettingDetailProps } from './types'; diff --git a/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/storage.tsx b/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/storage.tsx index 8fb09bc8ab..e0f7d64af1 100644 --- a/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/storage.tsx +++ b/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/new-workspace-setting-detail/storage.tsx @@ -5,8 +5,7 @@ import { Tooltip } from '@affine/component/ui/tooltip'; import { apis, events } from '@affine/electron-api'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import type { WorkspaceMetadata } from '@toeverything/infra'; -import { useMemo } from 'react'; -import { useCallback, useEffect, useState } from 'react'; +import { useCallback, useEffect, useMemo, useState } from 'react'; const useDBFileSecondaryPath = (workspaceId: string) => { const [path, setPath] = useState(undefined); diff --git a/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/properties/index.tsx b/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/properties/index.tsx index bc32f468cd..98e6cdbeb0 100644 --- a/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/properties/index.tsx +++ b/packages/frontend/core/src/components/affine/setting-modal/workspace-setting/properties/index.tsx @@ -8,10 +8,10 @@ import { Trans } from '@affine/i18n'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { DeleteIcon, FilterIcon, MoreHorizontalIcon } from '@blocksuite/icons'; import type { Workspace, WorkspaceMetadata } from '@toeverything/infra'; +import type { MouseEvent } from 'react'; import { createContext, Fragment, - type MouseEvent, useCallback, useContext, useEffect, @@ -19,16 +19,16 @@ import { useState, } from 'react'; +import type { PagePropertyIcon } from '../../../page-properties'; import { nameToIcon, PagePropertiesCreatePropertyMenuItems, PagePropertiesMetaManager, - type PagePropertyIcon, } from '../../../page-properties'; import { ConfirmDeletePropertyModal } from '../../../page-properties/confirm-delete-property-modal'; +import type { MenuItemOption } from '../../../page-properties/menu-items'; import { EditPropertyNameMenuItem, - type MenuItemOption, PropertyTypeMenuItem, renderMenuItemOptions, } from '../../../page-properties/menu-items'; diff --git a/packages/frontend/core/src/components/affine/share-page-modal/index.tsx b/packages/frontend/core/src/components/affine/share-page-modal/index.tsx index 73330ac3a1..af62e7f68b 100644 --- a/packages/frontend/core/src/components/affine/share-page-modal/index.tsx +++ b/packages/frontend/core/src/components/affine/share-page-modal/index.tsx @@ -1,8 +1,8 @@ import { useAsyncCallback } from '@affine/core/hooks/affine-async-hooks'; import { WorkspaceFlavour } from '@affine/env/workspace'; import type { Doc } from '@blocksuite/store'; -import { type Workspace, WorkspaceManager } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; +import type { Workspace } from '@toeverything/infra'; +import { useService, WorkspaceManager } from '@toeverything/infra'; import { useState } from 'react'; import { useNavigateHelper } from '../../../hooks/use-navigate-helper'; diff --git a/packages/frontend/core/src/components/affine/share-page-modal/share-menu/share-export.tsx b/packages/frontend/core/src/components/affine/share-page-modal/share-menu/share-export.tsx index a0b3da4e72..f4fdf976ac 100644 --- a/packages/frontend/core/src/components/affine/share-page-modal/share-menu/share-export.tsx +++ b/packages/frontend/core/src/components/affine/share-page-modal/share-menu/share-export.tsx @@ -4,8 +4,7 @@ import { ExportMenuItems } from '@affine/core/components/page-list'; import { WorkspaceFlavour } from '@affine/env/workspace'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { LinkIcon } from '@blocksuite/icons'; -import { Doc, useLiveData } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; +import { Doc, useLiveData, useService } from '@toeverything/infra'; import { useExportPage } from '../../../../hooks/affine/use-export-page'; import * as styles from './index.css'; diff --git a/packages/frontend/core/src/components/affine/share-page-modal/share-menu/share-page.tsx b/packages/frontend/core/src/components/affine/share-page-modal/share-menu/share-page.tsx index cc5f8efd6d..373376710d 100644 --- a/packages/frontend/core/src/components/affine/share-page-modal/share-menu/share-page.tsx +++ b/packages/frontend/core/src/components/affine/share-page-modal/share-menu/share-page.tsx @@ -13,11 +13,9 @@ import { useServerBaseUrl } from '@affine/core/hooks/affine/use-server-config'; import { WorkspaceFlavour } from '@affine/env/workspace'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { ArrowRightSmallIcon } from '@blocksuite/icons'; -import { useService } from '@toeverything/infra'; -import { useLiveData } from '@toeverything/infra'; -import { Doc, type PageMode } from '@toeverything/infra'; -import { useMemo, useState } from 'react'; -import { useCallback } from 'react'; +import type { PageMode } from '@toeverything/infra'; +import { Doc, useLiveData, useService } from '@toeverything/infra'; +import { useCallback, useMemo, useState } from 'react'; import { CloudSvg } from '../cloud-svg'; import * as styles from './index.css'; diff --git a/packages/frontend/core/src/components/affine/sign-out-modal/index.tsx b/packages/frontend/core/src/components/affine/sign-out-modal/index.tsx index 032c0972b2..466695edfe 100644 --- a/packages/frontend/core/src/components/affine/sign-out-modal/index.tsx +++ b/packages/frontend/core/src/components/affine/sign-out-modal/index.tsx @@ -1,7 +1,5 @@ -import { - ConfirmModal, - type ConfirmModalProps, -} from '@affine/component/ui/modal'; +import type { ConfirmModalProps } from '@affine/component/ui/modal'; +import { ConfirmModal } from '@affine/component/ui/modal'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { useMemo } from 'react'; diff --git a/packages/frontend/core/src/components/affine/tmp-disable-affine-cloud-modal/index.tsx b/packages/frontend/core/src/components/affine/tmp-disable-affine-cloud-modal/index.tsx index 1d4e7e21fb..661b3ea497 100644 --- a/packages/frontend/core/src/components/affine/tmp-disable-affine-cloud-modal/index.tsx +++ b/packages/frontend/core/src/components/affine/tmp-disable-affine-cloud-modal/index.tsx @@ -1,5 +1,6 @@ import { Empty } from '@affine/component'; -import { Modal, type ModalProps } from '@affine/component/ui/modal'; +import type { ModalProps } from '@affine/component/ui/modal'; +import { Modal } from '@affine/component/ui/modal'; import { Trans } from '@affine/i18n'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { useCallback } from 'react'; diff --git a/packages/frontend/core/src/components/app-sidebar/index.tsx b/packages/frontend/core/src/components/app-sidebar/index.tsx index d0a3bc4423..5d3506248d 100644 --- a/packages/frontend/core/src/components/app-sidebar/index.tsx +++ b/packages/frontend/core/src/components/app-sidebar/index.tsx @@ -1,7 +1,6 @@ import { Skeleton } from '@affine/component'; import { ResizePanel } from '@affine/component/resize-panel'; -import { Workspace } from '@toeverything/infra'; -import { useServiceOptional } from '@toeverything/infra'; +import { useServiceOptional, Workspace } from '@toeverything/infra'; import { useAtom, useAtomValue } from 'jotai'; import { debounce } from 'lodash-es'; import type { PropsWithChildren, ReactElement } from 'react'; diff --git a/packages/frontend/core/src/components/app-sidebar/sidebar-containers/index.tsx b/packages/frontend/core/src/components/app-sidebar/sidebar-containers/index.tsx index 27fcd4094a..cea1850e29 100644 --- a/packages/frontend/core/src/components/app-sidebar/sidebar-containers/index.tsx +++ b/packages/frontend/core/src/components/app-sidebar/sidebar-containers/index.tsx @@ -1,7 +1,8 @@ import { useHasScrollTop } from '@affine/component'; import * as ScrollArea from '@radix-ui/react-scroll-area'; import clsx from 'clsx'; -import { type PropsWithChildren, useRef } from 'react'; +import type { PropsWithChildren } from 'react'; +import { useRef } from 'react'; import * as styles from './index.css'; diff --git a/packages/frontend/core/src/components/app-sidebar/spolight/index.stories.tsx b/packages/frontend/core/src/components/app-sidebar/spolight/index.stories.tsx index e2b3649d91..d6c6917c85 100644 --- a/packages/frontend/core/src/components/app-sidebar/spolight/index.stories.tsx +++ b/packages/frontend/core/src/components/app-sidebar/spolight/index.stories.tsx @@ -1,5 +1,5 @@ import type { Meta, StoryFn } from '@storybook/react'; -import { type PropsWithChildren } from 'react'; +import type { PropsWithChildren } from 'react'; import { Spotlight } from './index'; 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 2fc251fa3a..3a8ce8e901 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 @@ -4,13 +4,14 @@ import type { EdgelessEditor, PageEditor, } from '@blocksuite/presets'; -import { type Doc, Slot } from '@blocksuite/store'; +import type { Doc } from '@blocksuite/store'; +import { Slot } from '@blocksuite/store'; import type { PageMode } from '@toeverything/infra'; import clsx from 'clsx'; import type React from 'react'; +import type { RefObject } from 'react'; import { forwardRef, - type RefObject, useEffect, useLayoutEffect, useMemo, diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/blocksuite-editor.tsx b/packages/frontend/core/src/components/blocksuite/block-suite-editor/blocksuite-editor.tsx index e114f2b312..9fa656de8d 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-editor/blocksuite-editor.tsx +++ b/packages/frontend/core/src/components/blocksuite/block-suite-editor/blocksuite-editor.tsx @@ -17,10 +17,8 @@ import { useRef, } from 'react'; -import { - AffinePageReference, - type PageReferenceRendererOptions, -} from '../../affine/reference-link'; +import type { PageReferenceRendererOptions } from '../../affine/reference-link'; +import { AffinePageReference } from '../../affine/reference-link'; import { BlocksuiteEditorContainer } from './blocksuite-editor-container'; import { NoPageRootError } from './no-page-error'; import type { InlineRenderers } from './specs'; diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/lit-adaper.tsx b/packages/frontend/core/src/components/blocksuite/block-suite-editor/lit-adaper.tsx index 0cdd1b0086..a17d40053e 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-editor/lit-adaper.tsx +++ b/packages/frontend/core/src/components/blocksuite/block-suite-editor/lit-adaper.tsx @@ -10,7 +10,7 @@ import { EdgelessEditor, PageEditor, } from '@blocksuite/presets'; -import { type Doc } from '@blocksuite/store'; +import type { Doc } from '@blocksuite/store'; import React, { forwardRef, Fragment, @@ -23,12 +23,8 @@ import React, { import { PagePropertiesTable } from '../../affine/page-properties'; import { BlocksuiteEditorJournalDocTitle } from './journal-doc-title'; -import { - docModeSpecs, - edgelessModeSpecs, - type InlineRenderers, - patchSpecs, -} from './specs'; +import type { InlineRenderers } from './specs'; +import { docModeSpecs, edgelessModeSpecs, patchSpecs } from './specs'; import * as styles from './styles.css'; const adapted = { diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-editor/no-page-error.ts b/packages/frontend/core/src/components/blocksuite/block-suite-editor/no-page-error.ts index 40d216e70f..b70603ec3f 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-editor/no-page-error.ts +++ b/packages/frontend/core/src/components/blocksuite/block-suite-editor/no-page-error.ts @@ -1,5 +1,5 @@ import type { Doc } from '@blocksuite/store'; -import { type Map as YMap } from 'yjs'; +import type { Map as YMap } from 'yjs'; /** * TODO: Define error to unexpected state together in the future. diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-header/favorite/index.tsx b/packages/frontend/core/src/components/blocksuite/block-suite-header/favorite/index.tsx index 1c3e51125e..409cd33287 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-header/favorite/index.tsx +++ b/packages/frontend/core/src/components/blocksuite/block-suite-header/favorite/index.tsx @@ -4,8 +4,7 @@ import { useBlockSuiteDocMeta } from '@affine/core/hooks/use-block-suite-page-me import { toast } from '@affine/core/utils'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { assertExists } from '@blocksuite/global/utils'; -import { Workspace } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; +import { useService, Workspace } from '@toeverything/infra'; import { useCallback } from 'react'; export interface FavoriteButtonProps { diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-header/journal/date-picker.tsx b/packages/frontend/core/src/components/blocksuite/block-suite-header/journal/date-picker.tsx index eea681b36f..708f39b01c 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-header/journal/date-picker.tsx +++ b/packages/frontend/core/src/components/blocksuite/block-suite-header/journal/date-picker.tsx @@ -1,4 +1,5 @@ -import { WeekDatePicker, type WeekDatePickerHandle } from '@affine/component'; +import type { WeekDatePickerHandle } from '@affine/component'; +import { WeekDatePicker } from '@affine/component'; import { useJournalInfoHelper, useJournalRouteHelper, diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-header/title/index.tsx b/packages/frontend/core/src/components/blocksuite/block-suite-header/title/index.tsx index fb36120617..02e804c45f 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-header/title/index.tsx +++ b/packages/frontend/core/src/components/blocksuite/block-suite-header/title/index.tsx @@ -1,4 +1,5 @@ -import { InlineEdit, type InlineEditProps } from '@affine/component'; +import type { InlineEditProps } from '@affine/component'; +import { InlineEdit } from '@affine/component'; import { useBlockSuiteDocMeta, useDocMetaHelper, diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-mode-switch/index.tsx b/packages/frontend/core/src/components/blocksuite/block-suite-mode-switch/index.tsx index d0d2b171be..fbf9d83a02 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-mode-switch/index.tsx +++ b/packages/frontend/core/src/components/blocksuite/block-suite-mode-switch/index.tsx @@ -1,12 +1,8 @@ import { Tooltip } from '@affine/component/ui/tooltip'; import { useBlockSuiteDocMeta } from '@affine/core/hooks/use-block-suite-page-meta'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; -import { - Doc, - type PageMode, - useLiveData, - useService, -} from '@toeverything/infra'; +import type { PageMode } from '@toeverything/infra'; +import { Doc, useLiveData, useService } from '@toeverything/infra'; import type { CSSProperties } from 'react'; import { useCallback, useEffect } from 'react'; diff --git a/packages/frontend/core/src/components/blocksuite/block-suite-page-list/utils.tsx b/packages/frontend/core/src/components/blocksuite/block-suite-page-list/utils.tsx index f55a54c1e1..cfde522ca4 100644 --- a/packages/frontend/core/src/components/blocksuite/block-suite-page-list/utils.tsx +++ b/packages/frontend/core/src/components/blocksuite/block-suite-page-list/utils.tsx @@ -3,9 +3,7 @@ import { useAsyncCallback } from '@affine/core/hooks/affine-async-hooks'; import { useDocMetaHelper } from '@affine/core/hooks/use-block-suite-page-meta'; import { useDocCollectionHelper } from '@affine/core/hooks/use-block-suite-workspace-helper'; import { WorkspaceSubPath } from '@affine/core/shared'; -import { useService } from '@toeverything/infra'; -import { PageRecordList } from '@toeverything/infra'; -import { initEmptyPage } from '@toeverything/infra'; +import { initEmptyPage, PageRecordList, useService } from '@toeverything/infra'; import { useCallback, useMemo } from 'react'; import { useNavigateHelper } from '../../../hooks/use-navigate-helper'; diff --git a/packages/frontend/core/src/components/image-preview/index.css.ts b/packages/frontend/core/src/components/image-preview/index.css.ts index 3d46594759..52a2e7d1c6 100644 --- a/packages/frontend/core/src/components/image-preview/index.css.ts +++ b/packages/frontend/core/src/components/image-preview/index.css.ts @@ -1,5 +1,4 @@ -import { cssVar } from '@toeverything/theme'; -import { baseTheme } from '@toeverything/theme'; +import { baseTheme, cssVar } from '@toeverything/theme'; import { keyframes, style } from '@vanilla-extract/css'; const fadeInAnimation = keyframes({ from: { diff --git a/packages/frontend/core/src/components/image-preview/index.tsx b/packages/frontend/core/src/components/image-preview/index.tsx index 4c8c095b5d..85053f5efe 100644 --- a/packages/frontend/core/src/components/image-preview/index.tsx +++ b/packages/frontend/core/src/components/image-preview/index.tsx @@ -18,8 +18,7 @@ import clsx from 'clsx'; import { useErrorBoundary } from 'foxact/use-error-boundary'; import { useAtom } from 'jotai'; import type { PropsWithChildren, ReactElement } from 'react'; -import { Suspense, useCallback } from 'react'; -import { useEffect, useRef, useState } from 'react'; +import { Suspense, useCallback, useEffect, useRef, useState } from 'react'; import ReactDOM from 'react-dom'; import type { FallbackProps } from 'react-error-boundary'; import { ErrorBoundary } from 'react-error-boundary'; diff --git a/packages/frontend/core/src/components/page-detail-editor.tsx b/packages/frontend/core/src/components/page-detail-editor.tsx index 329f1df11a..0dce839421 100644 --- a/packages/frontend/core/src/components/page-detail-editor.tsx +++ b/packages/frontend/core/src/components/page-detail-editor.tsx @@ -3,15 +3,14 @@ import './page-detail-editor.css'; import { useDocCollectionPage } from '@affine/core/hooks/use-block-suite-workspace-page'; import { assertExists, DisposableGroup } from '@blocksuite/global/utils'; import type { AffineEditorContainer } from '@blocksuite/presets'; -import type { DocCollection } from '@blocksuite/store'; -import type { Doc as BlockSuiteDoc } from '@blocksuite/store'; +import type { Doc as BlockSuiteDoc, DocCollection } from '@blocksuite/store'; +import type { PageMode } from '@toeverything/infra'; import { Doc, - type PageMode, + fontStyleOptions, useLiveData, useService, } from '@toeverything/infra'; -import { fontStyleOptions } from '@toeverything/infra'; import clsx from 'clsx'; import type { CSSProperties } from 'react'; import { memo, Suspense, useCallback, useMemo } from 'react'; diff --git a/packages/frontend/core/src/components/page-list/__tests__/use-block-suite-page-preview.spec.ts b/packages/frontend/core/src/components/page-list/__tests__/use-block-suite-page-preview.spec.ts index 3187886a70..30b3132d7c 100644 --- a/packages/frontend/core/src/components/page-list/__tests__/use-block-suite-page-preview.spec.ts +++ b/packages/frontend/core/src/components/page-list/__tests__/use-block-suite-page-preview.spec.ts @@ -9,8 +9,7 @@ import type { Doc } from '@blocksuite/store'; import { DocCollection, Schema } from '@blocksuite/store'; import { renderHook } from '@testing-library/react'; import { useAtomValue } from 'jotai'; -import { describe, expect, test, vi } from 'vitest'; -import { beforeEach } from 'vitest'; +import { beforeEach, describe, expect, test, vi } from 'vitest'; import { useBlockSuitePagePreview } from '../use-block-suite-page-preview'; let docCollection: DocCollection; diff --git a/packages/frontend/core/src/components/page-list/collections/collection-list-item.tsx b/packages/frontend/core/src/components/page-list/collections/collection-list-item.tsx index 21d4c67ed3..3cadf80521 100644 --- a/packages/frontend/core/src/components/page-list/collections/collection-list-item.tsx +++ b/packages/frontend/core/src/components/page-list/collections/collection-list-item.tsx @@ -1,7 +1,8 @@ import { Checkbox } from '@affine/component'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { useDraggable } from '@dnd-kit/core'; -import { type PropsWithChildren, useCallback, useMemo } from 'react'; +import type { PropsWithChildren } from 'react'; +import { useCallback, useMemo } from 'react'; import { Link } from 'react-router-dom'; import type { diff --git a/packages/frontend/core/src/components/page-list/collections/virtualized-collection-list.tsx b/packages/frontend/core/src/components/page-list/collections/virtualized-collection-list.tsx index ece5862afb..400f2afa1b 100644 --- a/packages/frontend/core/src/components/page-list/collections/virtualized-collection-list.tsx +++ b/packages/frontend/core/src/components/page-list/collections/virtualized-collection-list.tsx @@ -1,15 +1,9 @@ import { useDeleteCollectionInfo } from '@affine/core/hooks/affine/use-delete-collection-info'; import type { Collection, DeleteCollectionInfo } from '@affine/env/filter'; import { Trans } from '@affine/i18n'; -import { useService } from '@toeverything/infra'; -import { Workspace } from '@toeverything/infra'; -import { - type ReactElement, - useCallback, - useMemo, - useRef, - useState, -} from 'react'; +import { useService, Workspace } from '@toeverything/infra'; +import type { ReactElement } from 'react'; +import { useCallback, useMemo, useRef, useState } from 'react'; import { CollectionService } from '../../../modules/collection'; import { ListFloatingToolbar } from '../components/list-floating-toolbar'; diff --git a/packages/frontend/core/src/components/page-list/components/favorite-tag.tsx b/packages/frontend/core/src/components/page-list/components/favorite-tag.tsx index 4e05f43260..e7fa9be8ec 100644 --- a/packages/frontend/core/src/components/page-list/components/favorite-tag.tsx +++ b/packages/frontend/core/src/components/page-list/components/favorite-tag.tsx @@ -1,5 +1,5 @@ -import { IconButton, type IconButtonProps } from '@affine/component'; -import { Tooltip } from '@affine/component'; +import type { IconButtonProps } from '@affine/component'; +import { IconButton, Tooltip } from '@affine/component'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { FavoritedIcon, FavoriteIcon } from '@blocksuite/icons'; import Lottie from 'lottie-react'; diff --git a/packages/frontend/core/src/components/page-list/components/floating-toolbar.tsx b/packages/frontend/core/src/components/page-list/components/floating-toolbar.tsx index f6bebfdfc1..dd82afa203 100644 --- a/packages/frontend/core/src/components/page-list/components/floating-toolbar.tsx +++ b/packages/frontend/core/src/components/page-list/components/floating-toolbar.tsx @@ -1,12 +1,12 @@ import * as Popover from '@radix-ui/react-popover'; import * as Toolbar from '@radix-ui/react-toolbar'; import clsx from 'clsx'; -import { - type CSSProperties, - type HTMLAttributes, - type MouseEventHandler, - type PropsWithChildren, - type ReactNode, +import type { + CSSProperties, + HTMLAttributes, + MouseEventHandler, + PropsWithChildren, + ReactNode, } from 'react'; import * as styles from './floating-toolbar.css'; diff --git a/packages/frontend/core/src/components/page-list/components/new-page-button.tsx b/packages/frontend/core/src/components/page-list/components/new-page-button.tsx index 95b28bfbfa..7a35480693 100644 --- a/packages/frontend/core/src/components/page-list/components/new-page-button.tsx +++ b/packages/frontend/core/src/components/page-list/components/new-page-button.tsx @@ -2,7 +2,8 @@ import { DropdownButton, Menu } from '@affine/component'; import { BlockCard } from '@affine/component/card/block-card'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { EdgelessIcon, ImportIcon, PageIcon } from '@blocksuite/icons'; -import { type PropsWithChildren, useCallback, useState } from 'react'; +import type { PropsWithChildren } from 'react'; +import { useCallback, useState } from 'react'; import { menuContent } from './new-page-button.css'; diff --git a/packages/frontend/core/src/components/page-list/docs/page-list-header.tsx b/packages/frontend/core/src/components/page-list/docs/page-list-header.tsx index 09760ca69d..f435da93e9 100644 --- a/packages/frontend/core/src/components/page-list/docs/page-list-header.tsx +++ b/packages/frontend/core/src/components/page-list/docs/page-list-header.tsx @@ -1,7 +1,8 @@ import { Button, Divider, Menu, Scrollable } from '@affine/component'; import { useAsyncCallback } from '@affine/core/hooks/affine-async-hooks'; import { useNavigateHelper } from '@affine/core/hooks/use-navigate-helper'; -import { type Tag, TagService } from '@affine/core/modules/tag'; +import type { Tag } from '@affine/core/modules/tag'; +import { TagService } from '@affine/core/modules/tag'; import type { Collection } from '@affine/env/filter'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { diff --git a/packages/frontend/core/src/components/page-list/docs/page-list-item.tsx b/packages/frontend/core/src/components/page-list/docs/page-list-item.tsx index d81b73664d..347af81209 100644 --- a/packages/frontend/core/src/components/page-list/docs/page-list-item.tsx +++ b/packages/frontend/core/src/components/page-list/docs/page-list-item.tsx @@ -2,7 +2,8 @@ import { Checkbox } from '@affine/component'; import { TagService } from '@affine/core/modules/tag'; import { useDraggable } from '@dnd-kit/core'; import { useLiveData, useService } from '@toeverything/infra'; -import { type PropsWithChildren, useCallback, useMemo } from 'react'; +import type { PropsWithChildren } from 'react'; +import { useCallback, useMemo } from 'react'; import { WorkbenchLink } from '../../../modules/workbench/view/workbench-link'; import type { DraggableTitleCellData, PageListItemProps } from '../types'; diff --git a/packages/frontend/core/src/components/page-list/docs/page-list-new-page-button.tsx b/packages/frontend/core/src/components/page-list/docs/page-list-new-page-button.tsx index 18df011333..fb2f847bf2 100644 --- a/packages/frontend/core/src/components/page-list/docs/page-list-new-page-button.tsx +++ b/packages/frontend/core/src/components/page-list/docs/page-list-new-page-button.tsx @@ -1,5 +1,4 @@ -import { Workspace } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; +import { useService, Workspace } from '@toeverything/infra'; import type { PropsWithChildren } from 'react'; import { usePageHelper } from '../../blocksuite/block-suite-page-list/utils'; diff --git a/packages/frontend/core/src/components/page-list/docs/page-tags.tsx b/packages/frontend/core/src/components/page-list/docs/page-tags.tsx index 9009a93d1a..628c56d2f5 100644 --- a/packages/frontend/core/src/components/page-list/docs/page-tags.tsx +++ b/packages/frontend/core/src/components/page-list/docs/page-tags.tsx @@ -1,10 +1,11 @@ import { Menu } from '@affine/component'; -import { type Tag } from '@affine/core/modules/tag'; +import type { Tag } from '@affine/core/modules/tag'; import { CloseIcon, MoreHorizontalIcon } from '@blocksuite/icons'; import { LiveData, useLiveData } from '@toeverything/infra'; import { assignInlineVars } from '@vanilla-extract/dynamic'; import clsx from 'clsx'; -import { type MouseEventHandler, useCallback, useMemo } from 'react'; +import type { MouseEventHandler } from 'react'; +import { useCallback, useMemo } from 'react'; import { stopPropagation } from '../utils'; import * as styles from './page-tags.css'; diff --git a/packages/frontend/core/src/components/page-list/docs/virtualized-page-list.tsx b/packages/frontend/core/src/components/page-list/docs/virtualized-page-list.tsx index b1013e4899..c63feec059 100644 --- a/packages/frontend/core/src/components/page-list/docs/virtualized-page-list.tsx +++ b/packages/frontend/core/src/components/page-list/docs/virtualized-page-list.tsx @@ -8,8 +8,7 @@ import type { Collection, Filter } from '@affine/env/filter'; import { Trans } from '@affine/i18n'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import type { DocMeta } from '@blocksuite/store'; -import { useService } from '@toeverything/infra'; -import { Workspace } from '@toeverything/infra'; +import { useService, Workspace } from '@toeverything/infra'; import { useCallback, useMemo, useRef, useState } from 'react'; import { usePageHelper } from '../../blocksuite/block-suite-page-list/utils'; diff --git a/packages/frontend/core/src/components/page-list/filter/condition.tsx b/packages/frontend/core/src/components/page-list/filter/condition.tsx index a2609643b3..2ba089751a 100644 --- a/packages/frontend/core/src/components/page-list/filter/condition.tsx +++ b/packages/frontend/core/src/components/page-list/filter/condition.tsx @@ -1,6 +1,5 @@ import { Menu, MenuItem } from '@affine/component'; -import type { Filter, Literal } from '@affine/env/filter'; -import type { PropertiesMeta } from '@affine/env/filter'; +import type { Filter, Literal, PropertiesMeta } from '@affine/env/filter'; import type { ReactNode } from 'react'; import { useMemo } from 'react'; diff --git a/packages/frontend/core/src/components/page-list/filter/date-select.tsx b/packages/frontend/core/src/components/page-list/filter/date-select.tsx index 07a434fa81..401c86530d 100644 --- a/packages/frontend/core/src/components/page-list/filter/date-select.tsx +++ b/packages/frontend/core/src/components/page-list/filter/date-select.tsx @@ -1,4 +1,5 @@ -import { DatePicker, Popover, type PopoverProps } from '@affine/component'; +import type { PopoverProps } from '@affine/component'; +import { DatePicker, Popover } from '@affine/component'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import dayjs from 'dayjs'; import { useCallback, useState } from 'react'; diff --git a/packages/frontend/core/src/components/page-list/filter/filter-list.tsx b/packages/frontend/core/src/components/page-list/filter/filter-list.tsx index 7809a8cdd1..7caa983d6c 100644 --- a/packages/frontend/core/src/components/page-list/filter/filter-list.tsx +++ b/packages/frontend/core/src/components/page-list/filter/filter-list.tsx @@ -1,6 +1,5 @@ import { Button, IconButton, Menu } from '@affine/component'; -import type { Filter } from '@affine/env/filter'; -import type { PropertiesMeta } from '@affine/env/filter'; +import type { Filter, PropertiesMeta } from '@affine/env/filter'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { CloseIcon, PlusIcon } from '@blocksuite/icons'; diff --git a/packages/frontend/core/src/components/page-list/filter/literal-matcher.tsx b/packages/frontend/core/src/components/page-list/filter/literal-matcher.tsx index 07b4dacf56..6674eb8944 100644 --- a/packages/frontend/core/src/components/page-list/filter/literal-matcher.tsx +++ b/packages/frontend/core/src/components/page-list/filter/literal-matcher.tsx @@ -1,6 +1,6 @@ import { Input, Menu, MenuItem } from '@affine/component'; import type { LiteralValue, Tag } from '@affine/env/filter'; -import { type ReactNode } from 'react'; +import type { ReactNode } from 'react'; import { DateSelect } from './date-select'; import { FilterTag } from './filter-tag-translation'; diff --git a/packages/frontend/core/src/components/page-list/items-to-item-group.tsx b/packages/frontend/core/src/components/page-list/items-to-item-group.tsx index 3e327f83e5..25bdb3d506 100644 --- a/packages/frontend/core/src/components/page-list/items-to-item-group.tsx +++ b/packages/frontend/core/src/components/page-list/items-to-item-group.tsx @@ -1,7 +1,11 @@ import { Trans } from '@affine/i18n'; -import type { ItemGroupDefinition, ItemGroupProps, ListItem } from './types'; -import { type DateKey } from './types'; +import type { + DateKey, + ItemGroupDefinition, + ItemGroupProps, + ListItem, +} from './types'; import { betweenDaysAgo, withinDaysAgo } from './utils'; // todo: optimize date matchers diff --git a/packages/frontend/core/src/components/page-list/list.tsx b/packages/frontend/core/src/components/page-list/list.tsx index 059f8bfe4a..f13b6e9a03 100644 --- a/packages/frontend/core/src/components/page-list/list.tsx +++ b/packages/frontend/core/src/components/page-list/list.tsx @@ -1,10 +1,9 @@ import { Scrollable, useHasScrollTop } from '@affine/component'; import clsx from 'clsx'; +import type { ForwardedRef, PropsWithChildren } from 'react'; import { - type ForwardedRef, forwardRef, memo, - type PropsWithChildren, useCallback, useEffect, useImperativeHandle, diff --git a/packages/frontend/core/src/components/page-list/operation-cell.tsx b/packages/frontend/core/src/components/page-list/operation-cell.tsx index 9c546ed40c..daa3c7e9f0 100644 --- a/packages/frontend/core/src/components/page-list/operation-cell.tsx +++ b/packages/frontend/core/src/components/page-list/operation-cell.tsx @@ -32,11 +32,8 @@ import { DisablePublicSharing, MoveToTrash } from './operation-menu-items'; import { CreateOrEditTag } from './tags/create-tag'; import type { TagMeta } from './types'; import { ColWrapper, stopPropagationWithoutPrevent } from './utils'; -import { - type AllPageListConfig, - useEditCollection, - useEditCollectionName, -} from './view'; +import type { AllPageListConfig } from './view'; +import { useEditCollection, useEditCollectionName } from './view'; export interface PageOperationCellProps { favorite: boolean; diff --git a/packages/frontend/core/src/components/page-list/operation-menu-items/disable-public-sharing.tsx b/packages/frontend/core/src/components/page-list/operation-menu-items/disable-public-sharing.tsx index df1f14f0e9..923853d510 100644 --- a/packages/frontend/core/src/components/page-list/operation-menu-items/disable-public-sharing.tsx +++ b/packages/frontend/core/src/components/page-list/operation-menu-items/disable-public-sharing.tsx @@ -1,4 +1,5 @@ -import { MenuIcon, MenuItem, type MenuItemProps } from '@affine/component'; +import type { MenuItemProps } from '@affine/component'; +import { MenuIcon, MenuItem } from '@affine/component'; import { PublicLinkDisableModal } from '@affine/component/disable-public-link'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { ShareIcon } from '@blocksuite/icons'; diff --git a/packages/frontend/core/src/components/page-list/operation-menu-items/export.tsx b/packages/frontend/core/src/components/page-list/operation-menu-items/export.tsx index 4aa669aad2..4a1698638f 100644 --- a/packages/frontend/core/src/components/page-list/operation-menu-items/export.tsx +++ b/packages/frontend/core/src/components/page-list/operation-menu-items/export.tsx @@ -7,7 +7,8 @@ import { ExportToPdfIcon, ExportToPngIcon, } from '@blocksuite/icons'; -import { type ReactNode, useMemo } from 'react'; +import type { ReactNode } from 'react'; +import { useMemo } from 'react'; import { transitionStyle } from './index.css'; diff --git a/packages/frontend/core/src/components/page-list/operation-menu-items/move-to-trash.tsx b/packages/frontend/core/src/components/page-list/operation-menu-items/move-to-trash.tsx index 4f39f5d7a1..2d5c74ea3e 100644 --- a/packages/frontend/core/src/components/page-list/operation-menu-items/move-to-trash.tsx +++ b/packages/frontend/core/src/components/page-list/operation-menu-items/move-to-trash.tsx @@ -1,10 +1,5 @@ -import { - ConfirmModal, - type ConfirmModalProps, - MenuIcon, - MenuItem, - type MenuItemProps, -} from '@affine/component'; +import type { ConfirmModalProps, MenuItemProps } from '@affine/component'; +import { ConfirmModal, MenuIcon, MenuItem } from '@affine/component'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { DeleteIcon } from '@blocksuite/icons'; diff --git a/packages/frontend/core/src/components/page-list/page-group.tsx b/packages/frontend/core/src/components/page-list/page-group.tsx index 1f4b105bd5..5c845ccbe5 100644 --- a/packages/frontend/core/src/components/page-list/page-group.tsx +++ b/packages/frontend/core/src/components/page-list/page-group.tsx @@ -11,12 +11,11 @@ import { } from '@blocksuite/icons'; import type { DocCollection, DocMeta } from '@blocksuite/store'; import * as Collapsible from '@radix-ui/react-collapsible'; -import { useService } from '@toeverything/infra'; -import { useLiveData } from '@toeverything/infra'; -import { PageRecordList } from '@toeverything/infra'; +import { PageRecordList, useLiveData, useService } from '@toeverything/infra'; import clsx from 'clsx'; import { selectAtom } from 'jotai/utils'; -import { type MouseEventHandler, useCallback, useMemo, useState } from 'react'; +import type { MouseEventHandler } from 'react'; +import { useCallback, useMemo, useState } from 'react'; import { CollectionListItem } from './collections/collection-list-item'; import { PageListItem } from './docs/page-list-item'; diff --git a/packages/frontend/core/src/components/page-list/page-header.tsx b/packages/frontend/core/src/components/page-list/page-header.tsx index 7822500d58..976830bc72 100644 --- a/packages/frontend/core/src/components/page-list/page-header.tsx +++ b/packages/frontend/core/src/components/page-list/page-header.tsx @@ -1,9 +1,11 @@ -import { Checkbox, type CheckboxProps } from '@affine/component'; +import type { CheckboxProps } from '@affine/component'; +import { Checkbox } from '@affine/component'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { MultiSelectIcon } from '@blocksuite/icons'; import clsx from 'clsx'; import { selectAtom } from 'jotai/utils'; -import { type MouseEventHandler, useCallback } from 'react'; +import type { MouseEventHandler } from 'react'; +import { useCallback } from 'react'; import { ListHeaderCell } from './components/list-header-cell'; import * as styles from './page-header.css'; diff --git a/packages/frontend/core/src/components/page-list/tags/tag-list-item.tsx b/packages/frontend/core/src/components/page-list/tags/tag-list-item.tsx index d75fbf5dae..270229616a 100644 --- a/packages/frontend/core/src/components/page-list/tags/tag-list-item.tsx +++ b/packages/frontend/core/src/components/page-list/tags/tag-list-item.tsx @@ -1,7 +1,8 @@ import { Checkbox } from '@affine/component'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { useDraggable } from '@dnd-kit/core'; -import { type PropsWithChildren, useCallback, useMemo } from 'react'; +import type { PropsWithChildren } from 'react'; +import { useCallback, useMemo } from 'react'; import { Link } from 'react-router-dom'; import type { DraggableTitleCellData, TagListItemProps } from '../types'; diff --git a/packages/frontend/core/src/components/page-list/tags/virtualized-tag-list.tsx b/packages/frontend/core/src/components/page-list/tags/virtualized-tag-list.tsx index c44f9ab4e3..d438ad010b 100644 --- a/packages/frontend/core/src/components/page-list/tags/virtualized-tag-list.tsx +++ b/packages/frontend/core/src/components/page-list/tags/virtualized-tag-list.tsx @@ -1,7 +1,6 @@ import type { Tag } from '@affine/core/modules/tag'; import { Trans } from '@affine/i18n'; -import { useService } from '@toeverything/infra'; -import { Workspace } from '@toeverything/infra'; +import { useService, Workspace } from '@toeverything/infra'; import { useCallback, useMemo, useRef, useState } from 'react'; import { ListFloatingToolbar } from '../components/list-floating-toolbar'; diff --git a/packages/frontend/core/src/components/page-list/utils.tsx b/packages/frontend/core/src/components/page-list/utils.tsx index a2dd53dc4f..af8664d0b8 100644 --- a/packages/frontend/core/src/components/page-list/utils.tsx +++ b/packages/frontend/core/src/components/page-list/utils.tsx @@ -1,5 +1,6 @@ import clsx from 'clsx'; -import { type BaseSyntheticEvent, forwardRef } from 'react'; +import type { BaseSyntheticEvent } from 'react'; +import { forwardRef } from 'react'; import * as styles from './list.css'; import type { ColWrapperProps } from './types'; diff --git a/packages/frontend/core/src/components/page-list/view/collection-list.tsx b/packages/frontend/core/src/components/page-list/view/collection-list.tsx index fae0183eba..2cf32538ee 100644 --- a/packages/frontend/core/src/components/page-list/view/collection-list.tsx +++ b/packages/frontend/core/src/components/page-list/view/collection-list.tsx @@ -1,19 +1,17 @@ -import { Button } from '@affine/component'; -import { FlexWrapper } from '@affine/component'; -import { Menu } from '@affine/component'; +import { Button, FlexWrapper, Menu } from '@affine/component'; import type { Collection, DeleteCollectionInfo, Filter, + PropertiesMeta, } from '@affine/env/filter'; -import type { PropertiesMeta } from '@affine/env/filter'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { FilterIcon } from '@blocksuite/icons'; import { CreateFilterMenu } from '../filter/vars'; import * as styles from './collection-list.css'; import { CollectionOperations } from './collection-operations'; -import { type AllPageListConfig } from './edit-collection/edit-collection'; +import type { AllPageListConfig } from './edit-collection/edit-collection'; export const CollectionPageListOperationsMenu = ({ collection, diff --git a/packages/frontend/core/src/components/page-list/view/collection-operations.tsx b/packages/frontend/core/src/components/page-list/view/collection-operations.tsx index 6a0054ed7a..36946a2c6e 100644 --- a/packages/frontend/core/src/components/page-list/view/collection-operations.tsx +++ b/packages/frontend/core/src/components/page-list/view/collection-operations.tsx @@ -1,9 +1,5 @@ -import { - Menu, - MenuIcon, - MenuItem, - type MenuItemProps, -} from '@affine/component'; +import type { MenuItemProps } from '@affine/component'; +import { Menu, MenuIcon, MenuItem } from '@affine/component'; import { useAppSettingHelper } from '@affine/core/hooks/affine/use-app-setting-helper'; import { Workbench } from '@affine/core/modules/workbench'; import type { Collection, DeleteCollectionInfo } from '@affine/env/filter'; @@ -15,12 +11,8 @@ import { SplitViewIcon, } from '@blocksuite/icons'; import { useService } from '@toeverything/infra'; -import { - type PropsWithChildren, - type ReactElement, - useCallback, - useMemo, -} from 'react'; +import type { PropsWithChildren, ReactElement } from 'react'; +import { useCallback, useMemo } from 'react'; import { CollectionService } from '../../../modules/collection'; import * as styles from './collection-operations.css'; diff --git a/packages/frontend/core/src/components/page-list/view/create-collection.tsx b/packages/frontend/core/src/components/page-list/view/create-collection.tsx index c075868aef..7f4e5ae554 100644 --- a/packages/frontend/core/src/components/page-list/view/create-collection.tsx +++ b/packages/frontend/core/src/components/page-list/view/create-collection.tsx @@ -1,6 +1,6 @@ import { Button, Input, Modal } from '@affine/component'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; -import { type KeyboardEvent } from 'react'; +import type { KeyboardEvent } from 'react'; import { useCallback, useMemo, useState } from 'react'; import * as styles from './create-collection.css'; diff --git a/packages/frontend/core/src/components/page-list/view/edit-collection/edit-collection.tsx b/packages/frontend/core/src/components/page-list/view/edit-collection/edit-collection.tsx index ecde710eaa..e3577cd926 100644 --- a/packages/frontend/core/src/components/page-list/view/edit-collection/edit-collection.tsx +++ b/packages/frontend/core/src/components/page-list/view/edit-collection/edit-collection.tsx @@ -8,7 +8,8 @@ import type { Collection } from '@affine/env/filter'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import type { DocCollection, DocMeta } from '@blocksuite/store'; import type { DialogContentProps } from '@radix-ui/react-dialog'; -import { type ReactNode, useCallback, useMemo, useState } from 'react'; +import type { ReactNode } from 'react'; +import { useCallback, useMemo, useState } from 'react'; import * as styles from './edit-collection.css'; import { PagesMode } from './pages-mode'; diff --git a/packages/frontend/core/src/components/page-list/view/edit-collection/pages-mode.tsx b/packages/frontend/core/src/components/page-list/view/edit-collection/pages-mode.tsx index 5a328f7bba..8cfe35f2bc 100644 --- a/packages/frontend/core/src/components/page-list/view/edit-collection/pages-mode.tsx +++ b/packages/frontend/core/src/components/page-list/view/edit-collection/pages-mode.tsx @@ -4,7 +4,8 @@ import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { FilterIcon } from '@blocksuite/icons'; import type { DocMeta } from '@blocksuite/store'; import clsx from 'clsx'; -import { type ReactNode, useCallback } from 'react'; +import type { ReactNode } from 'react'; +import { useCallback } from 'react'; import { FilterList } from '../../filter/filter-list'; import { VariableSelect } from '../../filter/vars'; diff --git a/packages/frontend/core/src/components/page-list/view/edit-collection/rules-mode.tsx b/packages/frontend/core/src/components/page-list/view/edit-collection/rules-mode.tsx index d81cf2fb35..58f66ccd2f 100644 --- a/packages/frontend/core/src/components/page-list/view/edit-collection/rules-mode.tsx +++ b/packages/frontend/core/src/components/page-list/view/edit-collection/rules-mode.tsx @@ -10,7 +10,8 @@ import { } from '@blocksuite/icons'; import type { DocMeta } from '@blocksuite/store'; import clsx from 'clsx'; -import { type ReactNode, useCallback, useEffect, useState } from 'react'; +import type { ReactNode } from 'react'; +import { useCallback, useEffect, useState } from 'react'; import { FilterList } from '../../filter'; import { List, ListScrollContainer } from '../../list'; diff --git a/packages/frontend/core/src/components/page-list/view/edit-collection/use-filter.tsx b/packages/frontend/core/src/components/page-list/view/edit-collection/use-filter.tsx index 8fd5de060c..2c3b609bbf 100644 --- a/packages/frontend/core/src/components/page-list/view/edit-collection/use-filter.tsx +++ b/packages/frontend/core/src/components/page-list/view/edit-collection/use-filter.tsx @@ -1,10 +1,9 @@ import type { Filter } from '@affine/env/filter'; -import { type MouseEvent, useCallback, useState } from 'react'; +import type { MouseEvent } from 'react'; +import { useCallback, useState } from 'react'; -import { - filterPageByRules, - type PageDataForFilter, -} from '../../use-collection-manager'; +import type { PageDataForFilter } from '../../use-collection-manager'; +import { filterPageByRules } from '../../use-collection-manager'; export const useFilter = (list: PageDataForFilter[]) => { const [filters, changeFilters] = useState([]); diff --git a/packages/frontend/core/src/components/page-list/view/use-action.tsx b/packages/frontend/core/src/components/page-list/view/use-action.tsx index e524842fab..afe5e3cf8a 100644 --- a/packages/frontend/core/src/components/page-list/view/use-action.tsx +++ b/packages/frontend/core/src/components/page-list/view/use-action.tsx @@ -1,7 +1,8 @@ import type { Collection } from '@affine/env/filter'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { DeleteIcon, FilterIcon } from '@blocksuite/icons'; -import { type ReactNode, useMemo } from 'react'; +import type { ReactNode } from 'react'; +import { useMemo } from 'react'; interface CollectionBarAction { icon: ReactNode; diff --git a/packages/frontend/core/src/components/page-list/view/use-edit-collection.tsx b/packages/frontend/core/src/components/page-list/view/use-edit-collection.tsx index bcf5b07f9f..ec6c89d632 100644 --- a/packages/frontend/core/src/components/page-list/view/use-edit-collection.tsx +++ b/packages/frontend/core/src/components/page-list/view/use-edit-collection.tsx @@ -2,11 +2,11 @@ import type { Collection } from '@affine/env/filter'; import { useCallback, useState } from 'react'; import { CreateCollectionModal } from './create-collection'; -import { - type AllPageListConfig, - EditCollectionModal, - type EditCollectionMode, +import type { + AllPageListConfig, + EditCollectionMode, } from './edit-collection/edit-collection'; +import { EditCollectionModal } from './edit-collection/edit-collection'; export const useEditCollection = (config: AllPageListConfig) => { const [data, setData] = useState<{ diff --git a/packages/frontend/core/src/components/page-list/virtualized-list.tsx b/packages/frontend/core/src/components/page-list/virtualized-list.tsx index b057814b9c..3823f6e383 100644 --- a/packages/frontend/core/src/components/page-list/virtualized-list.tsx +++ b/packages/frontend/core/src/components/page-list/virtualized-list.tsx @@ -1,14 +1,8 @@ import { Scrollable } from '@affine/component'; import clsx from 'clsx'; import { selectAtom } from 'jotai/utils'; -import { - forwardRef, - type HTMLAttributes, - type PropsWithChildren, - useCallback, - useMemo, - useState, -} from 'react'; +import type { HTMLAttributes, PropsWithChildren } from 'react'; +import { forwardRef, useCallback, useMemo, useState } from 'react'; import { Virtuoso } from 'react-virtuoso'; import { ListInnerWrapper } from './list'; diff --git a/packages/frontend/core/src/components/pure/cmdk/data-hooks.tsx b/packages/frontend/core/src/components/pure/cmdk/data-hooks.tsx index c2922ed658..b709dd13e5 100644 --- a/packages/frontend/core/src/components/pure/cmdk/data-hooks.tsx +++ b/packages/frontend/core/src/components/pure/cmdk/data-hooks.tsx @@ -15,19 +15,17 @@ import { ViewLayersIcon, } from '@blocksuite/icons'; import type { DocMeta } from '@blocksuite/store'; +import type { AffineCommand, CommandCategory } from '@toeverything/infra'; import { + AffineCommandRegistry, Doc, PageRecordList, + PreconditionStrategy, useLiveData, + useService, + useServiceOptional, Workspace, } from '@toeverything/infra'; -import { - type AffineCommand, - AffineCommandRegistry, - type CommandCategory, - PreconditionStrategy, -} from '@toeverything/infra'; -import { useService, useServiceOptional } from '@toeverything/infra'; import { atom, useAtomValue } from 'jotai'; import { useCallback, useEffect, useMemo, useState } from 'react'; diff --git a/packages/frontend/core/src/components/pure/cmdk/main.tsx b/packages/frontend/core/src/components/pure/cmdk/main.tsx index e3d295bc2b..9b0680ff97 100644 --- a/packages/frontend/core/src/components/pure/cmdk/main.tsx +++ b/packages/frontend/core/src/components/pure/cmdk/main.tsx @@ -17,7 +17,8 @@ import { } from './data-hooks'; import { HighlightLabel } from './highlight'; import * as styles from './main.css'; -import { CMDKModal, type CMDKModalProps } from './modal'; +import type { CMDKModalProps } from './modal'; +import { CMDKModal } from './modal'; import { NotFoundGroup } from './not-found'; import type { CMDKCommand } from './types'; diff --git a/packages/frontend/core/src/components/pure/footer/index.tsx b/packages/frontend/core/src/components/pure/footer/index.tsx index 68ef7dcc72..e7fe2102b8 100644 --- a/packages/frontend/core/src/components/pure/footer/index.tsx +++ b/packages/frontend/core/src/components/pure/footer/index.tsx @@ -1,6 +1,7 @@ import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { CloudWorkspaceIcon } from '@blocksuite/icons'; -import { type CSSProperties, type FC, forwardRef, useCallback } from 'react'; +import type { CSSProperties, FC } from 'react'; +import { forwardRef, useCallback } from 'react'; import { useCurrentLoginStatus } from '../../../hooks/affine/use-current-login-status'; import { stringToColour } from '../../../utils'; diff --git a/packages/frontend/core/src/components/pure/header-drop-down-button/index.tsx b/packages/frontend/core/src/components/pure/header-drop-down-button/index.tsx index c26c0051ad..c17f909b1d 100644 --- a/packages/frontend/core/src/components/pure/header-drop-down-button/index.tsx +++ b/packages/frontend/core/src/components/pure/header-drop-down-button/index.tsx @@ -1,4 +1,5 @@ -import { IconButton, type IconButtonProps } from '@affine/component/ui/button'; +import type { IconButtonProps } from '@affine/component/ui/button'; +import { IconButton } from '@affine/component/ui/button'; import { MoreHorizontalIcon } from '@blocksuite/icons'; import { forwardRef } from 'react'; diff --git a/packages/frontend/core/src/components/pure/help-island/index.tsx b/packages/frontend/core/src/components/pure/help-island/index.tsx index 6959b92c78..037354a4d6 100644 --- a/packages/frontend/core/src/components/pure/help-island/index.tsx +++ b/packages/frontend/core/src/components/pure/help-island/index.tsx @@ -1,8 +1,7 @@ import { Tooltip } from '@affine/component/ui/tooltip'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { CloseIcon, NewIcon } from '@blocksuite/icons'; -import { useLiveData, useServiceOptional } from '@toeverything/infra'; -import { Doc } from '@toeverything/infra'; +import { Doc, useLiveData, useServiceOptional } from '@toeverything/infra'; import { useSetAtom } from 'jotai/react'; import { useCallback, useState } from 'react'; diff --git a/packages/frontend/core/src/components/pure/trash-page-footer/index.tsx b/packages/frontend/core/src/components/pure/trash-page-footer/index.tsx index 6f8c852661..2d65f782c0 100644 --- a/packages/frontend/core/src/components/pure/trash-page-footer/index.tsx +++ b/packages/frontend/core/src/components/pure/trash-page-footer/index.tsx @@ -5,8 +5,7 @@ import { useBlockSuiteDocMeta } from '@affine/core/hooks/use-block-suite-page-me import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { assertExists } from '@blocksuite/global/utils'; import { DeleteIcon, ResetIcon } from '@blocksuite/icons'; -import { useService } from '@toeverything/infra'; -import { useLiveData } from '@toeverything/infra'; +import { useLiveData, useService } from '@toeverything/infra'; import { useCallback, useState } from 'react'; import { useAppSettingHelper } from '../../../hooks/affine/use-app-setting-helper'; diff --git a/packages/frontend/core/src/components/pure/workspace-mode-filter-tab/index.tsx b/packages/frontend/core/src/components/pure/workspace-mode-filter-tab/index.tsx index 6df7309fe9..9b28c22b85 100644 --- a/packages/frontend/core/src/components/pure/workspace-mode-filter-tab/index.tsx +++ b/packages/frontend/core/src/components/pure/workspace-mode-filter-tab/index.tsx @@ -4,8 +4,7 @@ import { allPageFilterSelectAtom } from '@affine/core/atoms'; import { useNavigateHelper } from '@affine/core/hooks/use-navigate-helper'; import { WorkspaceSubPath } from '@affine/core/shared'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; -import { useService } from '@toeverything/infra'; -import { Workspace } from '@toeverything/infra'; +import { useService, Workspace } from '@toeverything/infra'; import { useAtom } from 'jotai'; import { useCallback, useEffect, useState } from 'react'; diff --git a/packages/frontend/core/src/components/pure/workspace-slider-bar/collections/collections-list.tsx b/packages/frontend/core/src/components/pure/workspace-slider-bar/collections/collections-list.tsx index 535ebadc0e..c72b18d243 100644 --- a/packages/frontend/core/src/components/pure/workspace-slider-bar/collections/collections-list.tsx +++ b/packages/frontend/core/src/components/pure/workspace-slider-bar/collections/collections-list.tsx @@ -13,8 +13,7 @@ import { MoreHorizontalIcon, ViewLayersIcon } from '@blocksuite/icons'; import type { DocCollection, DocMeta } from '@blocksuite/store'; import { useDroppable } from '@dnd-kit/core'; import * as Collapsible from '@radix-ui/react-collapsible'; -import { useService } from '@toeverything/infra'; -import { useLiveData } from '@toeverything/infra'; +import { useLiveData, useService } from '@toeverything/infra'; import { useCallback, useMemo, useState } from 'react'; import { useAllPageListConfig } from '../../../../hooks/affine/use-all-page-list-config'; diff --git a/packages/frontend/core/src/components/pure/workspace-slider-bar/components/operation-item.tsx b/packages/frontend/core/src/components/pure/workspace-slider-bar/components/operation-item.tsx index 33dee8c86d..4a3b760a84 100644 --- a/packages/frontend/core/src/components/pure/workspace-slider-bar/components/operation-item.tsx +++ b/packages/frontend/core/src/components/pure/workspace-slider-bar/components/operation-item.tsx @@ -1,9 +1,5 @@ -import { - MenuIcon, - MenuItem, - type MenuItemProps, - MenuSeparator, -} from '@affine/component'; +import type { MenuItemProps } from '@affine/component'; +import { MenuIcon, MenuItem, MenuSeparator } from '@affine/component'; import { useAppSettingHelper } from '@affine/core/hooks/affine/use-app-setting-helper'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { @@ -14,7 +10,8 @@ import { LinkedPageIcon, SplitViewIcon, } from '@blocksuite/icons'; -import { type ReactElement, useMemo } from 'react'; +import type { ReactElement } from 'react'; +import { useMemo } from 'react'; type OperationItemsProps = { inFavorites?: boolean; diff --git a/packages/frontend/core/src/components/pure/workspace-slider-bar/components/reference-page.tsx b/packages/frontend/core/src/components/pure/workspace-slider-bar/components/reference-page.tsx index 67c3d1c698..075ac83b32 100644 --- a/packages/frontend/core/src/components/pure/workspace-slider-bar/components/reference-page.tsx +++ b/packages/frontend/core/src/components/pure/workspace-slider-bar/components/reference-page.tsx @@ -1,7 +1,7 @@ import { useBlockSuitePageReferences } from '@affine/core/hooks/use-block-suite-page-references'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { EdgelessIcon, PageIcon } from '@blocksuite/icons'; -import { type DocCollection, type DocMeta } from '@blocksuite/store'; +import type { DocCollection, DocMeta } from '@blocksuite/store'; import * as Collapsible from '@radix-ui/react-collapsible'; import { PageRecordList, useLiveData, useService } from '@toeverything/infra'; import { useMemo, useState } from 'react'; diff --git a/packages/frontend/core/src/components/pure/workspace-slider-bar/favorite/favourite-page.tsx b/packages/frontend/core/src/components/pure/workspace-slider-bar/favorite/favourite-page.tsx index 9d44e4bd61..b03580b9f4 100644 --- a/packages/frontend/core/src/components/pure/workspace-slider-bar/favorite/favourite-page.tsx +++ b/packages/frontend/core/src/components/pure/workspace-slider-bar/favorite/favourite-page.tsx @@ -3,9 +3,7 @@ import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { EdgelessIcon, PageIcon } from '@blocksuite/icons'; import { useDraggable } from '@dnd-kit/core'; import * as Collapsible from '@radix-ui/react-collapsible'; -import { useService } from '@toeverything/infra'; -import { useLiveData } from '@toeverything/infra'; -import { PageRecordList } from '@toeverything/infra'; +import { PageRecordList, useLiveData, useService } from '@toeverything/infra'; import { useMemo, useState } from 'react'; import { useParams } from 'react-router-dom'; @@ -13,10 +11,8 @@ import { getDragItemId } from '../../../../hooks/affine/use-sidebar-drag'; import { MenuLinkItem } from '../../../app-sidebar'; import { DragMenuItemOverlay } from '../components/drag-menu-item-overlay'; import { PostfixItem } from '../components/postfix-item'; -import { - ReferencePage, - type ReferencePageProps, -} from '../components/reference-page'; +import type { ReferencePageProps } from '../components/reference-page'; +import { ReferencePage } from '../components/reference-page'; import * as styles from './styles.css'; export const FavouritePage = ({ diff --git a/packages/frontend/core/src/components/pure/workspace-slider-bar/user-with-workspace-list/index.tsx b/packages/frontend/core/src/components/pure/workspace-slider-bar/user-with-workspace-list/index.tsx index a83aa5d864..4daa4c70e7 100644 --- a/packages/frontend/core/src/components/pure/workspace-slider-bar/user-with-workspace-list/index.tsx +++ b/packages/frontend/core/src/components/pure/workspace-slider-bar/user-with-workspace-list/index.tsx @@ -5,9 +5,7 @@ import { useSession } from '@affine/core/hooks/affine/use-current-user'; import { Unreachable } from '@affine/env/constant'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { Logo1Icon } from '@blocksuite/icons'; -import { WorkspaceManager } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; -import { useLiveData } from '@toeverything/infra'; +import { useLiveData, useService, WorkspaceManager } from '@toeverything/infra'; import { useSetAtom } from 'jotai'; import { Suspense, useCallback, useEffect } from 'react'; diff --git a/packages/frontend/core/src/components/pure/workspace-slider-bar/user-with-workspace-list/workspace-list/index.tsx b/packages/frontend/core/src/components/pure/workspace-slider-bar/user-with-workspace-list/workspace-list/index.tsx index 616fdd1460..0b9940d435 100644 --- a/packages/frontend/core/src/components/pure/workspace-slider-bar/user-with-workspace-list/workspace-list/index.tsx +++ b/packages/frontend/core/src/components/pure/workspace-slider-bar/user-with-workspace-list/workspace-list/index.tsx @@ -9,9 +9,8 @@ import { import { WorkspaceFlavour } from '@affine/env/workspace'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import type { DragEndEvent } from '@dnd-kit/core'; -import { WorkspaceManager, type WorkspaceMetadata } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; -import { useLiveData } from '@toeverything/infra'; +import type { WorkspaceMetadata } from '@toeverything/infra'; +import { useLiveData, useService, WorkspaceManager } from '@toeverything/infra'; import { useSetAtom } from 'jotai'; import { useCallback, useMemo } from 'react'; diff --git a/packages/frontend/core/src/components/pure/workspace-slider-bar/workspace-card/index.tsx b/packages/frontend/core/src/components/pure/workspace-slider-bar/workspace-card/index.tsx index 5fbb11ebe8..52004e2687 100644 --- a/packages/frontend/core/src/components/pure/workspace-slider-bar/workspace-card/index.tsx +++ b/packages/frontend/core/src/components/pure/workspace-slider-bar/workspace-card/index.tsx @@ -17,18 +17,11 @@ import { NoNetworkIcon, UnsyncIcon, } from '@blocksuite/icons'; -import { Workspace } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; +import { useService, Workspace } from '@toeverything/infra'; import { useSetAtom } from 'jotai'; import { debounce } from 'lodash-es'; -import { - forwardRef, - type HTMLAttributes, - useCallback, - useEffect, - useMemo, - useState, -} from 'react'; +import type { HTMLAttributes } from 'react'; +import { forwardRef, useCallback, useEffect, useMemo, useState } from 'react'; import { useSystemOnline } from '../../../../hooks/use-system-online'; import { diff --git a/packages/frontend/core/src/components/pure/workspace-slider-bar/workspace-card/styles.ts b/packages/frontend/core/src/components/pure/workspace-slider-bar/workspace-card/styles.ts index 0818d19de6..ea8f62c6de 100644 --- a/packages/frontend/core/src/components/pure/workspace-slider-bar/workspace-card/styles.ts +++ b/packages/frontend/core/src/components/pure/workspace-slider-bar/workspace-card/styles.ts @@ -1,5 +1,4 @@ -import { displayFlex, textEllipsis } from '@affine/component'; -import { styled } from '@affine/component'; +import { displayFlex, styled, textEllipsis } from '@affine/component'; export const StyledSelectorContainer = styled('div')({ height: '58px', display: 'flex', diff --git a/packages/frontend/core/src/components/root-app-sidebar/index.tsx b/packages/frontend/core/src/components/root-app-sidebar/index.tsx index 6ddae61383..b24dc0f0ca 100644 --- a/packages/frontend/core/src/components/root-app-sidebar/index.tsx +++ b/packages/frontend/core/src/components/root-app-sidebar/index.tsx @@ -4,9 +4,10 @@ import { CollectionService } from '@affine/core/modules/collection'; import { apis, events } from '@affine/electron-api'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { FolderIcon, SettingsIcon } from '@blocksuite/icons'; -import { type Doc } from '@blocksuite/store'; +import type { Doc } from '@blocksuite/store'; import { useDroppable } from '@dnd-kit/core'; -import { useLiveData, useService, type Workspace } from '@toeverything/infra'; +import type { Workspace } from '@toeverything/infra'; +import { useLiveData, useService } from '@toeverything/infra'; import { useAtomValue } from 'jotai'; import { nanoid } from 'nanoid'; import type { HTMLAttributes, ReactElement } from 'react'; diff --git a/packages/frontend/core/src/components/top-tip.tsx b/packages/frontend/core/src/components/top-tip.tsx index 6efe092c58..77cb984740 100644 --- a/packages/frontend/core/src/components/top-tip.tsx +++ b/packages/frontend/core/src/components/top-tip.tsx @@ -1,11 +1,10 @@ -import { BrowserWarning } from '@affine/component/affine-banner'; -import { LocalDemoTips } from '@affine/component/affine-banner'; +import { BrowserWarning, LocalDemoTips } from '@affine/component/affine-banner'; import { useAsyncCallback } from '@affine/core/hooks/affine-async-hooks'; import { WorkspaceFlavour } from '@affine/env/workspace'; import { Trans } from '@affine/i18n'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; -import { type Workspace, WorkspaceManager } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; +import type { Workspace } from '@toeverything/infra'; +import { useService, WorkspaceManager } from '@toeverything/infra'; import { useSetAtom } from 'jotai'; import { useCallback, useState } from 'react'; diff --git a/packages/frontend/core/src/components/workspace-upgrade/upgrade.tsx b/packages/frontend/core/src/components/workspace-upgrade/upgrade.tsx index c5fc25b247..b58bcf6e1f 100644 --- a/packages/frontend/core/src/components/workspace-upgrade/upgrade.tsx +++ b/packages/frontend/core/src/components/workspace-upgrade/upgrade.tsx @@ -4,8 +4,7 @@ import { useAsyncCallback } from '@affine/core/hooks/affine-async-hooks'; import { useNavigateHelper } from '@affine/core/hooks/use-navigate-helper'; import { useWorkspaceStatus } from '@affine/core/hooks/use-workspace-status'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; -import { Workspace, WorkspaceManager } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; +import { useService, Workspace, WorkspaceManager } from '@toeverything/infra'; import { useState } from 'react'; import { WorkspaceSubPath } from '../../shared'; diff --git a/packages/frontend/core/src/components/workspace/index.css.ts b/packages/frontend/core/src/components/workspace/index.css.ts index cf3d0db37a..7f3bbef7d3 100644 --- a/packages/frontend/core/src/components/workspace/index.css.ts +++ b/packages/frontend/core/src/components/workspace/index.css.ts @@ -1,5 +1,4 @@ -import { cssVar } from '@toeverything/theme'; -import { lightCssVariables } from '@toeverything/theme'; +import { cssVar, lightCssVariables } from '@toeverything/theme'; import { globalStyle, style } from '@vanilla-extract/css'; export const appStyle = style({ width: '100%', diff --git a/packages/frontend/core/src/hooks/__tests__/use-block-suite-workspace-page-title.spec.tsx b/packages/frontend/core/src/hooks/__tests__/use-block-suite-workspace-page-title.spec.tsx index 5c0ae3635f..8cce3b379a 100644 --- a/packages/frontend/core/src/hooks/__tests__/use-block-suite-workspace-page-title.spec.tsx +++ b/packages/frontend/core/src/hooks/__tests__/use-block-suite-workspace-page-title.spec.tsx @@ -5,12 +5,14 @@ import 'fake-indexeddb/auto'; import { WorkspacePropertiesAdapter } from '@affine/core/modules/workspace'; import { render } from '@testing-library/react'; -import { Workspace } from '@toeverything/infra'; -import { ServiceProviderContext, useService } from '@toeverything/infra'; +import { + ServiceProviderContext, + useService, + Workspace, +} from '@toeverything/infra'; import { createStore, Provider } from 'jotai'; import { Suspense } from 'react'; -import { describe, expect, test, vi } from 'vitest'; -import { beforeEach } from 'vitest'; +import { beforeEach, describe, expect, test, vi } from 'vitest'; import { configureTestingEnvironment } from '../../testing'; import { useDocCollectionPageTitle } from '../use-block-suite-workspace-page-title'; diff --git a/packages/frontend/core/src/hooks/affine/use-all-page-list-config.tsx b/packages/frontend/core/src/hooks/affine/use-all-page-list-config.tsx index 71f534663b..821717f3d1 100644 --- a/packages/frontend/core/src/hooks/affine/use-all-page-list-config.tsx +++ b/packages/frontend/core/src/hooks/affine/use-all-page-list-config.tsx @@ -1,13 +1,10 @@ import { toast } from '@affine/component'; -import { - type AllPageListConfig, - FavoriteTag, -} from '@affine/core/components/page-list'; +import type { AllPageListConfig } from '@affine/core/components/page-list'; +import { FavoriteTag } from '@affine/core/components/page-list'; import { useBlockSuiteDocMeta } from '@affine/core/hooks/use-block-suite-page-meta'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import type { DocMeta } from '@blocksuite/store'; -import { Workspace } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; +import { useService, Workspace } from '@toeverything/infra'; import { useCallback, useMemo } from 'react'; import { usePageHelper } from '../../components/blocksuite/block-suite-page-list/utils'; diff --git a/packages/frontend/core/src/hooks/affine/use-app-setting-helper.ts b/packages/frontend/core/src/hooks/affine/use-app-setting-helper.ts index eb22b19960..7a4e3eb1af 100644 --- a/packages/frontend/core/src/hooks/affine/use-app-setting-helper.ts +++ b/packages/frontend/core/src/hooks/affine/use-app-setting-helper.ts @@ -1,4 +1,5 @@ -import { type AppSetting, appSettingAtom } from '@toeverything/infra'; +import type { AppSetting } from '@toeverything/infra'; +import { appSettingAtom } from '@toeverything/infra'; import { useAtom } from 'jotai'; import { useCallback, useMemo } from 'react'; diff --git a/packages/frontend/core/src/hooks/affine/use-export-page.ts b/packages/frontend/core/src/hooks/affine/use-export-page.ts index fb8417cad9..64532c2036 100644 --- a/packages/frontend/core/src/hooks/affine/use-export-page.ts +++ b/packages/frontend/core/src/hooks/affine/use-export-page.ts @@ -5,12 +5,8 @@ import { import { pushNotificationAtom } from '@affine/component/notification-center'; import { apis } from '@affine/electron-api'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; -import type { PageRootService } from '@blocksuite/blocks'; -import { - HtmlTransformer, - MarkdownTransformer, - type RootBlockModel, -} from '@blocksuite/blocks'; +import type { PageRootService, RootBlockModel } from '@blocksuite/blocks'; +import { HtmlTransformer, MarkdownTransformer } from '@blocksuite/blocks'; import type { Doc } from '@blocksuite/store'; import { useSetAtom } from 'jotai'; import { nanoid } from 'nanoid'; diff --git a/packages/frontend/core/src/hooks/affine/use-members.ts b/packages/frontend/core/src/hooks/affine/use-members.ts index af435dc486..97238a0a94 100644 --- a/packages/frontend/core/src/hooks/affine/use-members.ts +++ b/packages/frontend/core/src/hooks/affine/use-members.ts @@ -1,8 +1,5 @@ -import { - type GetMembersByWorkspaceIdQuery, - getMembersByWorkspaceIdQuery, - Permission, -} from '@affine/graphql'; +import type { GetMembersByWorkspaceIdQuery } from '@affine/graphql'; +import { getMembersByWorkspaceIdQuery, Permission } from '@affine/graphql'; import { useMemo } from 'react'; import { useQuery } from '../use-query'; diff --git a/packages/frontend/core/src/hooks/affine/use-register-blocksuite-editor-commands.tsx b/packages/frontend/core/src/hooks/affine/use-register-blocksuite-editor-commands.tsx index e319422d25..8a800e9626 100644 --- a/packages/frontend/core/src/hooks/affine/use-register-blocksuite-editor-commands.tsx +++ b/packages/frontend/core/src/hooks/affine/use-register-blocksuite-editor-commands.tsx @@ -4,12 +4,14 @@ import { WorkspaceFlavour } from '@affine/env/workspace'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { assertExists } from '@blocksuite/global/utils'; import { EdgelessIcon, HistoryIcon, PageIcon } from '@blocksuite/icons'; -import { Doc, useLiveData, Workspace } from '@toeverything/infra'; import { + Doc, PreconditionStrategy, registerAffineCommand, + useLiveData, + useService, + Workspace, } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; import { useSetAtom } from 'jotai'; import { useCallback, useEffect } from 'react'; diff --git a/packages/frontend/core/src/hooks/affine/use-sidebar-drag.ts b/packages/frontend/core/src/hooks/affine/use-sidebar-drag.ts index e13de311b1..900d4c3f72 100644 --- a/packages/frontend/core/src/hooks/affine/use-sidebar-drag.ts +++ b/packages/frontend/core/src/hooks/affine/use-sidebar-drag.ts @@ -3,8 +3,7 @@ import type { DraggableTitleCellData } from '@affine/core/components/page-list'; import { useDocMetaHelper } from '@affine/core/hooks/use-block-suite-page-meta'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import type { DragEndEvent, UniqueIdentifier } from '@dnd-kit/core'; -import { Workspace } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; +import { useService, Workspace } from '@toeverything/infra'; import { useCallback } from 'react'; import { useBlockSuiteMetaHelper } from './use-block-suite-meta-helper'; diff --git a/packages/frontend/core/src/hooks/use-app-config-storage.ts b/packages/frontend/core/src/hooks/use-app-config-storage.ts index 29b9859c45..e3d0cf6727 100644 --- a/packages/frontend/core/src/hooks/use-app-config-storage.ts +++ b/packages/frontend/core/src/hooks/use-app-config-storage.ts @@ -1,13 +1,10 @@ import { apis } from '@affine/electron-api'; import { setupGlobal } from '@affine/env/global'; import { assertExists } from '@blocksuite/global/utils'; -import { - type AppConfigSchema, - AppConfigStorage, - defaultAppConfig, -} from '@toeverything/infra'; -import { type Dispatch, useEffect, useState } from 'react'; -import { useMemo } from 'react'; +import type { AppConfigSchema } from '@toeverything/infra'; +import { AppConfigStorage, defaultAppConfig } from '@toeverything/infra'; +import type { Dispatch } from 'react'; +import { useEffect, useMemo, useState } from 'react'; /** * Helper class to get/set app config from main process diff --git a/packages/frontend/core/src/hooks/use-app-updater.ts b/packages/frontend/core/src/hooks/use-app-updater.ts index 4ccea64b4e..d63063d05e 100644 --- a/packages/frontend/core/src/hooks/use-app-updater.ts +++ b/packages/frontend/core/src/hooks/use-app-updater.ts @@ -1,4 +1,5 @@ -import { apis, events, type UpdateMeta } from '@affine/electron-api'; +import type { UpdateMeta } from '@affine/electron-api'; +import { apis, events } from '@affine/electron-api'; import { isBrowser } from '@affine/env/constant'; import { appSettingAtom } from '@toeverything/infra'; import { atom, useAtom, useAtomValue } from 'jotai'; diff --git a/packages/frontend/core/src/hooks/use-block-suite-editor.ts b/packages/frontend/core/src/hooks/use-block-suite-editor.ts index 68d9ff82fb..f8e3f9a570 100644 --- a/packages/frontend/core/src/hooks/use-block-suite-editor.ts +++ b/packages/frontend/core/src/hooks/use-block-suite-editor.ts @@ -1,5 +1,6 @@ import type { AffineEditorContainer } from '@blocksuite/presets'; -import { atom, type SetStateAction, useAtom } from 'jotai'; +import type { SetStateAction } from 'jotai'; +import { atom, useAtom } from 'jotai'; const activeEditorContainerAtom = atom(null); diff --git a/packages/frontend/core/src/hooks/use-block-suite-page-backlinks.ts b/packages/frontend/core/src/hooks/use-block-suite-page-backlinks.ts index 13d1d81d9f..28766b403a 100644 --- a/packages/frontend/core/src/hooks/use-block-suite-page-backlinks.ts +++ b/packages/frontend/core/src/hooks/use-block-suite-page-backlinks.ts @@ -1,5 +1,6 @@ import type { Doc, DocCollection } from '@blocksuite/store'; -import { type Atom, atom, useAtomValue } from 'jotai'; +import type { Atom } from 'jotai'; +import { atom, useAtomValue } from 'jotai'; import { useDocCollectionPage } from './use-block-suite-workspace-page'; diff --git a/packages/frontend/core/src/hooks/use-block-suite-page-references.ts b/packages/frontend/core/src/hooks/use-block-suite-page-references.ts index ea9ab92313..7b099a7cd6 100644 --- a/packages/frontend/core/src/hooks/use-block-suite-page-references.ts +++ b/packages/frontend/core/src/hooks/use-block-suite-page-references.ts @@ -1,5 +1,6 @@ import type { Doc, DocCollection } from '@blocksuite/store'; -import { type Atom, atom, useAtomValue } from 'jotai'; +import type { Atom } from 'jotai'; +import { atom, useAtomValue } from 'jotai'; import { useDocCollectionPage } from './use-block-suite-workspace-page'; diff --git a/packages/frontend/core/src/hooks/use-navigate-helper.ts b/packages/frontend/core/src/hooks/use-navigate-helper.ts index 6f04fbe273..c7f6538a9b 100644 --- a/packages/frontend/core/src/hooks/use-navigate-helper.ts +++ b/packages/frontend/core/src/hooks/use-navigate-helper.ts @@ -1,11 +1,7 @@ import type { WorkspaceSubPath } from '@affine/core/shared'; import { createContext, useCallback, useContext, useMemo } from 'react'; -import { - type NavigateFunction, - type NavigateOptions, - type To, - useLocation, -} from 'react-router-dom'; +import type { NavigateFunction, NavigateOptions, To } from 'react-router-dom'; +import { useLocation } from 'react-router-dom'; import { router } from '../router'; diff --git a/packages/frontend/core/src/hooks/use-register-workspace-commands.ts b/packages/frontend/core/src/hooks/use-register-workspace-commands.ts index 2d38da47e0..77d7271d0d 100644 --- a/packages/frontend/core/src/hooks/use-register-workspace-commands.ts +++ b/packages/frontend/core/src/hooks/use-register-workspace-commands.ts @@ -1,6 +1,5 @@ import { useAFFiNEI18N } from '@affine/i18n/hooks'; -import { Workspace } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; +import { useService, Workspace } from '@toeverything/infra'; import { useStore } from 'jotai'; import { useTheme } from 'next-themes'; import { useEffect } from 'react'; diff --git a/packages/frontend/core/src/hooks/use-subscription.ts b/packages/frontend/core/src/hooks/use-subscription.ts index d6c95a8c10..c3e81816f7 100644 --- a/packages/frontend/core/src/hooks/use-subscription.ts +++ b/packages/frontend/core/src/hooks/use-subscription.ts @@ -1,5 +1,6 @@ import { useAsyncCallback } from '@affine/core/hooks/affine-async-hooks'; -import { type SubscriptionQuery, subscriptionQuery } from '@affine/graphql'; +import type { SubscriptionQuery } from '@affine/graphql'; +import { subscriptionQuery } from '@affine/graphql'; import { useServerFeatures } from './affine/use-server-config'; import { useQuery } from './use-query'; diff --git a/packages/frontend/core/src/hooks/use-workspace-blob.ts b/packages/frontend/core/src/hooks/use-workspace-blob.ts index ddca25f34f..3b234c76f8 100644 --- a/packages/frontend/core/src/hooks/use-workspace-blob.ts +++ b/packages/frontend/core/src/hooks/use-workspace-blob.ts @@ -1,6 +1,5 @@ import type { WorkspaceMetadata } from '@toeverything/infra'; -import { WorkspaceManager } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; +import { useService, WorkspaceManager } from '@toeverything/infra'; import { useEffect, useState } from 'react'; export function useWorkspaceBlobObjectUrl( diff --git a/packages/frontend/core/src/hooks/use-workspace-features.ts b/packages/frontend/core/src/hooks/use-workspace-features.ts index 7391440afd..3587a4e30e 100644 --- a/packages/frontend/core/src/hooks/use-workspace-features.ts +++ b/packages/frontend/core/src/hooks/use-workspace-features.ts @@ -5,7 +5,7 @@ import { enabledFeaturesQuery, setWorkspaceExperimentalFeatureMutation, } from '@affine/graphql'; -import { type WorkspaceMetadata } from '@toeverything/infra'; +import type { WorkspaceMetadata } from '@toeverything/infra'; import { useAsyncCallback } from './affine-async-hooks'; import { useMutateQueryResource, useMutation } from './use-mutation'; diff --git a/packages/frontend/core/src/hooks/use-workspace-info.ts b/packages/frontend/core/src/hooks/use-workspace-info.ts index af07d6b915..4fb04fda73 100644 --- a/packages/frontend/core/src/hooks/use-workspace-info.ts +++ b/packages/frontend/core/src/hooks/use-workspace-info.ts @@ -1,5 +1,5 @@ -import { WorkspaceManager, type WorkspaceMetadata } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; +import type { WorkspaceMetadata } from '@toeverything/infra'; +import { useService, WorkspaceManager } from '@toeverything/infra'; import { useEffect, useState } from 'react'; import { useWorkspaceBlobObjectUrl } from './use-workspace-blob'; diff --git a/packages/frontend/core/src/hooks/use-workspace.ts b/packages/frontend/core/src/hooks/use-workspace.ts index 9323654983..3257f30208 100644 --- a/packages/frontend/core/src/hooks/use-workspace.ts +++ b/packages/frontend/core/src/hooks/use-workspace.ts @@ -1,6 +1,5 @@ -import type { WorkspaceMetadata } from '@toeverything/infra'; -import { type Workspace, WorkspaceManager } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; +import type { Workspace, WorkspaceMetadata } from '@toeverything/infra'; +import { useService, WorkspaceManager } from '@toeverything/infra'; import { useEffect, useState } from 'react'; /** diff --git a/packages/frontend/core/src/layouts/workspace-layout.tsx b/packages/frontend/core/src/layouts/workspace-layout.tsx index 4d52e07daa..aa16515ee5 100644 --- a/packages/frontend/core/src/layouts/workspace-layout.tsx +++ b/packages/frontend/core/src/layouts/workspace-layout.tsx @@ -9,8 +9,12 @@ import { useSensor, useSensors, } from '@dnd-kit/core'; -import { PageRecordList, useLiveData, Workspace } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; +import { + PageRecordList, + useLiveData, + useService, + Workspace, +} from '@toeverything/infra'; import { useAtom, useAtomValue, useSetAtom } from 'jotai'; import type { PropsWithChildren, ReactNode } from 'react'; import { lazy, Suspense, useCallback, useEffect, useState } from 'react'; @@ -25,10 +29,8 @@ import { appSidebarResizingAtom, } from '../components/app-sidebar'; import { usePageHelper } from '../components/blocksuite/block-suite-page-list/utils'; -import { - type DraggableTitleCellData, - PageListDragOverlay, -} from '../components/page-list'; +import type { DraggableTitleCellData } from '../components/page-list'; +import { PageListDragOverlay } from '../components/page-list'; import { RootAppSidebar } from '../components/root-app-sidebar'; import { MainContainer, WorkspaceFallback } from '../components/workspace'; import { WorkspaceUpgrade } from '../components/workspace-upgrade'; diff --git a/packages/frontend/core/src/modules/infra-web/global-scope/index.tsx b/packages/frontend/core/src/modules/infra-web/global-scope/index.tsx index 037d5adf14..efac0f4110 100644 --- a/packages/frontend/core/src/modules/infra-web/global-scope/index.tsx +++ b/packages/frontend/core/src/modules/infra-web/global-scope/index.tsx @@ -1,5 +1,5 @@ +import type { ServiceProvider } from '@toeverything/infra'; import { - type ServiceProvider, ServiceProviderContext, useLiveData, useService, diff --git a/packages/frontend/core/src/modules/multi-tab-sidebar/entities/tabs/journal.tsx b/packages/frontend/core/src/modules/multi-tab-sidebar/entities/tabs/journal.tsx index 732cb71204..d1a15194ec 100644 --- a/packages/frontend/core/src/modules/multi-tab-sidebar/entities/tabs/journal.tsx +++ b/packages/frontend/core/src/modules/multi-tab-sidebar/entities/tabs/journal.tsx @@ -1,10 +1,5 @@ -import { - type DateCell, - DatePicker, - IconButton, - Menu, - Scrollable, -} from '@affine/component'; +import type { DateCell } from '@affine/component'; +import { DatePicker, IconButton, Menu, Scrollable } from '@affine/component'; import { MoveToTrash } from '@affine/core/components/page-list'; import { useTrashModalHelper } from '@affine/core/hooks/affine/use-trash-modal-helper'; import { @@ -25,9 +20,9 @@ import { Doc, PageRecordList, useLiveData, + useService, Workspace, } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; import { assignInlineVars } from '@vanilla-extract/dynamic'; import clsx from 'clsx'; import dayjs from 'dayjs'; diff --git a/packages/frontend/core/src/modules/navigation/view/navigation-buttons.tsx b/packages/frontend/core/src/modules/navigation/view/navigation-buttons.tsx index 8dbedeae68..376079ad56 100644 --- a/packages/frontend/core/src/modules/navigation/view/navigation-buttons.tsx +++ b/packages/frontend/core/src/modules/navigation/view/navigation-buttons.tsx @@ -1,8 +1,7 @@ import { IconButton, Tooltip } from '@affine/component'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { ArrowLeftSmallIcon, ArrowRightSmallIcon } from '@blocksuite/icons'; -import { useService } from '@toeverything/infra'; -import { useLiveData } from '@toeverything/infra'; +import { useLiveData, useService } from '@toeverything/infra'; import { useCallback, useEffect, useMemo } from 'react'; import { useGeneralShortcuts } from '../../../hooks/affine/use-shortcuts'; diff --git a/packages/frontend/core/src/modules/navigation/view/use-register-navigation-commands.ts b/packages/frontend/core/src/modules/navigation/view/use-register-navigation-commands.ts index 4b815555a6..102f05ee47 100644 --- a/packages/frontend/core/src/modules/navigation/view/use-register-navigation-commands.ts +++ b/packages/frontend/core/src/modules/navigation/view/use-register-navigation-commands.ts @@ -1,8 +1,8 @@ import { PreconditionStrategy, registerAffineCommand, + useService, } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; import { useEffect } from 'react'; import { Navigator } from '../entities/navigator'; diff --git a/packages/frontend/core/src/modules/right-sidebar/view/container.tsx b/packages/frontend/core/src/modules/right-sidebar/view/container.tsx index a20c4a05da..46f993fd3e 100644 --- a/packages/frontend/core/src/modules/right-sidebar/view/container.tsx +++ b/packages/frontend/core/src/modules/right-sidebar/view/container.tsx @@ -1,8 +1,6 @@ import { ResizePanel } from '@affine/component/resize-panel'; import { appSidebarOpenAtom } from '@affine/core/components/app-sidebar'; -import { appSettingAtom } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; -import { useLiveData } from '@toeverything/infra'; +import { appSettingAtom, useLiveData, useService } from '@toeverything/infra'; import { useAtomValue } from 'jotai'; import { useCallback, useEffect, useState } from 'react'; diff --git a/packages/frontend/core/src/modules/services.ts b/packages/frontend/core/src/modules/services.ts index 52cefe71e0..0c31441797 100644 --- a/packages/frontend/core/src/modules/services.ts +++ b/packages/frontend/core/src/modules/services.ts @@ -1,8 +1,8 @@ +import type { ServiceCollection } from '@toeverything/infra'; import { GlobalCache, GlobalState, PageRecordList, - type ServiceCollection, Workspace, WorkspaceScope, } from '@toeverything/infra'; diff --git a/packages/frontend/core/src/modules/tag/entities/tag.ts b/packages/frontend/core/src/modules/tag/entities/tag.ts index 7ae7c730e4..0701495631 100644 --- a/packages/frontend/core/src/modules/tag/entities/tag.ts +++ b/packages/frontend/core/src/modules/tag/entities/tag.ts @@ -1,5 +1,6 @@ import type { Tag as TagSchema } from '@affine/env/filter'; -import { LiveData, type PageRecordList } from '@toeverything/infra'; +import type { PageRecordList } from '@toeverything/infra'; +import { LiveData } from '@toeverything/infra'; import type { WorkspaceLegacyProperties } from '../../workspace'; diff --git a/packages/frontend/core/src/modules/tag/service/tag.ts b/packages/frontend/core/src/modules/tag/service/tag.ts index e040747669..f2231bfacc 100644 --- a/packages/frontend/core/src/modules/tag/service/tag.ts +++ b/packages/frontend/core/src/modules/tag/service/tag.ts @@ -1,4 +1,5 @@ -import { LiveData, type PageRecordList } from '@toeverything/infra'; +import type { PageRecordList } from '@toeverything/infra'; +import { LiveData } from '@toeverything/infra'; import { nanoid } from 'nanoid'; import type { WorkspaceLegacyProperties } from '../../workspace'; diff --git a/packages/frontend/core/src/modules/workbench/view/browser-adapter.ts b/packages/frontend/core/src/modules/workbench/view/browser-adapter.ts index 36b215f5aa..542dd92629 100644 --- a/packages/frontend/core/src/modules/workbench/view/browser-adapter.ts +++ b/packages/frontend/core/src/modules/workbench/view/browser-adapter.ts @@ -1,5 +1,5 @@ import { useLiveData } from '@toeverything/infra'; -import { type Location } from 'history'; +import type { Location } from 'history'; import { useEffect } from 'react'; // eslint-disable-next-line @typescript-eslint/no-restricted-imports import { useLocation, useNavigate } from 'react-router-dom'; diff --git a/packages/frontend/core/src/modules/workbench/view/desktop-adapter.ts b/packages/frontend/core/src/modules/workbench/view/desktop-adapter.ts index e2b652d0b0..110334712a 100644 --- a/packages/frontend/core/src/modules/workbench/view/desktop-adapter.ts +++ b/packages/frontend/core/src/modules/workbench/view/desktop-adapter.ts @@ -1,4 +1,4 @@ -import { type Location } from 'history'; +import type { Location } from 'history'; import { useEffect } from 'react'; // eslint-disable-next-line @typescript-eslint/no-restricted-imports import { useLocation } from 'react-router-dom'; diff --git a/packages/frontend/core/src/modules/workbench/view/route-container.tsx b/packages/frontend/core/src/modules/workbench/view/route-container.tsx index 0c62de148a..bf561afd68 100644 --- a/packages/frontend/core/src/modules/workbench/view/route-container.tsx +++ b/packages/frontend/core/src/modules/workbench/view/route-container.tsx @@ -1,8 +1,7 @@ import { IconButton } from '@affine/component'; import { WindowsAppControls } from '@affine/core/components/pure/header/windows-app-controls'; import { RightSidebarIcon } from '@blocksuite/icons'; -import { useLiveData } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; +import { useLiveData, useService } from '@toeverything/infra'; import { useAtomValue } from 'jotai'; import { Suspense, useCallback } from 'react'; diff --git a/packages/frontend/core/src/modules/workbench/view/split-view/indicator.tsx b/packages/frontend/core/src/modules/workbench/view/split-view/indicator.tsx index a5d30aef63..e8aa96a64a 100644 --- a/packages/frontend/core/src/modules/workbench/view/split-view/indicator.tsx +++ b/packages/frontend/core/src/modules/workbench/view/split-view/indicator.tsx @@ -1,14 +1,8 @@ -import { Menu, type MenuProps } from '@affine/component'; +import type { MenuProps } from '@affine/component'; +import { Menu } from '@affine/component'; import clsx from 'clsx'; -import { - forwardRef, - type HTMLAttributes, - memo, - type MouseEventHandler, - useCallback, - useMemo, - useState, -} from 'react'; +import type { HTMLAttributes, MouseEventHandler } from 'react'; +import { forwardRef, memo, useCallback, useMemo, useState } from 'react'; import * as styles from './indicator.css'; diff --git a/packages/frontend/core/src/modules/workbench/view/split-view/panel.tsx b/packages/frontend/core/src/modules/workbench/view/split-view/panel.tsx index a300725fa0..2efec77412 100644 --- a/packages/frontend/core/src/modules/workbench/view/split-view/panel.tsx +++ b/packages/frontend/core/src/modules/workbench/view/split-view/panel.tsx @@ -7,22 +7,16 @@ import { SoloViewIcon, } from '@blocksuite/icons'; import { useSortable } from '@dnd-kit/sortable'; -import { useService } from '@toeverything/infra'; -import { useLiveData } from '@toeverything/infra'; +import { useLiveData, useService } from '@toeverything/infra'; import { assignInlineVars } from '@vanilla-extract/dynamic'; import type { SetStateAction } from 'jotai'; -import { - type Dispatch, - type HTMLAttributes, - memo, - type PropsWithChildren, - type RefObject, - useCallback, - useEffect, - useMemo, - useRef, - useState, +import type { + Dispatch, + HTMLAttributes, + PropsWithChildren, + RefObject, } from 'react'; +import { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react'; import type { View } from '../../entities/view'; import { Workbench } from '../../entities/workbench'; diff --git a/packages/frontend/core/src/modules/workbench/view/split-view/resize-handle.tsx b/packages/frontend/core/src/modules/workbench/view/split-view/resize-handle.tsx index 26f52d218d..d3498542ab 100644 --- a/packages/frontend/core/src/modules/workbench/view/split-view/resize-handle.tsx +++ b/packages/frontend/core/src/modules/workbench/view/split-view/resize-handle.tsx @@ -1,4 +1,5 @@ -import { type HTMLAttributes, useCallback } from 'react'; +import type { HTMLAttributes } from 'react'; +import { useCallback } from 'react'; import * as styles from './split-view.css'; diff --git a/packages/frontend/core/src/modules/workbench/view/split-view/split-view.tsx b/packages/frontend/core/src/modules/workbench/view/split-view/split-view.tsx index 84684af6c4..dd1c2deec0 100644 --- a/packages/frontend/core/src/modules/workbench/view/split-view/split-view.tsx +++ b/packages/frontend/core/src/modules/workbench/view/split-view/split-view.tsx @@ -1,8 +1,8 @@ import { useAppSettingHelper } from '@affine/core/hooks/affine/use-app-setting-helper'; +import type { DragEndEvent } from '@dnd-kit/core'; import { closestCenter, DndContext, - type DragEndEvent, PointerSensor, useSensor, useSensors, @@ -13,13 +13,8 @@ import { } from '@dnd-kit/sortable'; import { useService } from '@toeverything/infra'; import clsx from 'clsx'; -import { - type HTMLAttributes, - type RefObject, - useCallback, - useRef, - useState, -} from 'react'; +import type { HTMLAttributes, RefObject } from 'react'; +import { useCallback, useRef, useState } from 'react'; import { createPortal } from 'react-dom'; import type { View } from '../../entities/view'; diff --git a/packages/frontend/core/src/modules/workbench/view/use-is-active-view.tsx b/packages/frontend/core/src/modules/workbench/view/use-is-active-view.tsx index 396e8be706..09429b52ac 100644 --- a/packages/frontend/core/src/modules/workbench/view/use-is-active-view.tsx +++ b/packages/frontend/core/src/modules/workbench/view/use-is-active-view.tsx @@ -1,5 +1,4 @@ -import { useService } from '@toeverything/infra'; -import { useLiveData } from '@toeverything/infra'; +import { useLiveData, useService } from '@toeverything/infra'; import { Workbench } from '../entities/workbench'; import { useView } from './use-view'; diff --git a/packages/frontend/core/src/modules/workbench/view/workbench-link.tsx b/packages/frontend/core/src/modules/workbench/view/workbench-link.tsx index 33a605fb56..5ceda1ef3a 100644 --- a/packages/frontend/core/src/modules/workbench/view/workbench-link.tsx +++ b/packages/frontend/core/src/modules/workbench/view/workbench-link.tsx @@ -1,6 +1,5 @@ import { useAppSettingHelper } from '@affine/core/hooks/affine/use-app-setting-helper'; -import { useService } from '@toeverything/infra'; -import { useLiveData } from '@toeverything/infra'; +import { useLiveData, useService } from '@toeverything/infra'; import type { To } from 'history'; import { useCallback } from 'react'; diff --git a/packages/frontend/core/src/modules/workbench/view/workbench-root.tsx b/packages/frontend/core/src/modules/workbench/view/workbench-root.tsx index 64a119952a..bebf038274 100644 --- a/packages/frontend/core/src/modules/workbench/view/workbench-root.tsx +++ b/packages/frontend/core/src/modules/workbench/view/workbench-root.tsx @@ -1,5 +1,4 @@ -import { useService } from '@toeverything/infra'; -import { useLiveData } from '@toeverything/infra'; +import { useLiveData, useService } from '@toeverything/infra'; import { useCallback, useEffect, useRef } from 'react'; import { useLocation } from 'react-router-dom'; diff --git a/packages/frontend/core/src/modules/workspace/properties/adapter.ts b/packages/frontend/core/src/modules/workspace/properties/adapter.ts index c2cba0174f..00bcc043fb 100644 --- a/packages/frontend/core/src/modules/workspace/properties/adapter.ts +++ b/packages/frontend/core/src/modules/workspace/properties/adapter.ts @@ -1,16 +1,16 @@ /* eslint-disable @typescript-eslint/no-non-null-assertion */ // the adapter is to bridge the workspace rootdoc & native js bindings -import { createYProxy, type Y } from '@blocksuite/store'; +import type { Y } from '@blocksuite/store'; +import { createYProxy } from '@blocksuite/store'; import type { Workspace } from '@toeverything/infra'; import { defaultsDeep } from 'lodash-es'; -import { - PagePropertyType, - PageSystemPropertyId, - type WorkspaceAffineProperties, - type WorkspaceFavoriteItem, +import type { + WorkspaceAffineProperties, + WorkspaceFavoriteItem, } from './schema'; +import { PagePropertyType, PageSystemPropertyId } from './schema'; const AFFINE_PROPERTIES_ID = 'affine:workspace-properties'; diff --git a/packages/frontend/core/src/pages/auth.tsx b/packages/frontend/core/src/pages/auth.tsx index 6f27042856..732ffe2bdf 100644 --- a/packages/frontend/core/src/pages/auth.tsx +++ b/packages/frontend/core/src/pages/auth.tsx @@ -11,20 +11,16 @@ import { pushNotificationAtom } from '@affine/component/notification-center'; import { changeEmailMutation, changePasswordMutation, + fetcher, sendVerifyChangeEmailMutation, verifyEmailMutation, } from '@affine/graphql'; -import { fetcher } from '@affine/graphql'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { useSetAtom } from 'jotai/react'; import type { ReactElement } from 'react'; import { useCallback } from 'react'; -import { - type LoaderFunction, - redirect, - useParams, - useSearchParams, -} from 'react-router-dom'; +import type { LoaderFunction } from 'react-router-dom'; +import { redirect, useParams, useSearchParams } from 'react-router-dom'; import { z } from 'zod'; import { SubscriptionRedirect } from '../components/affine/auth/subscription-redirect'; diff --git a/packages/frontend/core/src/pages/desktop-signin.tsx b/packages/frontend/core/src/pages/desktop-signin.tsx index 04d45b3cb0..7d03c916e8 100644 --- a/packages/frontend/core/src/pages/desktop-signin.tsx +++ b/packages/frontend/core/src/pages/desktop-signin.tsx @@ -1,5 +1,5 @@ import { OAuthProviderType } from '@affine/graphql'; -import { type LoaderFunction } from 'react-router-dom'; +import type { LoaderFunction } from 'react-router-dom'; import { z } from 'zod'; import { getSession } from '../hooks/affine/use-current-user'; diff --git a/packages/frontend/core/src/pages/index.tsx b/packages/frontend/core/src/pages/index.tsx index 27c4600f4c..7a14883d9d 100644 --- a/packages/frontend/core/src/pages/index.tsx +++ b/packages/frontend/core/src/pages/index.tsx @@ -1,10 +1,12 @@ import { Menu } from '@affine/component/ui/menu'; -import { WorkspaceManager } from '@toeverything/infra'; -import { WorkspaceListService } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; -import { useLiveData } from '@toeverything/infra'; +import { + useLiveData, + useService, + WorkspaceListService, + WorkspaceManager, +} from '@toeverything/infra'; import { lazy, useEffect, useLayoutEffect, useState } from 'react'; -import { type LoaderFunction } from 'react-router-dom'; +import type { LoaderFunction } from 'react-router-dom'; import { createFirstAppData } from '../bootstrap/first-app-data'; import { UserWithWorkspaceList } from '../components/pure/workspace-slider-bar/user-with-workspace-list'; diff --git a/packages/frontend/core/src/pages/invite.tsx b/packages/frontend/core/src/pages/invite.tsx index e8f46c0509..3f07ffd834 100644 --- a/packages/frontend/core/src/pages/invite.tsx +++ b/packages/frontend/core/src/pages/invite.tsx @@ -1,14 +1,15 @@ import { AcceptInvitePage } from '@affine/component/member-components'; import { WorkspaceSubPath } from '@affine/core/shared'; +import type { GetInviteInfoQuery } from '@affine/graphql'; import { acceptInviteByInviteIdMutation, - type GetInviteInfoQuery, + fetcher, getInviteInfoQuery, } from '@affine/graphql'; -import { fetcher } from '@affine/graphql'; import { useSetAtom } from 'jotai'; import { useCallback, useEffect } from 'react'; -import { type LoaderFunction, redirect, useLoaderData } from 'react-router-dom'; +import type { LoaderFunction } from 'react-router-dom'; +import { redirect, useLoaderData } from 'react-router-dom'; import { authAtom } from '../atoms'; import { setOnceSignedInEventAtom } from '../atoms/event'; diff --git a/packages/frontend/core/src/pages/open-app.tsx b/packages/frontend/core/src/pages/open-app.tsx index f1d9016f46..1dd829d8c8 100644 --- a/packages/frontend/core/src/pages/open-app.tsx +++ b/packages/frontend/core/src/pages/open-app.tsx @@ -1,15 +1,12 @@ import { Button } from '@affine/component/ui/button'; -import { type GetCurrentUserQuery, getCurrentUserQuery } from '@affine/graphql'; -import { fetcher } from '@affine/graphql'; +import type { GetCurrentUserQuery } from '@affine/graphql'; +import { fetcher, getCurrentUserQuery } from '@affine/graphql'; import { Trans } from '@affine/i18n'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { Logo1Icon } from '@blocksuite/icons'; import { useCallback, useMemo } from 'react'; -import { - type LoaderFunction, - useLoaderData, - useSearchParams, -} from 'react-router-dom'; +import type { LoaderFunction } from 'react-router-dom'; +import { useLoaderData, useSearchParams } from 'react-router-dom'; import { z } from 'zod'; import * as styles from './open-app.css'; diff --git a/packages/frontend/core/src/pages/share/share-detail-page.tsx b/packages/frontend/core/src/pages/share/share-detail-page.tsx index 5043745b4f..8ed7594d81 100644 --- a/packages/frontend/core/src/pages/share/share-detail-page.tsx +++ b/packages/frontend/core/src/pages/share/share-detail-page.tsx @@ -13,13 +13,13 @@ import { noop } from '@blocksuite/global/utils'; import { Logo1Icon } from '@blocksuite/icons'; import type { AffineEditorContainer } from '@blocksuite/presets'; import type { Doc as BlockSuiteDoc } from '@blocksuite/store'; -import type { Doc } from '@toeverything/infra'; +import type { Doc, PageMode } from '@toeverything/infra'; import { DocStorageImpl, EmptyBlobStorage, LocalBlobStorage, PageManager, - type PageMode, + ReadonlyDocStorage, RemoteBlobStorage, ServiceProviderContext, useLiveData, @@ -28,7 +28,6 @@ import { WorkspaceManager, WorkspaceScope, } from '@toeverything/infra'; -import { ReadonlyDocStorage } from '@toeverything/infra'; import { useCallback, useEffect, useState } from 'react'; import type { LoaderFunction } from 'react-router-dom'; import { diff --git a/packages/frontend/core/src/pages/sign-in.tsx b/packages/frontend/core/src/pages/sign-in.tsx index 68f735c6a4..bfc42b80d4 100644 --- a/packages/frontend/core/src/pages/sign-in.tsx +++ b/packages/frontend/core/src/pages/sign-in.tsx @@ -5,7 +5,8 @@ import { useCallback, useEffect, useRef } from 'react'; import { useLocation, useNavigate } from 'react-router-dom'; import { authAtom } from '../atoms'; -import { AuthPanel, type AuthProps } from '../components/affine/auth'; +import type { AuthProps } from '../components/affine/auth'; +import { AuthPanel } from '../components/affine/auth'; import { SubscriptionRedirect } from '../components/affine/auth/subscription-redirect'; import { useSubscriptionSearch } from '../components/affine/auth/use-subscription'; import { useCurrentLoginStatus } from '../hooks/affine/use-current-login-status'; diff --git a/packages/frontend/core/src/pages/workspace/all-collection/index.tsx b/packages/frontend/core/src/pages/workspace/all-collection/index.tsx index 15881301df..656cabd106 100644 --- a/packages/frontend/core/src/pages/workspace/all-collection/index.tsx +++ b/packages/frontend/core/src/pages/workspace/all-collection/index.tsx @@ -1,6 +1,6 @@ +import type { CollectionMeta } from '@affine/core/components/page-list'; import { CollectionListHeader, - type CollectionMeta, createEmptyCollection, useEditCollectionName, VirtualizedCollectionList, @@ -8,9 +8,7 @@ import { import { useAllPageListConfig } from '@affine/core/hooks/affine/use-all-page-list-config'; import { useNavigateHelper } from '@affine/core/hooks/use-navigate-helper'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; -import { useService } from '@toeverything/infra'; -import { useLiveData } from '@toeverything/infra'; -import { Workspace } from '@toeverything/infra'; +import { useLiveData, useService, Workspace } from '@toeverything/infra'; import { nanoid } from 'nanoid'; import { useCallback, useMemo, useState } from 'react'; diff --git a/packages/frontend/core/src/pages/workspace/all-page/all-page-filter.tsx b/packages/frontend/core/src/pages/workspace/all-page/all-page-filter.tsx index 86b7b66f57..ee082fb2b6 100644 --- a/packages/frontend/core/src/pages/workspace/all-page/all-page-filter.tsx +++ b/packages/frontend/core/src/pages/workspace/all-page/all-page-filter.tsx @@ -1,7 +1,6 @@ import { CollectionService } from '@affine/core/modules/collection'; import type { Collection, Filter } from '@affine/env/filter'; -import { useService } from '@toeverything/infra'; -import { Workspace } from '@toeverything/infra'; +import { useService, Workspace } from '@toeverything/infra'; import { useCallback } from 'react'; import { filterContainerStyle } from '../../../components/filter-container.css'; diff --git a/packages/frontend/core/src/pages/workspace/all-page/all-page-header.tsx b/packages/frontend/core/src/pages/workspace/all-page/all-page-header.tsx index 32220d6a0c..e798033861 100644 --- a/packages/frontend/core/src/pages/workspace/all-page/all-page-header.tsx +++ b/packages/frontend/core/src/pages/workspace/all-page/all-page-header.tsx @@ -6,8 +6,7 @@ import { Header } from '@affine/core/components/pure/header'; import { WorkspaceModeFilterTab } from '@affine/core/components/pure/workspace-mode-filter-tab'; import type { Filter } from '@affine/env/filter'; import { PlusIcon } from '@blocksuite/icons'; -import { useService } from '@toeverything/infra'; -import { Workspace } from '@toeverything/infra'; +import { useService, Workspace } from '@toeverything/infra'; import clsx from 'clsx'; import * as styles from './all-page.css'; diff --git a/packages/frontend/core/src/pages/workspace/all-page/all-page.tsx b/packages/frontend/core/src/pages/workspace/all-page/all-page.tsx index 847a82eee0..4ea61c9100 100644 --- a/packages/frontend/core/src/pages/workspace/all-page/all-page.tsx +++ b/packages/frontend/core/src/pages/workspace/all-page/all-page.tsx @@ -7,8 +7,7 @@ import { useBlockSuiteDocMeta } from '@affine/core/hooks/use-block-suite-page-me import { useNavigateHelper } from '@affine/core/hooks/use-navigate-helper'; import { performanceRenderLogger } from '@affine/core/shared'; import type { Filter } from '@affine/env/filter'; -import { useService } from '@toeverything/infra'; -import { Workspace } from '@toeverything/infra'; +import { useService, Workspace } from '@toeverything/infra'; import { useEffect, useState } from 'react'; import { ViewBodyIsland, ViewHeaderIsland } from '../../../modules/workbench'; diff --git a/packages/frontend/core/src/pages/workspace/collection/index.tsx b/packages/frontend/core/src/pages/workspace/collection/index.tsx index 16b3715b15..46a64f0f74 100644 --- a/packages/frontend/core/src/pages/workspace/collection/index.tsx +++ b/packages/frontend/core/src/pages/workspace/collection/index.tsx @@ -16,9 +16,7 @@ import { PageIcon, ViewLayersIcon, } from '@blocksuite/icons'; -import { Workspace } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; -import { useLiveData } from '@toeverything/infra'; +import { useLiveData, useService, Workspace } from '@toeverything/infra'; import { useSetAtom } from 'jotai'; import { useCallback, useEffect, useState } from 'react'; import { useParams } from 'react-router-dom'; diff --git a/packages/frontend/core/src/pages/workspace/detail-page/detail-page.tsx b/packages/frontend/core/src/pages/workspace/detail-page/detail-page.tsx index c97336799e..0c225c73d9 100644 --- a/packages/frontend/core/src/pages/workspace/detail-page/detail-page.tsx +++ b/packages/frontend/core/src/pages/workspace/detail-page/detail-page.tsx @@ -22,14 +22,14 @@ import { PageRecordList, ServiceProviderContext, useLiveData, + useService, + Workspace, } from '@toeverything/infra'; -import { Workspace } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; import clsx from 'clsx'; import { useSetAtom } from 'jotai'; +import type { ReactElement } from 'react'; import { memo, - type ReactElement, useCallback, useEffect, useLayoutEffect, @@ -50,12 +50,12 @@ import { useRegisterBlocksuiteEditorCommands } from '../../../hooks/affine/use-r import { useActiveBlocksuiteEditor } from '../../../hooks/use-block-suite-editor'; import { usePageDocumentTitle } from '../../../hooks/use-global-state'; import { useNavigateHelper } from '../../../hooks/use-navigate-helper'; +import type { SidebarTabName } from '../../../modules/multi-tab-sidebar'; import { MultiTabSidebarBody, MultiTabSidebarHeaderSwitcher, - type SidebarTabName, + sidebarTabs, } from '../../../modules/multi-tab-sidebar'; -import { sidebarTabs } from '../../../modules/multi-tab-sidebar'; import { RightSidebarViewIsland } from '../../../modules/right-sidebar'; import { useIsActiveView, diff --git a/packages/frontend/core/src/pages/workspace/index.tsx b/packages/frontend/core/src/pages/workspace/index.tsx index ac791757bb..a80f4e9d9e 100644 --- a/packages/frontend/core/src/pages/workspace/index.tsx +++ b/packages/frontend/core/src/pages/workspace/index.tsx @@ -1,9 +1,14 @@ import { useWorkspace } from '@affine/core/hooks/use-workspace'; import type { Workspace } from '@toeverything/infra'; -import { WorkspaceListService, WorkspaceManager } from '@toeverything/infra'; -import { ServiceProviderContext, useService } from '@toeverything/infra'; -import { useLiveData } from '@toeverything/infra'; -import { type ReactElement, Suspense, useEffect, useMemo } from 'react'; +import { + ServiceProviderContext, + useLiveData, + useService, + WorkspaceListService, + WorkspaceManager, +} from '@toeverything/infra'; +import type { ReactElement } from 'react'; +import { Suspense, useEffect, useMemo } from 'react'; import { useParams } from 'react-router-dom'; import { AffineErrorBoundary } from '../../components/affine/affine-error-boundary'; diff --git a/packages/frontend/core/src/pages/workspace/page-list-empty.tsx b/packages/frontend/core/src/pages/workspace/page-list-empty.tsx index d80fd861b4..9b9ac4675b 100644 --- a/packages/frontend/core/src/pages/workspace/page-list-empty.tsx +++ b/packages/frontend/core/src/pages/workspace/page-list-empty.tsx @@ -2,7 +2,8 @@ import { Empty } from '@affine/component'; import { Trans } from '@affine/i18n'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import type { DocCollection } from '@blocksuite/store'; -import { type ReactNode, useCallback } from 'react'; +import type { ReactNode } from 'react'; +import { useCallback } from 'react'; import { usePageHelper } from '../../components/blocksuite/block-suite-page-list/utils'; import * as styles from './page-list-empty.css'; diff --git a/packages/frontend/core/src/pages/workspace/tag/index.tsx b/packages/frontend/core/src/pages/workspace/tag/index.tsx index 87d799e1d8..200e2d99b0 100644 --- a/packages/frontend/core/src/pages/workspace/tag/index.tsx +++ b/packages/frontend/core/src/pages/workspace/tag/index.tsx @@ -8,8 +8,7 @@ import { ViewBodyIsland, ViewHeaderIsland, } from '@affine/core/modules/workbench'; -import { useLiveData, useService } from '@toeverything/infra'; -import { Workspace } from '@toeverything/infra'; +import { useLiveData, useService, Workspace } from '@toeverything/infra'; import { useMemo } from 'react'; import { useParams } from 'react-router-dom'; diff --git a/packages/frontend/core/src/pages/workspace/trash-page.tsx b/packages/frontend/core/src/pages/workspace/trash-page.tsx index d469969d9f..fb02b1c460 100644 --- a/packages/frontend/core/src/pages/workspace/trash-page.tsx +++ b/packages/frontend/core/src/pages/workspace/trash-page.tsx @@ -1,7 +1,7 @@ import { toast } from '@affine/component'; import { usePageHelper } from '@affine/core/components/blocksuite/block-suite-page-list/utils'; +import type { ListItem } from '@affine/core/components/page-list'; import { - type ListItem, ListTableHeader, PageListItemRenderer, TrashOperationCell, @@ -17,8 +17,7 @@ import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { assertExists } from '@blocksuite/global/utils'; import { DeleteIcon } from '@blocksuite/icons'; import type { DocMeta } from '@blocksuite/store'; -import { Workspace } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; +import { useService, Workspace } from '@toeverything/infra'; import { useCallback } from 'react'; import { ViewBodyIsland, ViewHeaderIsland } from '../../modules/workbench'; diff --git a/packages/frontend/core/src/providers/modal-provider.tsx b/packages/frontend/core/src/providers/modal-provider.tsx index a92a844477..7e6630d833 100644 --- a/packages/frontend/core/src/providers/modal-provider.tsx +++ b/packages/frontend/core/src/providers/modal-provider.tsx @@ -1,24 +1,17 @@ import { events } from '@affine/electron-api'; import { WorkspaceFlavour } from '@affine/env/workspace'; -import { WorkspaceManager } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; -import { useLiveData } from '@toeverything/infra'; +import { useLiveData, useService, WorkspaceManager } from '@toeverything/infra'; import { useAtom } from 'jotai'; -import { - lazy, - type ReactElement, - Suspense, - useCallback, - useEffect, -} from 'react'; +import type { ReactElement } from 'react'; +import { lazy, Suspense, useCallback, useEffect } from 'react'; +import type { SettingAtom } from '../atoms'; import { authAtom, openCreateWorkspaceModalAtom, openDisableCloudAlertModalAtom, openSettingModalAtom, openSignOutModalAtom, - type SettingAtom, } from '../atoms'; import { PaymentDisableModal } from '../components/affine/payment-disable'; import { useAsyncCallback } from '../hooks/affine-async-hooks'; diff --git a/packages/frontend/core/src/providers/session-provider.tsx b/packages/frontend/core/src/providers/session-provider.tsx index d0abae5521..57a437b564 100644 --- a/packages/frontend/core/src/providers/session-provider.tsx +++ b/packages/frontend/core/src/providers/session-provider.tsx @@ -5,12 +5,8 @@ import { affine } from '@affine/electron-api'; import { useAFFiNEI18N } from '@affine/i18n/hooks'; import { CLOUD_WORKSPACE_CHANGED_BROADCAST_CHANNEL_KEY } from '@affine/workspace-impl'; import { useSetAtom } from 'jotai'; -import { - type PropsWithChildren, - startTransition, - useEffect, - useRef, -} from 'react'; +import type { PropsWithChildren } from 'react'; +import { startTransition, useEffect, useRef } from 'react'; import { useOnceSignedInEvents } from '../atoms/event'; import { mixpanel } from '../utils'; diff --git a/packages/frontend/core/src/utils/mixpanel.ts b/packages/frontend/core/src/utils/mixpanel.ts index 6920d2e170..10ebfc1b07 100644 --- a/packages/frontend/core/src/utils/mixpanel.ts +++ b/packages/frontend/core/src/utils/mixpanel.ts @@ -1,4 +1,5 @@ -import mixpanelBrowser, { type OverridedMixpanel } from 'mixpanel-browser'; +import type { OverridedMixpanel } from 'mixpanel-browser'; +import mixpanelBrowser from 'mixpanel-browser'; export const mixpanel = process.env.MIXPANEL_TOKEN ? mixpanelBrowser diff --git a/packages/frontend/core/src/utils/navigable-history.ts b/packages/frontend/core/src/utils/navigable-history.ts index 0f6b798e14..a1d3e02b7b 100644 --- a/packages/frontend/core/src/utils/navigable-history.ts +++ b/packages/frontend/core/src/utils/navigable-history.ts @@ -1,11 +1,12 @@ -import type { Blocker, Listener, Location, To } from 'history'; -import { - Action, - createPath, - type MemoryHistory, - type MemoryHistoryOptions, - parsePath, +import type { + Blocker, + Listener, + Location, + MemoryHistory, + MemoryHistoryOptions, + To, } from 'history'; +import { Action, createPath, parsePath } from 'history'; export interface NavigableHistory extends MemoryHistory { entries: Location[]; diff --git a/packages/frontend/core/src/web.ts b/packages/frontend/core/src/web.ts index 3c6b5aa91a..b1b41ac412 100644 --- a/packages/frontend/core/src/web.ts +++ b/packages/frontend/core/src/web.ts @@ -1,8 +1,6 @@ import { configureWorkspaceImplServices } from '@affine/workspace-impl'; -import { - configureInfraServices, - type ServiceCollection, -} from '@toeverything/infra'; +import type { ServiceCollection } from '@toeverything/infra'; +import { configureInfraServices } from '@toeverything/infra'; import { configureBusinessServices, diff --git a/packages/frontend/electron/renderer/app.tsx b/packages/frontend/electron/renderer/app.tsx index 8567e83395..67bab60ea2 100644 --- a/packages/frontend/electron/renderer/app.tsx +++ b/packages/frontend/electron/renderer/app.tsx @@ -16,8 +16,7 @@ import createEmotionCache from '@affine/core/utils/create-emotion-cache'; import { configureWebServices } from '@affine/core/web'; import { createI18n, setUpLanguage } from '@affine/i18n'; import { CacheProvider } from '@emotion/react'; -import { getCurrentStore } from '@toeverything/infra'; -import { ServiceCollection } from '@toeverything/infra'; +import { getCurrentStore, ServiceCollection } from '@toeverything/infra'; import mixpanel from 'mixpanel-browser'; import type { PropsWithChildren, ReactElement } from 'react'; import { lazy, Suspense } from 'react'; diff --git a/packages/frontend/electron/src/helper/db/base-db-adapter.ts b/packages/frontend/electron/src/helper/db/base-db-adapter.ts index cc17c857c0..4f7763d292 100644 --- a/packages/frontend/electron/src/helper/db/base-db-adapter.ts +++ b/packages/frontend/electron/src/helper/db/base-db-adapter.ts @@ -1,8 +1,5 @@ -import { - type InsertRow, - SqliteConnection, - ValidationResult, -} from '@affine/native'; +import type { InsertRow } from '@affine/native'; +import { SqliteConnection, ValidationResult } from '@affine/native'; import { WorkspaceVersion } from '@toeverything/infra'; import { applyGuidCompatibilityFix, migrateToLatest } from '../db/migration'; diff --git a/packages/frontend/electron/src/helper/db/ensure-db.ts b/packages/frontend/electron/src/helper/db/ensure-db.ts index 593ce9fc72..dc0d857993 100644 --- a/packages/frontend/electron/src/helper/db/ensure-db.ts +++ b/packages/frontend/electron/src/helper/db/ensure-db.ts @@ -1,5 +1,4 @@ import type { Subject } from 'rxjs'; -import { Observable } from 'rxjs'; import { concat, defer, @@ -8,6 +7,7 @@ import { interval, lastValueFrom, merge, + Observable, } from 'rxjs'; import { concatMap, diff --git a/packages/frontend/electron/src/main/clipboard/index.ts b/packages/frontend/electron/src/main/clipboard/index.ts index 43d918904c..2d8d394d45 100644 --- a/packages/frontend/electron/src/main/clipboard/index.ts +++ b/packages/frontend/electron/src/main/clipboard/index.ts @@ -1,4 +1,5 @@ -import { clipboard, type IpcMainInvokeEvent, nativeImage } from 'electron'; +import type { IpcMainInvokeEvent } from 'electron'; +import { clipboard, nativeImage } from 'electron'; import type { NamespaceHandlers } from '../type'; diff --git a/packages/frontend/electron/src/main/deep-link.ts b/packages/frontend/electron/src/main/deep-link.ts index b61c9cd54f..862f145bd8 100644 --- a/packages/frontend/electron/src/main/deep-link.ts +++ b/packages/frontend/electron/src/main/deep-link.ts @@ -1,6 +1,7 @@ import path from 'node:path'; -import { type App, type BrowserWindow, ipcMain } from 'electron'; +import type { App, BrowserWindow } from 'electron'; +import { ipcMain } from 'electron'; import { buildType, CLOUD_BASE_URL, isDev } from './config'; import { mainWindowOrigin } from './constants'; diff --git a/packages/frontend/electron/src/main/helper-process.ts b/packages/frontend/electron/src/main/helper-process.ts index 2af2c3ef08..c5db28fa0a 100644 --- a/packages/frontend/electron/src/main/helper-process.ts +++ b/packages/frontend/electron/src/main/helper-process.ts @@ -1,14 +1,14 @@ import path from 'node:path'; -import { type _AsyncVersionOf, AsyncCall } from 'async-call-rpc'; +import type { _AsyncVersionOf } from 'async-call-rpc'; +import { AsyncCall } from 'async-call-rpc'; +import type { UtilityProcess, WebContents } from 'electron'; import { app, dialog, MessageChannelMain, shell, - type UtilityProcess, utilityProcess, - type WebContents, } from 'electron'; import type { HelperToMain, MainToHelper } from '../shared/type'; diff --git a/packages/frontend/electron/src/main/logger.ts b/packages/frontend/electron/src/main/logger.ts index bc3ab3d24b..d5f1077e85 100644 --- a/packages/frontend/electron/src/main/logger.ts +++ b/packages/frontend/electron/src/main/logger.ts @@ -1,5 +1,4 @@ -import { shell } from 'electron'; -import { app } from 'electron'; +import { app, shell } from 'electron'; import log from 'electron-log'; export const logger = log.scope('main'); diff --git a/packages/frontend/electron/src/main/main-window.ts b/packages/frontend/electron/src/main/main-window.ts index 37fcda22fc..d8ce4e45aa 100644 --- a/packages/frontend/electron/src/main/main-window.ts +++ b/packages/frontend/electron/src/main/main-window.ts @@ -1,7 +1,8 @@ import assert from 'node:assert'; import { join } from 'node:path'; -import { BrowserWindow, type CookiesSetDetails, nativeTheme } from 'electron'; +import type { CookiesSetDetails } from 'electron'; +import { BrowserWindow, nativeTheme } from 'electron'; import electronWindowState from 'electron-window-state'; import { isLinux, isMacOS, isWindows } from '../shared/utils'; diff --git a/packages/frontend/electron/src/main/onboarding.ts b/packages/frontend/electron/src/main/onboarding.ts index 8b24c44667..2c87d9ac98 100644 --- a/packages/frontend/electron/src/main/onboarding.ts +++ b/packages/frontend/electron/src/main/onboarding.ts @@ -1,6 +1,7 @@ import { join } from 'node:path'; -import { BrowserWindow, type Display, screen } from 'electron'; +import type { Display } from 'electron'; +import { BrowserWindow, screen } from 'electron'; import { isMacOS } from '../shared/utils'; import { mainWindowOrigin } from './constants'; diff --git a/packages/frontend/electron/src/main/updater/custom-github-provider.ts b/packages/frontend/electron/src/main/updater/custom-github-provider.ts index 1690e9391d..d3429c64cd 100644 --- a/packages/frontend/electron/src/main/updater/custom-github-provider.ts +++ b/packages/frontend/electron/src/main/updater/custom-github-provider.ts @@ -6,16 +6,16 @@ import type { XElement, } from 'builder-util-runtime'; import { HttpError, newError, parseXml } from 'builder-util-runtime'; -import { - type AppUpdater, - CancellationToken, - type ResolvedUpdateFileInfo, - type UpdateInfo, +import type { + AppUpdater, + ResolvedUpdateFileInfo, + UpdateInfo, } from 'electron-updater'; +import { CancellationToken } from 'electron-updater'; import { BaseGitHubProvider } from 'electron-updater/out/providers/GitHubProvider'; +import type { ProviderRuntimeOptions } from 'electron-updater/out/providers/Provider'; import { parseUpdateInfo, - type ProviderRuntimeOptions, resolveFiles, } from 'electron-updater/out/providers/Provider'; import * as semver from 'semver'; diff --git a/packages/frontend/electron/src/main/updater/index.ts b/packages/frontend/electron/src/main/updater/index.ts index 0265db1e71..0a8889d402 100644 --- a/packages/frontend/electron/src/main/updater/index.ts +++ b/packages/frontend/electron/src/main/updater/index.ts @@ -1,13 +1,14 @@ -import { app, type IpcMainInvokeEvent } from 'electron'; +import type { IpcMainInvokeEvent } from 'electron'; +import { app } from 'electron'; import type { NamespaceHandlers } from '../type'; +import type { UpdaterConfig } from './electron-updater'; import { checkForUpdates, downloadUpdate, getConfig, quitAndInstall, setConfig, - type UpdaterConfig, } from './electron-updater'; export const updaterHandlers = { diff --git a/packages/frontend/electron/src/preload/electron-api.ts b/packages/frontend/electron/src/preload/electron-api.ts index 5fb73a18d1..30e3614895 100644 --- a/packages/frontend/electron/src/preload/electron-api.ts +++ b/packages/frontend/electron/src/preload/electron-api.ts @@ -1,5 +1,6 @@ // Please add modules to `external` in `rollupOptions` to avoid wrong bundling. -import { AsyncCall, type EventBasedChannel } from 'async-call-rpc'; +import type { EventBasedChannel } from 'async-call-rpc'; +import { AsyncCall } from 'async-call-rpc'; import { ipcRenderer } from 'electron'; import { Subject } from 'rxjs'; import { z } from 'zod'; diff --git a/packages/frontend/electron/test/main/mocks/updater.ts b/packages/frontend/electron/test/main/mocks/updater.ts index 9cf65fac0c..8ec12e4b94 100644 --- a/packages/frontend/electron/test/main/mocks/updater.ts +++ b/packages/frontend/electron/test/main/mocks/updater.ts @@ -2,7 +2,8 @@ import 'electron-updater'; // Prevent BaseUpdater is undefined. import { randomBytes } from 'node:crypto'; -import { type AllPublishOptions, UUID } from 'builder-util-runtime'; +import type { AllPublishOptions } from 'builder-util-runtime'; +import { UUID } from 'builder-util-runtime'; import type { AppAdapter } from 'electron-updater/out/AppAdapter'; import type { DownloadUpdateOptions } from 'electron-updater/out/AppUpdater'; import type { InstallOptions } from 'electron-updater/out/BaseUpdater'; diff --git a/packages/frontend/i18n/src/index.ts b/packages/frontend/i18n/src/index.ts index d7966aa781..ddc76289a9 100644 --- a/packages/frontend/i18n/src/index.ts +++ b/packages/frontend/i18n/src/index.ts @@ -1,8 +1,8 @@ import type { i18n, Resource } from 'i18next'; import i18next from 'i18next'; +import type { I18nextProviderProps } from 'react-i18next'; import { I18nextProvider, - type I18nextProviderProps, initReactI18next, Trans, useTranslation as useRootTranslation, diff --git a/packages/frontend/i18n/src/scripts/download.ts b/packages/frontend/i18n/src/scripts/download.ts index 31e8fb397b..52c7597a8a 100644 --- a/packages/frontend/i18n/src/scripts/download.ts +++ b/packages/frontend/i18n/src/scripts/download.ts @@ -5,7 +5,8 @@ import * as path from 'node:path'; import { format } from 'prettier'; import { getAllProjectLanguages, getRemoteTranslations } from './api.js'; -import { flattenTranslation, type TranslationRes } from './utils.js'; +import type { TranslationRes } from './utils.js'; +import { flattenTranslation } from './utils.js'; const INDENT = 2; const RES_DIR = path.resolve(process.cwd(), 'src', 'resources'); diff --git a/packages/frontend/web/src/app.tsx b/packages/frontend/web/src/app.tsx index 8567e83395..67bab60ea2 100644 --- a/packages/frontend/web/src/app.tsx +++ b/packages/frontend/web/src/app.tsx @@ -16,8 +16,7 @@ import createEmotionCache from '@affine/core/utils/create-emotion-cache'; import { configureWebServices } from '@affine/core/web'; import { createI18n, setUpLanguage } from '@affine/i18n'; import { CacheProvider } from '@emotion/react'; -import { getCurrentStore } from '@toeverything/infra'; -import { ServiceCollection } from '@toeverything/infra'; +import { getCurrentStore, ServiceCollection } from '@toeverything/infra'; import mixpanel from 'mixpanel-browser'; import type { PropsWithChildren, ReactElement } from 'react'; import { lazy, Suspense } from 'react'; diff --git a/packages/frontend/workspace-impl/src/cloud/awareness.ts b/packages/frontend/workspace-impl/src/cloud/awareness.ts index 192467b78e..fc932c9da9 100644 --- a/packages/frontend/workspace-impl/src/cloud/awareness.ts +++ b/packages/frontend/workspace-impl/src/cloud/awareness.ts @@ -1,8 +1,8 @@ import { DebugLogger } from '@affine/debug'; import type { AwarenessProvider } from '@toeverything/infra'; +import type { Awareness } from 'y-protocols/awareness'; import { applyAwarenessUpdate, - type Awareness, encodeAwarenessUpdate, removeAwarenessStates, } from 'y-protocols/awareness'; diff --git a/packages/frontend/workspace-impl/src/cloud/blob.ts b/packages/frontend/workspace-impl/src/cloud/blob.ts index 3d0369f2b5..b8bb4b1081 100644 --- a/packages/frontend/workspace-impl/src/cloud/blob.ts +++ b/packages/frontend/workspace-impl/src/cloud/blob.ts @@ -1,13 +1,14 @@ import { deleteBlobMutation, + fetcher, fetchWithTraceReport, findGraphQLError, getBaseUrl, listBlobsQuery, setBlobMutation, } from '@affine/graphql'; -import { fetcher } from '@affine/graphql'; -import { type BlobStorage, BlobStorageOverCapacity } from '@toeverything/infra'; +import type { BlobStorage } from '@toeverything/infra'; +import { BlobStorageOverCapacity } from '@toeverything/infra'; import { bufferToBlob } from '../utils/buffer-to-blob'; diff --git a/packages/frontend/workspace-impl/src/cloud/doc.ts b/packages/frontend/workspace-impl/src/cloud/doc.ts index c6041d8e22..4e2a285106 100644 --- a/packages/frontend/workspace-impl/src/cloud/doc.ts +++ b/packages/frontend/workspace-impl/src/cloud/doc.ts @@ -1,5 +1,6 @@ import { DebugLogger } from '@affine/debug'; -import { type DocServer, throwIfAborted } from '@toeverything/infra'; +import type { DocServer } from '@toeverything/infra'; +import { throwIfAborted } from '@toeverything/infra'; import type { Socket } from 'socket.io-client'; import { getIoManager } from '../utils/affine-io'; diff --git a/packages/frontend/workspace-impl/src/cloud/list.ts b/packages/frontend/workspace-impl/src/cloud/list.ts index c7ab750c9c..8aacb106cd 100644 --- a/packages/frontend/workspace-impl/src/cloud/list.ts +++ b/packages/frontend/workspace-impl/src/cloud/list.ts @@ -2,16 +2,16 @@ import { WorkspaceFlavour } from '@affine/env/workspace'; import { createWorkspaceMutation, deleteWorkspaceMutation, + fetcher, findGraphQLError, getWorkspacesQuery, } from '@affine/graphql'; -import { fetcher } from '@affine/graphql'; import { DocCollection } from '@blocksuite/store'; -import type { WorkspaceListProvider } from '@toeverything/infra'; -import { - type BlobStorage, - type WorkspaceInfo, - type WorkspaceMetadata, +import type { + BlobStorage, + WorkspaceInfo, + WorkspaceListProvider, + WorkspaceMetadata, } from '@toeverything/infra'; import { globalBlockSuiteSchema } from '@toeverything/infra'; import { difference } from 'lodash-es'; diff --git a/packages/frontend/workspace-impl/src/cloud/workspace-factory.ts b/packages/frontend/workspace-impl/src/cloud/workspace-factory.ts index ec3579d6e9..aa2c053022 100644 --- a/packages/frontend/workspace-impl/src/cloud/workspace-factory.ts +++ b/packages/frontend/workspace-impl/src/cloud/workspace-factory.ts @@ -1,6 +1,5 @@ import { WorkspaceFlavour } from '@affine/env/workspace'; -import type { WorkspaceFactory } from '@toeverything/infra'; -import type { ServiceCollection } from '@toeverything/infra'; +import type { ServiceCollection, WorkspaceFactory } from '@toeverything/infra'; import { AwarenessContext, AwarenessProvider, diff --git a/packages/frontend/workspace-impl/src/local-state.ts b/packages/frontend/workspace-impl/src/local-state.ts index fa4abf9430..fdd22547b0 100644 --- a/packages/frontend/workspace-impl/src/local-state.ts +++ b/packages/frontend/workspace-impl/src/local-state.ts @@ -1,10 +1,10 @@ -import { - type GlobalState, - type Memento, - type Workspace, - type WorkspaceLocalState, - wrapMemento, +import type { + GlobalState, + Memento, + Workspace, + WorkspaceLocalState, } from '@toeverything/infra'; +import { wrapMemento } from '@toeverything/infra'; export class WorkspaceLocalStateImpl implements WorkspaceLocalState { wrapped: Memento; diff --git a/packages/frontend/workspace-impl/src/local/blob-indexeddb.ts b/packages/frontend/workspace-impl/src/local/blob-indexeddb.ts index e05ec610da..0df29ac957 100644 --- a/packages/frontend/workspace-impl/src/local/blob-indexeddb.ts +++ b/packages/frontend/workspace-impl/src/local/blob-indexeddb.ts @@ -1,4 +1,4 @@ -import { type BlobStorage } from '@toeverything/infra'; +import type { BlobStorage } from '@toeverything/infra'; import { createStore, del, get, keys, set } from 'idb-keyval'; import { bufferToBlob } from '../utils/buffer-to-blob'; diff --git a/packages/frontend/workspace-impl/src/local/blob-sqlite.ts b/packages/frontend/workspace-impl/src/local/blob-sqlite.ts index aabf2d904d..257ea3f2e4 100644 --- a/packages/frontend/workspace-impl/src/local/blob-sqlite.ts +++ b/packages/frontend/workspace-impl/src/local/blob-sqlite.ts @@ -1,6 +1,6 @@ import { apis } from '@affine/electron-api'; import { assertExists } from '@blocksuite/global/utils'; -import { type BlobStorage } from '@toeverything/infra'; +import type { BlobStorage } from '@toeverything/infra'; import { bufferToBlob } from '../utils/buffer-to-blob'; diff --git a/packages/frontend/workspace-impl/src/local/blob-static.ts b/packages/frontend/workspace-impl/src/local/blob-static.ts index 08f93c5fd0..d2a9924366 100644 --- a/packages/frontend/workspace-impl/src/local/blob-static.ts +++ b/packages/frontend/workspace-impl/src/local/blob-static.ts @@ -1,4 +1,4 @@ -import { type BlobStorage } from '@toeverything/infra'; +import type { BlobStorage } from '@toeverything/infra'; export const predefinedStaticFiles = [ '029uztLz2CzJezK7UUhrbGiWUdZ0J7NVs_qR6RDsvb8=', diff --git a/packages/frontend/workspace-impl/src/local/doc-indexeddb.ts b/packages/frontend/workspace-impl/src/local/doc-indexeddb.ts index c774caa21e..4889c0133c 100644 --- a/packages/frontend/workspace-impl/src/local/doc-indexeddb.ts +++ b/packages/frontend/workspace-impl/src/local/doc-indexeddb.ts @@ -1,10 +1,6 @@ import type { ByteKV, ByteKVBehavior, DocStorage } from '@toeverything/infra'; -import { - type DBSchema, - type IDBPDatabase, - type IDBPObjectStore, - openDB, -} from 'idb'; +import type { DBSchema, IDBPDatabase, IDBPObjectStore } from 'idb'; +import { openDB } from 'idb'; import { mergeUpdates } from 'yjs'; import { BroadcastChannelDocEventBus } from './doc-broadcast-channel'; diff --git a/packages/frontend/workspace-impl/src/local/doc-sqlite.ts b/packages/frontend/workspace-impl/src/local/doc-sqlite.ts index 8ef4507cdc..cb3a6585ee 100644 --- a/packages/frontend/workspace-impl/src/local/doc-sqlite.ts +++ b/packages/frontend/workspace-impl/src/local/doc-sqlite.ts @@ -1,17 +1,8 @@ import { apis } from '@affine/electron-api'; -import { - AsyncLock, - type ByteKV, - type ByteKVBehavior, - type DocStorage, - MemoryDocEventBus, -} from '@toeverything/infra'; -import { - type DBSchema, - type IDBPDatabase, - type IDBPObjectStore, - openDB, -} from 'idb'; +import type { ByteKV, ByteKVBehavior, DocStorage } from '@toeverything/infra'; +import { AsyncLock, MemoryDocEventBus } from '@toeverything/infra'; +import type { DBSchema, IDBPDatabase, IDBPObjectStore } from 'idb'; +import { openDB } from 'idb'; export class SqliteDocStorage implements DocStorage { constructor(private readonly workspaceId: string) {} diff --git a/packages/frontend/workspace-impl/src/local/list.ts b/packages/frontend/workspace-impl/src/local/list.ts index b23096a676..02bb4d705d 100644 --- a/packages/frontend/workspace-impl/src/local/list.ts +++ b/packages/frontend/workspace-impl/src/local/list.ts @@ -1,11 +1,11 @@ import { apis } from '@affine/electron-api'; import { WorkspaceFlavour } from '@affine/env/workspace'; import { DocCollection } from '@blocksuite/store'; -import type { WorkspaceListProvider } from '@toeverything/infra'; -import { - type BlobStorage, - type WorkspaceInfo, - type WorkspaceMetadata, +import type { + BlobStorage, + WorkspaceInfo, + WorkspaceListProvider, + WorkspaceMetadata, } from '@toeverything/infra'; import { globalBlockSuiteSchema } from '@toeverything/infra'; import { difference } from 'lodash-es'; diff --git a/tests/affine-cloud/e2e/page-history.spec.ts b/tests/affine-cloud/e2e/page-history.spec.ts index 7879a33f22..0b4c03adeb 100644 --- a/tests/affine-cloud/e2e/page-history.spec.ts +++ b/tests/affine-cloud/e2e/page-history.spec.ts @@ -11,7 +11,8 @@ import { waitForEditorLoad, } from '@affine-test/kit/utils/page-logic'; import { createLocalWorkspace } from '@affine-test/kit/utils/workspace'; -import { expect, type Page } from '@playwright/test'; +import type { Page } from '@playwright/test'; +import { expect } from '@playwright/test'; let user: { id: string; diff --git a/tests/affine-desktop/e2e/basic.spec.ts b/tests/affine-desktop/e2e/basic.spec.ts index 0240b78375..0574d01274 100644 --- a/tests/affine-desktop/e2e/basic.spec.ts +++ b/tests/affine-desktop/e2e/basic.spec.ts @@ -10,7 +10,8 @@ import { clickSideBarCurrentWorkspaceBanner, clickSideBarSettingButton, } from '@affine-test/kit/utils/sidebar'; -import { expect, type Page } from '@playwright/test'; +import type { Page } from '@playwright/test'; +import { expect } from '@playwright/test'; const historyShortcut = async (page: Page, command: 'goBack' | 'goForward') => { await withCtrlOrMeta(page, () => diff --git a/tests/affine-local/e2e/drag-page.spec.ts b/tests/affine-local/e2e/drag-page.spec.ts index da3376de06..4f8e329c07 100644 --- a/tests/affine-local/e2e/drag-page.spec.ts +++ b/tests/affine-local/e2e/drag-page.spec.ts @@ -7,7 +7,8 @@ import { waitForEditorLoad, } from '@affine-test/kit/utils/page-logic'; import { clickSideBarAllPageButton } from '@affine-test/kit/utils/sidebar'; -import { expect, type Locator, type Page } from '@playwright/test'; +import type { Locator, Page } from '@playwright/test'; +import { expect } from '@playwright/test'; const dragToFavourites = async ( page: Page, diff --git a/tests/affine-local/e2e/image-preview.spec.ts b/tests/affine-local/e2e/image-preview.spec.ts index 51b89140a5..4ed72ce702 100644 --- a/tests/affine-local/e2e/image-preview.spec.ts +++ b/tests/affine-local/e2e/image-preview.spec.ts @@ -9,7 +9,8 @@ import { getBlockSuiteEditorTitle, waitForEditorLoad, } from '@affine-test/kit/utils/page-logic'; -import { expect, type Page } from '@playwright/test'; +import type { Page } from '@playwright/test'; +import { expect } from '@playwright/test'; async function importImage(page: Page, url: string) { await focusInlineEditor(page); diff --git a/tests/affine-local/e2e/local-first-delete-workspace.spec.ts b/tests/affine-local/e2e/local-first-delete-workspace.spec.ts index 46f50b791b..bab57cd2d4 100644 --- a/tests/affine-local/e2e/local-first-delete-workspace.spec.ts +++ b/tests/affine-local/e2e/local-first-delete-workspace.spec.ts @@ -1,8 +1,10 @@ import { test } from '@affine-test/kit/playwright'; import { openHomePage } from '@affine-test/kit/utils/load-page'; import { waitForEditorLoad } from '@affine-test/kit/utils/page-logic'; -import { openWorkspaceSettingPanel } from '@affine-test/kit/utils/setting'; -import { openSettingModal } from '@affine-test/kit/utils/setting'; +import { + openSettingModal, + openWorkspaceSettingPanel, +} from '@affine-test/kit/utils/setting'; import { clickSideBarCurrentWorkspaceBanner } from '@affine-test/kit/utils/sidebar'; import { expect } from '@playwright/test'; diff --git a/tests/affine-local/e2e/navigation.spec.ts b/tests/affine-local/e2e/navigation.spec.ts index eae4e5e543..131e010fd6 100644 --- a/tests/affine-local/e2e/navigation.spec.ts +++ b/tests/affine-local/e2e/navigation.spec.ts @@ -7,7 +7,8 @@ import { waitForEditorLoad, } from '@affine-test/kit/utils/page-logic'; import { clickSideBarAllPageButton } from '@affine-test/kit/utils/sidebar'; -import { expect, type Page } from '@playwright/test'; +import type { Page } from '@playwright/test'; +import { expect } from '@playwright/test'; const historyShortcut = async (page: Page, command: 'goBack' | 'goForward') => { await withCtrlOrMeta(page, () => diff --git a/tests/affine-local/e2e/quick-search.spec.ts b/tests/affine-local/e2e/quick-search.spec.ts index 22e3598250..1b758c2e78 100644 --- a/tests/affine-local/e2e/quick-search.spec.ts +++ b/tests/affine-local/e2e/quick-search.spec.ts @@ -7,7 +7,8 @@ import { waitForEditorLoad, } from '@affine-test/kit/utils/page-logic'; import { clickSideBarAllPageButton } from '@affine-test/kit/utils/sidebar'; -import { expect, type Locator, type Page } from '@playwright/test'; +import type { Locator, Page } from '@playwright/test'; +import { expect } from '@playwright/test'; const openQuickSearchByShortcut = async (page: Page, checkVisible = true) => { await withCtrlOrMeta(page, () => page.keyboard.press('k', { delay: 50 })); diff --git a/tests/kit/playwright.ts b/tests/kit/playwright.ts index c36a3863c9..34695c0e66 100644 --- a/tests/kit/playwright.ts +++ b/tests/kit/playwright.ts @@ -5,7 +5,8 @@ import path, { resolve } from 'node:path'; import process from 'node:process'; import type { DocCollection } from '@blocksuite/store'; -import { type BrowserContext, test as baseTest } from '@playwright/test'; +import type { BrowserContext } from '@playwright/test'; +import { test as baseTest } from '@playwright/test'; export const rootDir = resolve(__dirname, '..', '..'); // assert that the rootDir is the root of the project diff --git a/tests/kit/utils/cloud.ts b/tests/kit/utils/cloud.ts index b73296a188..683e941986 100644 --- a/tests/kit/utils/cloud.ts +++ b/tests/kit/utils/cloud.ts @@ -10,12 +10,8 @@ import { } from '@affine-test/kit/utils/sidebar'; import { faker } from '@faker-js/faker'; import { hash } from '@node-rs/argon2'; -import { - type BrowserContext, - type Cookie, - expect, - type Page, -} from '@playwright/test'; +import type { BrowserContext, Cookie, Page } from '@playwright/test'; +import { expect } from '@playwright/test'; import { z } from 'zod'; export async function getCurrentMailMessageCount() { diff --git a/tests/kit/utils/load-page.ts b/tests/kit/utils/load-page.ts index ec65fcffdd..eba8111d82 100644 --- a/tests/kit/utils/load-page.ts +++ b/tests/kit/utils/load-page.ts @@ -1,4 +1,5 @@ -import { expect, type Page } from '@playwright/test'; +import type { Page } from '@playwright/test'; +import { expect } from '@playwright/test'; export const coreUrl = 'http://localhost:8080'; diff --git a/tests/kit/utils/properties.ts b/tests/kit/utils/properties.ts index c3b5b59797..66c30eb3b9 100644 --- a/tests/kit/utils/properties.ts +++ b/tests/kit/utils/properties.ts @@ -1,4 +1,5 @@ -import { expect, type Page } from '@playwright/test'; +import type { Page } from '@playwright/test'; +import { expect } from '@playwright/test'; export const getPropertyValueLocator = (page: Page, property: string) => { return page.locator( diff --git a/tests/kit/utils/workspace.ts b/tests/kit/utils/workspace.ts index b000786931..52b126525e 100644 --- a/tests/kit/utils/workspace.ts +++ b/tests/kit/utils/workspace.ts @@ -1,4 +1,5 @@ -import { expect, type Page } from '@playwright/test'; +import type { Page } from '@playwright/test'; +import { expect } from '@playwright/test'; import { waitForEditorLoad } from './page-logic'; diff --git a/tests/storybook/src/stories/app-sidebar.stories.tsx b/tests/storybook/src/stories/app-sidebar.stories.tsx index b888140b5d..dad8ffb4b8 100644 --- a/tests/storybook/src/stories/app-sidebar.stories.tsx +++ b/tests/storybook/src/stories/app-sidebar.stories.tsx @@ -1,22 +1,21 @@ import { + AddPageButton, AppSidebar, AppSidebarFallback, appSidebarOpenAtom, - SidebarSwitch, -} from '@affine/core/components/app-sidebar'; -import { AddPageButton } from '@affine/core/components/app-sidebar'; -import { CategoryDivider } from '@affine/core/components/app-sidebar'; -import { navHeaderStyle } from '@affine/core/components/app-sidebar'; -import { MenuLinkItem } from '@affine/core/components/app-sidebar'; -import { QuickSearchInput } from '@affine/core/components/app-sidebar'; -import { + CategoryDivider, + MenuLinkItem, + navHeaderStyle, + QuickSearchInput, SidebarContainer, SidebarScrollableContainer, + SidebarSwitch, } from '@affine/core/components/app-sidebar'; import { DeleteTemporarilyIcon, SettingsIcon } from '@blocksuite/icons'; import type { Meta, StoryFn } from '@storybook/react'; import { useAtom } from 'jotai'; -import { type PropsWithChildren, useState } from 'react'; +import type { PropsWithChildren } from 'react'; +import { useState } from 'react'; import { MemoryRouter } from 'react-router-dom'; export default { diff --git a/tests/storybook/src/stories/app-updater-button.stories.tsx b/tests/storybook/src/stories/app-updater-button.stories.tsx index 28a2422f54..50e217784b 100644 --- a/tests/storybook/src/stories/app-updater-button.stories.tsx +++ b/tests/storybook/src/stories/app-updater-button.stories.tsx @@ -1,7 +1,5 @@ -import { - type AddPageButtonProps, - AppUpdaterButton, -} from '@affine/core/components/app-sidebar'; +import type { AddPageButtonProps } from '@affine/core/components/app-sidebar'; +import { AppUpdaterButton } from '@affine/core/components/app-sidebar'; import type { Meta, StoryFn } from '@storybook/react'; import type { PropsWithChildren } from 'react'; diff --git a/tests/storybook/src/stories/blocksuite-editor.stories.tsx b/tests/storybook/src/stories/blocksuite-editor.stories.tsx index 39c62f435a..768337ee1f 100644 --- a/tests/storybook/src/stories/blocksuite-editor.stories.tsx +++ b/tests/storybook/src/stories/blocksuite-editor.stories.tsx @@ -1,7 +1,6 @@ import { BlockSuiteEditor } from '@affine/core/components/blocksuite/block-suite-editor'; import { AffineSchemas } from '@blocksuite/blocks/schemas'; -import { DocCollection } from '@blocksuite/store'; -import { Schema } from '@blocksuite/store'; +import { DocCollection, Schema } from '@blocksuite/store'; import type { StoryFn } from '@storybook/react'; import { initEmptyPage } from '@toeverything/infra'; diff --git a/tests/storybook/src/stories/image-preview-modal.stories.tsx b/tests/storybook/src/stories/image-preview-modal.stories.tsx index 914465c18e..e060b83ddc 100644 --- a/tests/storybook/src/stories/image-preview-modal.stories.tsx +++ b/tests/storybook/src/stories/image-preview-modal.stories.tsx @@ -3,12 +3,12 @@ import { ImagePreviewModal } from '@affine/core/components/image-preview'; import type { Meta } from '@storybook/react'; import type { Doc } from '@toeverything/infra'; import { + initEmptyPage, PageManager, ServiceProviderContext, useService, Workspace, } from '@toeverything/infra'; -import { initEmptyPage } from '@toeverything/infra'; import { useEffect, useState } from 'react'; import { createPortal } from 'react-dom'; diff --git a/tests/storybook/src/stories/import-page.stories.tsx b/tests/storybook/src/stories/import-page.stories.tsx index 8082cf2635..6202e9e711 100644 --- a/tests/storybook/src/stories/import-page.stories.tsx +++ b/tests/storybook/src/stories/import-page.stories.tsx @@ -1,8 +1,7 @@ /* deepscan-disable USELESS_ARROW_FUNC_BIND */ import { toast } from '@affine/component'; import { ImportPage } from '@affine/component/import-page'; -import type { StoryFn } from '@storybook/react'; -import type { Meta } from '@storybook/react'; +import type { Meta, StoryFn } from '@storybook/react'; export default { title: 'AFFiNE/ImportPage', diff --git a/tests/storybook/src/stories/page-info-properties.stories.tsx b/tests/storybook/src/stories/page-info-properties.stories.tsx index 55e69a621a..7b74dd97d0 100644 --- a/tests/storybook/src/stories/page-info-properties.stories.tsx +++ b/tests/storybook/src/stories/page-info-properties.stories.tsx @@ -1,7 +1,6 @@ import { PagePropertiesTable } from '@affine/core/components/affine/page-properties'; import { AffineSchemas } from '@blocksuite/blocks/schemas'; -import { DocCollection } from '@blocksuite/store'; -import { Schema } from '@blocksuite/store'; +import { DocCollection, Schema } from '@blocksuite/store'; import type { StoryFn } from '@storybook/react'; import { initEmptyPage } from '@toeverything/infra'; diff --git a/tests/storybook/src/stories/page-list.stories.tsx b/tests/storybook/src/stories/page-list.stories.tsx index 24440abca0..383b6a5336 100644 --- a/tests/storybook/src/stories/page-list.stories.tsx +++ b/tests/storybook/src/stories/page-list.stories.tsx @@ -1,17 +1,19 @@ import { toast } from '@affine/component'; +import type { + ListItem, + ListProps, + PageListItemProps, + PageOperationCellProps, + PageTagsProps, +} from '@affine/core/components/page-list'; import { FloatingToolbar, List, - type ListItem, - type ListProps, ListScrollContainer, NewPageButton, PageListItem, - type PageListItemProps, PageOperationCell, - type PageOperationCellProps, PageTags, - type PageTagsProps, } from '@affine/core/components/page-list'; import { topLevelRoutes } from '@affine/core/router'; import { AffineSchemas } from '@blocksuite/blocks/schemas'; diff --git a/tests/storybook/src/stories/share-menu.stories.tsx b/tests/storybook/src/stories/share-menu.stories.tsx index fbd88ac9c1..e6aab24c1e 100644 --- a/tests/storybook/src/stories/share-menu.stories.tsx +++ b/tests/storybook/src/stories/share-menu.stories.tsx @@ -2,12 +2,10 @@ import { toast } from '@affine/component'; import { PublicLinkDisableModal } from '@affine/component/disable-public-link'; import { ShareMenu } from '@affine/core/components/affine/share-page-modal/share-menu'; import { WorkspaceFlavour } from '@affine/env/workspace'; -import { type Doc } from '@blocksuite/store'; +import type { Doc } from '@blocksuite/store'; import { expect } from '@storybook/jest'; import type { Meta, StoryFn } from '@storybook/react'; -import { Workspace } from '@toeverything/infra'; -import { initEmptyPage } from '@toeverything/infra'; -import { useService } from '@toeverything/infra'; +import { initEmptyPage, useService, Workspace } from '@toeverything/infra'; import { nanoid } from 'nanoid'; import { useEffect, useState } from 'react'; diff --git a/tests/storybook/src/stories/workspace-list.stories.tsx b/tests/storybook/src/stories/workspace-list.stories.tsx index fe0e47a612..9515ed73d5 100644 --- a/tests/storybook/src/stories/workspace-list.stories.tsx +++ b/tests/storybook/src/stories/workspace-list.stories.tsx @@ -1,8 +1,7 @@ import type { WorkspaceListProps } from '@affine/component/workspace-list'; import { WorkspaceList } from '@affine/component/workspace-list'; import type { Meta } from '@storybook/react'; -import { WorkspaceManager } from '@toeverything/infra'; -import { useLiveData, useService } from '@toeverything/infra'; +import { useLiveData, useService, WorkspaceManager } from '@toeverything/infra'; export default { title: 'AFFiNE/WorkspaceList', diff --git a/tools/cli/src/bin/dev.ts b/tools/cli/src/bin/dev.ts index e5ff300c7c..cd9e7fdf2a 100644 --- a/tools/cli/src/bin/dev.ts +++ b/tools/cli/src/bin/dev.ts @@ -6,7 +6,8 @@ import { config } from 'dotenv'; import webpack from 'webpack'; import WebpackDevServer from 'webpack-dev-server'; -import { type BuildFlags, projectRoot } from '../config/index.js'; +import type { BuildFlags } from '../config/index.js'; +import { projectRoot } from '../config/index.js'; import { watchI18N } from '../util/i18n.js'; import { createWebpackConfig } from '../webpack/webpack.config.js'; diff --git a/tools/cli/src/webpack/config.ts b/tools/cli/src/webpack/config.ts index 489ea4efb7..273723088a 100644 --- a/tools/cli/src/webpack/config.ts +++ b/tools/cli/src/webpack/config.ts @@ -14,7 +14,8 @@ import TerserPlugin from 'terser-webpack-plugin'; import webpack from 'webpack'; import type { Configuration as DevServerConfiguration } from 'webpack-dev-server'; -import { type BuildFlags, projectRoot } from '../config/index.js'; +import type { BuildFlags } from '../config/index.js'; +import { projectRoot } from '../config/index.js'; import { productionCacheGroups } from './cache-group.js'; import { WebpackS3Plugin } from './s3-plugin.js'; diff --git a/yarn.lock b/yarn.lock index 0fc00e8895..517f2b5c27 100644 --- a/yarn.lock +++ b/yarn.lock @@ -585,7 +585,7 @@ __metadata: electron: "npm:^29.0.1" eslint: "npm:^8.56.0" eslint-config-prettier: "npm:^9.1.0" - eslint-plugin-i: "npm:^2.29.1" + eslint-plugin-import-x: "npm:^0.4.1" eslint-plugin-react: "npm:^7.33.2" eslint-plugin-react-hooks: "npm:^4.6.0" eslint-plugin-rxjs: "npm:^5.0.3" @@ -14860,7 +14860,7 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:5.62.0": +"@typescript-eslint/utils@npm:5.62.0, @typescript-eslint/utils@npm:^5.62.0": version: 5.62.0 resolution: "@typescript-eslint/utils@npm:5.62.0" dependencies: @@ -20633,33 +20633,21 @@ __metadata: languageName: node linkType: hard -"eslint-module-utils@npm:^2.8.0": - version: 2.8.0 - resolution: "eslint-module-utils@npm:2.8.0" - dependencies: - debug: "npm:^3.2.7" - peerDependenciesMeta: - eslint: - optional: true - checksum: 10/a9a7ed93eb858092e3cdc797357d4ead2b3ea06959b0eada31ab13862d46a59eb064b9cb82302214232e547980ce33618c2992f6821138a4934e65710ed9cc29 - languageName: node - linkType: hard - -"eslint-plugin-i@npm:^2.29.1": - version: 2.29.1 - resolution: "eslint-plugin-i@npm:2.29.1" +"eslint-plugin-import-x@npm:^0.4.1": + version: 0.4.1 + resolution: "eslint-plugin-import-x@npm:0.4.1" dependencies: + "@typescript-eslint/utils": "npm:^5.62.0" debug: "npm:^4.3.4" doctrine: "npm:^3.0.0" eslint-import-resolver-node: "npm:^0.3.9" - eslint-module-utils: "npm:^2.8.0" - get-tsconfig: "npm:^4.7.2" + get-tsconfig: "npm:^4.7.3" is-glob: "npm:^4.0.3" - minimatch: "npm:^3.1.2" - semver: "npm:^7.5.4" + minimatch: "npm:^9.0.3" + semver: "npm:^7.6.0" peerDependencies: eslint: ^7.2.0 || ^8 - checksum: 10/5dc6c0857abe766f32681706f21090aaa214ad93792e25f746e003f971ee727643a52a71c852851a14646434f9d0308197b7763a63cc5c42bb12681eb4119974 + checksum: 10/5da33f9a2036323acfadc3bdfb40167b49a46eebed5dc797b30a2cf1dc6e1fdd6085db186621efbabde495c3cad54371f142d22a1191225a81a8fe4df1062e9c languageName: node linkType: hard @@ -22334,12 +22322,12 @@ __metadata: languageName: node linkType: hard -"get-tsconfig@npm:^4.7.2": - version: 4.7.2 - resolution: "get-tsconfig@npm:4.7.2" +"get-tsconfig@npm:^4.7.3": + version: 4.7.3 + resolution: "get-tsconfig@npm:4.7.3" dependencies: resolve-pkg-maps: "npm:^1.0.0" - checksum: 10/f21135848fb5d16012269b7b34b186af7a41824830f8616aba17a15eb4d9e54fdc876833f1e21768395215a826c8145582f5acd594ae2b4de3284d10b38d20f8 + checksum: 10/7397bb4f8aef936df4d9016555b662dcf5279f3c46428b7c7c1ff5e94ab2b87d018b3dda0f4bc1a28b154d5affd0eac5d014511172c085fd8a9cdff9ea7fe043 languageName: node linkType: hard