From fa1cd87348ab290a0cb1ea5c5a16165949f294b9 Mon Sep 17 00:00:00 2001 From: Alex Yang Date: Thu, 6 Jul 2023 11:49:17 +0800 Subject: [PATCH] chore: bump version (#3041) --- .github/workflows/build.yml | 4 +- .prettierignore | 2 + apps/docs/index.html | 2 +- apps/docs/package.json | 12 +- apps/electron/package.json | 8 +- .../src/helper/db/workspace-db-adapter.ts | 5 +- .../src/main/__tests__/integration.spec.ts | 2 +- apps/server/src/modules/auth/guard.ts | 5 +- .../src/modules/auth/next-auth.controller.ts | 5 +- apps/server/src/modules/auth/service.ts | 5 +- apps/server/src/utils/types.ts | 2 +- apps/storybook/package.json | 12 +- apps/web/package.json | 12 +- .../new-workspace-setting-detail/index.tsx | 2 +- .../blocksuite/workspace-header/header.tsx | 2 +- .../favorite/favorite-list.tsx | 11 +- .../pure/workspace-slider-bar/style.ts | 32 +-- .../src/hooks/current/use-current-page-id.ts | 2 +- .../hooks/current/use-current-workspace.ts | 2 +- package.json | 11 +- packages/component/package.json | 10 +- .../app-updater-button/index.jotai.ts | 2 +- .../src/components/share-menu/share-menu.tsx | 2 +- packages/component/src/ui/button/loading.tsx | 13 +- packages/component/src/ui/button/styles.ts | 244 +++++++++--------- packages/component/src/ui/empty/style.ts | 30 +-- packages/component/src/ui/layout/content.tsx | 44 ++-- packages/component/src/ui/layout/wrapper.tsx | 66 +++-- packages/component/src/ui/menu/styles.ts | 84 +++--- packages/component/src/ui/table/styles.ts | 104 ++++---- packages/env/package.json | 2 +- packages/env/src/workspace.ts | 2 +- packages/graphql/package.json | 2 +- packages/graphql/src/schema.ts | 2 +- packages/i18n/package.json | 2 +- packages/i18n/src/scripts/download.ts | 2 +- packages/infra/src/type.ts | 8 +- packages/jotai/package.json | 10 +- packages/plugin-infra/package.json | 10 +- packages/workspace/src/atom.ts | 2 +- packages/y-indexeddb/package.json | 4 +- plugins/copilot/src/core/hooks/index.ts | 5 +- .../0.7.0-canary.18/package.json | 8 +- yarn.lock | 207 ++++++++------- 44 files changed, 508 insertions(+), 495 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8c5acdf579..729772cf81 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -50,12 +50,12 @@ jobs: - name: Run Type Check run: yarn typecheck - name: Run ESLint - run: yarn lint --max-warnings=0 --cache + run: yarn lint:eslint --max-warnings=0 - name: Run Prettier # Set nmMode in `actions/setup-node` will modify the .yarnrc.yml run: | git checkout .yarnrc.yml - yarn prettier . --ignore-unknown --cache --check + yarn lint:prettier - name: Run circular run: yarn circular - name: Upload server dist diff --git a/.prettierignore b/.prettierignore index af1303b00f..3540c38c4e 100644 --- a/.prettierignore +++ b/.prettierignore @@ -10,3 +10,5 @@ dist .yarn tests/affine-legacy/0.7.0-canary.18/static .github/helm +_next +storybook-static diff --git a/apps/docs/index.html b/apps/docs/index.html index 474338a943..bdff6c55b7 100644 --- a/apps/docs/index.html +++ b/apps/docs/index.html @@ -1,4 +1,4 @@ - + diff --git a/apps/docs/package.json b/apps/docs/package.json index 091d84306c..bc15f47e9a 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -10,12 +10,12 @@ }, "dependencies": { "@affine/component": "workspace:*", - "@blocksuite/block-std": "0.0.0-20230705060316-3f52aee9-nightly", - "@blocksuite/blocks": "0.0.0-20230705060316-3f52aee9-nightly", - "@blocksuite/editor": "0.0.0-20230705060316-3f52aee9-nightly", - "@blocksuite/global": "0.0.0-20230705060316-3f52aee9-nightly", - "@blocksuite/lit": "0.0.0-20230705060316-3f52aee9-nightly", - "@blocksuite/store": "0.0.0-20230705060316-3f52aee9-nightly", + "@blocksuite/block-std": "0.0.0-20230705162600-2cb608e4-nightly", + "@blocksuite/blocks": "0.0.0-20230705162600-2cb608e4-nightly", + "@blocksuite/editor": "0.0.0-20230705162600-2cb608e4-nightly", + "@blocksuite/global": "0.0.0-20230705162600-2cb608e4-nightly", + "@blocksuite/lit": "0.0.0-20230705162600-2cb608e4-nightly", + "@blocksuite/store": "0.0.0-20230705162600-2cb608e4-nightly", "express": "^4.18.2", "jotai": "^2.2.1", "react": "18.3.0-canary-1fdacbefd-20230630", diff --git a/apps/electron/package.json b/apps/electron/package.json index 3a228f5add..01e0048bc0 100644 --- a/apps/electron/package.json +++ b/apps/electron/package.json @@ -25,10 +25,10 @@ "devDependencies": { "@affine-test/kit": "workspace:*", "@affine/native": "workspace:*", - "@blocksuite/blocks": "0.0.0-20230705060316-3f52aee9-nightly", - "@blocksuite/editor": "0.0.0-20230705060316-3f52aee9-nightly", - "@blocksuite/lit": "0.0.0-20230705060316-3f52aee9-nightly", - "@blocksuite/store": "0.0.0-20230705060316-3f52aee9-nightly", + "@blocksuite/blocks": "0.0.0-20230705162600-2cb608e4-nightly", + "@blocksuite/editor": "0.0.0-20230705162600-2cb608e4-nightly", + "@blocksuite/lit": "0.0.0-20230705162600-2cb608e4-nightly", + "@blocksuite/store": "0.0.0-20230705162600-2cb608e4-nightly", "@electron-forge/cli": "^6.2.1", "@electron-forge/core": "^6.2.1", "@electron-forge/core-utils": "^6.2.1", diff --git a/apps/electron/src/helper/db/workspace-db-adapter.ts b/apps/electron/src/helper/db/workspace-db-adapter.ts index cda955be33..8dcd5f4b1a 100644 --- a/apps/electron/src/helper/db/workspace-db-adapter.ts +++ b/apps/electron/src/helper/db/workspace-db-adapter.ts @@ -18,7 +18,10 @@ export class WorkspaceSQLiteDB extends BaseSQLiteAdapter { update$ = new Subject(); - constructor(public override path: string, public workspaceId: string) { + constructor( + public override path: string, + public workspaceId: string + ) { super(path); } diff --git a/apps/electron/src/main/__tests__/integration.spec.ts b/apps/electron/src/main/__tests__/integration.spec.ts index 04a138eacc..230168d1ea 100644 --- a/apps/electron/src/main/__tests__/integration.spec.ts +++ b/apps/electron/src/main/__tests__/integration.spec.ts @@ -21,7 +21,7 @@ type WithoutFirstParameter = T extends (_: any, ...args: infer P) => infer R // however this is too hard to be typed correctly async function dispatch< T extends keyof MainIPCHandlerMap, - F extends keyof MainIPCHandlerMap[T] + F extends keyof MainIPCHandlerMap[T], >( namespace: T, functionName: F, diff --git a/apps/server/src/modules/auth/guard.ts b/apps/server/src/modules/auth/guard.ts index b043260ecd..2082c8e34f 100644 --- a/apps/server/src/modules/auth/guard.ts +++ b/apps/server/src/modules/auth/guard.ts @@ -41,7 +41,10 @@ export const CurrentUser = createParamDecorator( @Injectable() class AuthGuard implements CanActivate { - constructor(private auth: AuthService, private prisma: PrismaService) {} + constructor( + private auth: AuthService, + private prisma: PrismaService + ) {} async canActivate(context: ExecutionContext) { const { req } = getRequestResponseFromContext(context); diff --git a/apps/server/src/modules/auth/next-auth.controller.ts b/apps/server/src/modules/auth/next-auth.controller.ts index b5306b8377..70c2ca624b 100644 --- a/apps/server/src/modules/auth/next-auth.controller.ts +++ b/apps/server/src/modules/auth/next-auth.controller.ts @@ -28,7 +28,10 @@ const BASE_URL = '/api/auth/'; export class NextAuthController { private readonly nextAuthOptions: AuthOptions; - constructor(readonly config: Config, readonly prisma: PrismaService) { + constructor( + readonly config: Config, + readonly prisma: PrismaService + ) { const prismaAdapter = PrismaAdapter(prisma); // createUser exists in the adapter // eslint-disable-next-line @typescript-eslint/no-non-null-assertion diff --git a/apps/server/src/modules/auth/service.ts b/apps/server/src/modules/auth/service.ts index 80f3f468d9..c61160d940 100644 --- a/apps/server/src/modules/auth/service.ts +++ b/apps/server/src/modules/auth/service.ts @@ -19,7 +19,10 @@ export const getUtcTimestamp = () => Math.floor(new Date().getTime() / 1000); @Injectable() export class AuthService { - constructor(private config: Config, private prisma: PrismaService) {} + constructor( + private config: Config, + private prisma: PrismaService + ) {} sign(user: UserClaim) { const now = getUtcTimestamp(); diff --git a/apps/server/src/utils/types.ts b/apps/server/src/utils/types.ts index ba6c9eeec2..37d9c4d4a0 100644 --- a/apps/server/src/utils/types.ts +++ b/apps/server/src/utils/types.ts @@ -28,7 +28,7 @@ export type LeafPaths< T, Path extends string = '', MaxDepth extends string = '...', - Depth extends string = '' + Depth extends string = '', > = Depth extends MaxDepth ? never : T extends Record diff --git a/apps/storybook/package.json b/apps/storybook/package.json index 918bacf48a..fd68ce1705 100644 --- a/apps/storybook/package.json +++ b/apps/storybook/package.json @@ -30,13 +30,13 @@ "wait-on": "^7.0.1" }, "devDependencies": { - "@blocksuite/block-std": "0.0.0-20230705060316-3f52aee9-nightly", - "@blocksuite/blocks": "0.0.0-20230705060316-3f52aee9-nightly", - "@blocksuite/editor": "0.0.0-20230705060316-3f52aee9-nightly", - "@blocksuite/global": "0.0.0-20230705060316-3f52aee9-nightly", + "@blocksuite/block-std": "0.0.0-20230705162600-2cb608e4-nightly", + "@blocksuite/blocks": "0.0.0-20230705162600-2cb608e4-nightly", + "@blocksuite/editor": "0.0.0-20230705162600-2cb608e4-nightly", + "@blocksuite/global": "0.0.0-20230705162600-2cb608e4-nightly", "@blocksuite/icons": "^2.1.24", - "@blocksuite/lit": "0.0.0-20230705060316-3f52aee9-nightly", - "@blocksuite/store": "0.0.0-20230705060316-3f52aee9-nightly", + "@blocksuite/lit": "0.0.0-20230705162600-2cb608e4-nightly", + "@blocksuite/store": "0.0.0-20230705162600-2cb608e4-nightly", "react": "18.3.0-canary-1fdacbefd-20230630", "react-dom": "18.3.0-canary-1fdacbefd-20230630" }, diff --git a/apps/web/package.json b/apps/web/package.json index d26080e9e8..4774fa873c 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -19,13 +19,13 @@ "@affine/jotai": "workspace:*", "@affine/templates": "workspace:*", "@affine/workspace": "workspace:*", - "@blocksuite/block-std": "0.0.0-20230705060316-3f52aee9-nightly", - "@blocksuite/blocks": "0.0.0-20230705060316-3f52aee9-nightly", - "@blocksuite/editor": "0.0.0-20230705060316-3f52aee9-nightly", - "@blocksuite/global": "0.0.0-20230705060316-3f52aee9-nightly", + "@blocksuite/block-std": "0.0.0-20230705162600-2cb608e4-nightly", + "@blocksuite/blocks": "0.0.0-20230705162600-2cb608e4-nightly", + "@blocksuite/editor": "0.0.0-20230705162600-2cb608e4-nightly", + "@blocksuite/global": "0.0.0-20230705162600-2cb608e4-nightly", "@blocksuite/icons": "^2.1.24", - "@blocksuite/lit": "0.0.0-20230705060316-3f52aee9-nightly", - "@blocksuite/store": "0.0.0-20230705060316-3f52aee9-nightly", + "@blocksuite/lit": "0.0.0-20230705162600-2cb608e4-nightly", + "@blocksuite/store": "0.0.0-20230705162600-2cb608e4-nightly", "@dnd-kit/core": "^6.0.8", "@dnd-kit/sortable": "^7.0.2", "@emotion/cache": "^11.11.0", diff --git a/apps/web/src/components/affine/new-workspace-setting-detail/index.tsx b/apps/web/src/components/affine/new-workspace-setting-detail/index.tsx index 4c9a96841c..34e912e25d 100644 --- a/apps/web/src/components/affine/new-workspace-setting-detail/index.tsx +++ b/apps/web/src/components/affine/new-workspace-setting-detail/index.tsx @@ -23,7 +23,7 @@ export type WorkspaceSettingDetailProps = { onDeleteWorkspace: (id: string) => Promise; onTransferWorkspace: < From extends WorkspaceFlavour, - To extends WorkspaceFlavour + To extends WorkspaceFlavour, >( from: From, to: To, diff --git a/apps/web/src/components/blocksuite/workspace-header/header.tsx b/apps/web/src/components/blocksuite/workspace-header/header.tsx index 22e3d447ec..d5254edacf 100644 --- a/apps/web/src/components/blocksuite/workspace-header/header.tsx +++ b/apps/web/src/components/blocksuite/workspace-header/header.tsx @@ -35,7 +35,7 @@ import * as styles from './styles.css'; import { OSWarningMessage, shouldShowWarning } from './utils'; export type BaseHeaderProps< - Workspace extends AffineOfficialWorkspace = AffineOfficialWorkspace + Workspace extends AffineOfficialWorkspace = AffineOfficialWorkspace, > = { workspace: Workspace; currentPage: Page | null; diff --git a/apps/web/src/components/pure/workspace-slider-bar/favorite/favorite-list.tsx b/apps/web/src/components/pure/workspace-slider-bar/favorite/favorite-list.tsx index deff7880d7..cf8c79778a 100644 --- a/apps/web/src/components/pure/workspace-slider-bar/favorite/favorite-list.tsx +++ b/apps/web/src/components/pure/workspace-slider-bar/favorite/favorite-list.tsx @@ -16,10 +16,13 @@ export const FavoriteList = ({ currentWorkspace }: FavoriteListProps) => { const metaMapping = useMemo( () => - metas.reduce((acc, meta) => { - acc[meta.id] = meta; - return acc; - }, {} as Record), + metas.reduce( + (acc, meta) => { + acc[meta.id] = meta; + return acc; + }, + {} as Record + ), [metas] ); diff --git a/apps/web/src/components/pure/workspace-slider-bar/style.ts b/apps/web/src/components/pure/workspace-slider-bar/style.ts index 290832960f..a5cf0799a2 100644 --- a/apps/web/src/components/pure/workspace-slider-bar/style.ts +++ b/apps/web/src/components/pure/workspace-slider-bar/style.ts @@ -56,22 +56,22 @@ export const StyledNewPageButton = styled('button')(() => { }, }; }); -export const StyledSliderModalBackground = styled('div')<{ active: boolean }>( - ({ active }) => { - return { - transition: 'opacity .15s', - pointerEvents: active ? 'auto' : 'none', - opacity: active ? 1 : 0, - position: 'fixed', - top: 0, - left: 0, - right: active ? 0 : '100%', - bottom: 0, - zIndex: parseInt(baseTheme.zIndexModal) - 1, - background: 'var(--affine-background-modal-color)', - }; - } -); +export const StyledSliderModalBackground = styled('div')<{ active: boolean }>(({ + active, +}) => { + return { + transition: 'opacity .15s', + pointerEvents: active ? 'auto' : 'none', + opacity: active ? 1 : 0, + position: 'fixed', + top: 0, + left: 0, + right: active ? 0 : '100%', + bottom: 0, + zIndex: parseInt(baseTheme.zIndexModal) - 1, + background: 'var(--affine-background-modal-color)', + }; +}); export const StyledScrollWrapper = styled('div')<{ showTopBorder: boolean; diff --git a/apps/web/src/hooks/current/use-current-page-id.ts b/apps/web/src/hooks/current/use-current-page-id.ts index 076433d556..afa167aa59 100644 --- a/apps/web/src/hooks/current/use-current-page-id.ts +++ b/apps/web/src/hooks/current/use-current-page-id.ts @@ -6,7 +6,7 @@ import { useAtom } from 'jotai'; */ export function useCurrentPageId(): [ string | null, - (newId: string | null) => void + (newId: string | null) => void, ] { return useAtom(rootCurrentPageIdAtom); } diff --git a/apps/web/src/hooks/current/use-current-workspace.ts b/apps/web/src/hooks/current/use-current-workspace.ts index b6f105c4ec..422b1e9ee8 100644 --- a/apps/web/src/hooks/current/use-current-workspace.ts +++ b/apps/web/src/hooks/current/use-current-workspace.ts @@ -11,7 +11,7 @@ import type { AllWorkspace } from '../../shared'; export function useCurrentWorkspace(): [ AllWorkspace, - (id: string | null) => void + (id: string | null) => void, ] { const currentWorkspace = useAtomValue(rootCurrentWorkspaceAtom); const [, setId] = useAtom(rootCurrentWorkspaceIdAtom); diff --git a/package.json b/package.json index 460a47031e..460d9290ac 100644 --- a/package.json +++ b/package.json @@ -26,11 +26,14 @@ "start:web-static": "yarn workspace @affine/web static-server", "start:storybook": "yarn exec serve apps/storybook/storybook-static -l 6006", "serve:test-static": "yarn exec serve tests/fixtures --cors -p 8081", - "lint": "eslint . --ext .js,mjs,.ts,.tsx --cache", - "lint:fix": "yarn lint --fix", + "lint:eslint": "eslint . --ext .js,mjs,.ts,.tsx --cache", + "lint:eslint:fix": "yarn lint:eslint --fix", + "lint:prettier": "prettier --ignore-unknown --cache --check .", + "lint:prettier:fix": "prettier --ignore-unknown --cache --write .", + "lint": "yarn lint:eslint && yarn lint:prettier", + "lint:fix": "yarn lint:eslint:fix && yarn lint:prettier:fix", "e2e": "playwright test", "e2e:coverage": "COVERAGE=true yarn e2e --forbid-only", - "start:e2e": "yarn dlx run-p start start:storybook", "test": "ENABLE_PRELOADING=false vitest --run", "test:ui": "ENABLE_PRELOADING=false vitest --ui", "test:coverage": "ENABLE_PRELOADING=false vitest run --coverage", @@ -93,7 +96,7 @@ "nx": "16.4.3", "nx-cloud": "latest", "nyc": "^15.1.0", - "prettier": "^2.8.8", + "prettier": "^3.0.0", "serve": "^14.2.0", "ts-node": "^10.9.1", "typescript": "^5.1.6", diff --git a/packages/component/package.json b/packages/component/package.json index 94ccc64d6f..c96e318d9f 100644 --- a/packages/component/package.json +++ b/packages/component/package.json @@ -51,12 +51,12 @@ "rxjs": "^7.8.1" }, "devDependencies": { - "@blocksuite/blocks": "0.0.0-20230705060316-3f52aee9-nightly", - "@blocksuite/editor": "0.0.0-20230705060316-3f52aee9-nightly", - "@blocksuite/global": "0.0.0-20230705060316-3f52aee9-nightly", + "@blocksuite/blocks": "0.0.0-20230705162600-2cb608e4-nightly", + "@blocksuite/editor": "0.0.0-20230705162600-2cb608e4-nightly", + "@blocksuite/global": "0.0.0-20230705162600-2cb608e4-nightly", "@blocksuite/icons": "^2.1.24", - "@blocksuite/lit": "0.0.0-20230705060316-3f52aee9-nightly", - "@blocksuite/store": "0.0.0-20230705060316-3f52aee9-nightly", + "@blocksuite/lit": "0.0.0-20230705162600-2cb608e4-nightly", + "@blocksuite/store": "0.0.0-20230705162600-2cb608e4-nightly", "@types/react": "^18.2.14", "@types/react-datepicker": "^4.11.2", "@types/react-dnd": "^3.0.2", diff --git a/packages/component/src/components/app-sidebar/app-updater-button/index.jotai.ts b/packages/component/src/components/app-sidebar/app-updater-button/index.jotai.ts index e313b31a4c..55024db338 100644 --- a/packages/component/src/components/app-sidebar/app-updater-button/index.jotai.ts +++ b/packages/component/src/components/app-sidebar/app-updater-button/index.jotai.ts @@ -6,7 +6,7 @@ import { Observable } from 'rxjs'; function rpcToObservable< T, H extends () => Promise, - E extends (callback: (t: T) => void) => () => void + E extends (callback: (t: T) => void) => () => void, >( initialValue: T, { diff --git a/packages/component/src/components/share-menu/share-menu.tsx b/packages/component/src/components/share-menu/share-menu.tsx index 7c49387c66..09ae9f2260 100644 --- a/packages/component/src/components/share-menu/share-menu.tsx +++ b/packages/component/src/components/share-menu/share-menu.tsx @@ -29,7 +29,7 @@ const tabIcons = { export type ShareMenuProps< Workspace extends AffineCloudWorkspace | LocalWorkspace = | AffineCloudWorkspace - | LocalWorkspace + | LocalWorkspace, > = { workspace: Workspace; currentPage: Page; diff --git a/packages/component/src/ui/button/loading.tsx b/packages/component/src/ui/button/loading.tsx index 81b93dea0b..60d1234244 100644 --- a/packages/component/src/ui/button/loading.tsx +++ b/packages/component/src/ui/button/loading.tsx @@ -1,10 +1,12 @@ import { styled } from '../../styles'; import type { ButtonProps } from './interface'; import { getButtonColors } from './utils'; -export const LoadingContainer = styled('div')>( - ({ theme, type = 'default' }) => { - const { color } = getButtonColors(theme, type, false); - return ` +export const LoadingContainer = styled('div')>(({ + theme, + type = 'default', +}) => { + const { color } = getButtonColors(theme, type, false); + return ` margin: 0px auto; width: 38px; text-align: center; @@ -45,8 +47,7 @@ export const LoadingContainer = styled('div')>( } } `; - } -); +}); export const Loading = ({ type }: Pick) => { return ( diff --git a/packages/component/src/ui/button/styles.ts b/packages/component/src/ui/button/styles.ts index 41b7717b51..83ffa5ca11 100644 --- a/packages/component/src/ui/button/styles.ts +++ b/packages/component/src/ui/button/styles.ts @@ -28,36 +28,34 @@ export const StyledIconButton = styled('button', { hoverStyle?: CSSProperties; // In some cases, button is in a normal hover status, it should be darkened fontSize?: CSSProperties['fontSize']; -}>( - ({ +}>(({ + width, + height, + borderRadius, + disabled, + hoverBackground, + hoverColor, + hoverStyle, + fontSize, +}) => { + return { width, height, - borderRadius, - disabled, - hoverBackground, - hoverColor, - hoverStyle, fontSize, - }) => { - return { - width, - height, - fontSize, - WebkitAppRegion: 'no-drag', - color: 'var(--affine-icon-color)', - ...displayInlineFlex('center', 'center'), - ...(disabled ? { cursor: 'not-allowed', pointerEvents: 'none' } : {}), - transition: 'background .15s', - borderRadius, + WebkitAppRegion: 'no-drag', + color: 'var(--affine-icon-color)', + ...displayInlineFlex('center', 'center'), + ...(disabled ? { cursor: 'not-allowed', pointerEvents: 'none' } : {}), + transition: 'background .15s', + borderRadius, - ':hover': { - color: hoverColor ?? 'var(--affine-icon-color)', - background: hoverBackground || 'var(--affine-hover-color)', - ...(hoverStyle ?? {}), - }, - }; - } -); + ':hover': { + color: hoverColor ?? 'var(--affine-icon-color)', + background: hoverBackground || 'var(--affine-hover-color)', + ...(hoverStyle ?? {}), + }, + }; +}); export const StyledTextButton = styled('button', { shouldForwardProp: prop => { @@ -85,42 +83,40 @@ export const StyledTextButton = styled('button', { | 'type' | 'bold' > ->( - ({ - size = 'default', - disabled, - hoverBackground, - hoverColor, - hoverStyle, - bold = false, - shape = 'default', - // TODO: Implement type - // eslint-disable-next-line @typescript-eslint/no-unused-vars - // type = 'default', - }) => { - const { fontSize, borderRadius, padding, height } = getSize(size); +>(({ + size = 'default', + disabled, + hoverBackground, + hoverColor, + hoverStyle, + bold = false, + shape = 'default', + // TODO: Implement type + // eslint-disable-next-line @typescript-eslint/no-unused-vars + // type = 'default', +}) => { + const { fontSize, borderRadius, padding, height } = getSize(size); - return { - height, - paddingLeft: padding, - paddingRight: padding, - ...displayInlineFlex('flex-start', 'center'), - position: 'relative', - ...(disabled ? { cursor: 'not-allowed', pointerEvents: 'none' } : {}), - transition: 'background .15s', - // TODO: Implement circle shape - borderRadius: shape === 'default' ? borderRadius : height / 2, - fontSize, - fontWeight: bold ? '500' : '400', + return { + height, + paddingLeft: padding, + paddingRight: padding, + ...displayInlineFlex('flex-start', 'center'), + position: 'relative', + ...(disabled ? { cursor: 'not-allowed', pointerEvents: 'none' } : {}), + transition: 'background .15s', + // TODO: Implement circle shape + borderRadius: shape === 'default' ? borderRadius : height / 2, + fontSize, + fontWeight: bold ? '500' : '400', - ':hover': { - color: hoverColor ?? 'var(--affine-primary-color)', - background: hoverBackground ?? 'var(--affine-hover-color)', - ...(hoverStyle ?? {}), - }, - }; - } -); + ':hover': { + color: hoverColor ?? 'var(--affine-primary-color)', + background: hoverBackground ?? 'var(--affine-hover-color)', + ...(hoverStyle ?? {}), + }, + }; +}); export const StyledButton = styled('button', { shouldForwardProp: prop => { @@ -147,70 +143,68 @@ export const StyledButton = styled('button', { | 'bold' | 'noBorder' > ->( - ({ - theme, - size = 'default', - disabled, - hoverBackground, - hoverColor, - hoverStyle, - bold = false, - shape = 'default', - type = 'default', - noBorder = false, - }) => { - const { fontSize, borderRadius, padding, height } = getSize(size); +>(({ + theme, + size = 'default', + disabled, + hoverBackground, + hoverColor, + hoverStyle, + bold = false, + shape = 'default', + type = 'default', + noBorder = false, +}) => { + const { fontSize, borderRadius, padding, height } = getSize(size); - return { - height, - paddingLeft: padding, - paddingRight: padding, - border: noBorder ? 'none' : '1px solid', - WebkitAppRegion: 'no-drag', - ...displayInlineFlex('center', 'center'), - gap: '8px', - position: 'relative', - // TODO: disabled color is not decided - ...(disabled - ? { - cursor: 'not-allowed', - pointerEvents: 'none', - color: 'var(--affine-text-disable-color)', - } - : {}), - transition: 'background .15s', - // TODO: Implement circle shape - borderRadius: shape === 'default' ? borderRadius : height / 2, - fontSize, - fontWeight: bold ? '500' : '400', - '.affine-button-icon': { - color: 'var(--affine-icon-color)', - }, - '.affine-button-icon__fixed': { - color: 'var(--affine-icon-color)', - }, - '>span': { - width: 'max-content', - }, - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - ...getButtonColors(theme, type, disabled, { - hoverBackground, - hoverColor, - hoverStyle, - }), + return { + height, + paddingLeft: padding, + paddingRight: padding, + border: noBorder ? 'none' : '1px solid', + WebkitAppRegion: 'no-drag', + ...displayInlineFlex('center', 'center'), + gap: '8px', + position: 'relative', + // TODO: disabled color is not decided + ...(disabled + ? { + cursor: 'not-allowed', + pointerEvents: 'none', + color: 'var(--affine-text-disable-color)', + } + : {}), + transition: 'background .15s', + // TODO: Implement circle shape + borderRadius: shape === 'default' ? borderRadius : height / 2, + fontSize, + fontWeight: bold ? '500' : '400', + '.affine-button-icon': { + color: 'var(--affine-icon-color)', + }, + '.affine-button-icon__fixed': { + color: 'var(--affine-icon-color)', + }, + '>span': { + width: 'max-content', + }, + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + ...getButtonColors(theme, type, disabled, { + hoverBackground, + hoverColor, + hoverStyle, + }), - // TODO: disabled hover should be implemented - // - // ':hover': { - // color: hoverColor ?? 'var(--affine-primary-color)', - // background: hoverBackground ?? 'var(--affine-hover-color)', - // '.affine-button-icon':{ - // - // } - // ...(hoverStyle ?? {}), - // }, - }; - } -); + // TODO: disabled hover should be implemented + // + // ':hover': { + // color: hoverColor ?? 'var(--affine-primary-color)', + // background: hoverBackground ?? 'var(--affine-hover-color)', + // '.affine-button-icon':{ + // + // } + // ...(hoverStyle ?? {}), + // }, + }; +}); diff --git a/packages/component/src/ui/empty/style.ts b/packages/component/src/ui/empty/style.ts index 95f4878f36..faa1d8dbe9 100644 --- a/packages/component/src/ui/empty/style.ts +++ b/packages/component/src/ui/empty/style.ts @@ -2,18 +2,18 @@ import type { CSSProperties } from 'react'; import { displayFlex, styled } from '../../styles'; -export const StyledEmptyContainer = styled('div')<{ style?: CSSProperties }>( - ({ style }) => { - return { - height: '100%', - ...displayFlex('center', 'center'), - flexDirection: 'column', - color: 'var(--affine-text-secondary-color)', - svg: { - width: style?.width ?? '248px', - height: style?.height ?? '216px', - fontSize: style?.fontSize ?? 'inherit', - }, - }; - } -); +export const StyledEmptyContainer = styled('div')<{ style?: CSSProperties }>(({ + style, +}) => { + return { + height: '100%', + ...displayFlex('center', 'center'), + flexDirection: 'column', + color: 'var(--affine-text-secondary-color)', + svg: { + width: style?.width ?? '248px', + height: style?.height ?? '216px', + fontSize: style?.fontSize ?? 'inherit', + }, + }; +}); diff --git a/packages/component/src/ui/layout/content.tsx b/packages/component/src/ui/layout/content.tsx index f8c298878b..0d3b831655 100644 --- a/packages/component/src/ui/layout/content.tsx +++ b/packages/component/src/ui/layout/content.tsx @@ -29,30 +29,28 @@ export const Content = styled('div', { 'align', ].includes(prop as string); }, -})( - ({ - color, - fontSize, - weight, - lineHeight, - ellipsis, - lineNum, +})(({ + color, + fontSize, + weight, + lineHeight, + ellipsis, + lineNum, + width, + maxWidth, + align, +}) => { + return { width, maxWidth, - align, - }) => { - return { - width, - maxWidth, - textAlign: align, - display: 'inline-block', - color: color ?? 'var(--affine-text-primary-color)', - fontSize: fontSize ?? 'var(--affine-font-base)', - fontWeight: weight ?? 400, - lineHeight: lineHeight ?? 1.5, - ...(ellipsis ? textEllipsis(lineNum) : {}), - }; - } -); + textAlign: align, + display: 'inline-block', + color: color ?? 'var(--affine-text-primary-color)', + fontSize: fontSize ?? 'var(--affine-font-base)', + fontWeight: weight ?? 400, + lineHeight: lineHeight ?? 1.5, + ...(ellipsis ? textEllipsis(lineNum) : {}), + }; +}); export default Content; diff --git a/packages/component/src/ui/layout/wrapper.tsx b/packages/component/src/ui/layout/wrapper.tsx index 44617d4341..2a7e778683 100644 --- a/packages/component/src/ui/layout/wrapper.tsx +++ b/packages/component/src/ui/layout/wrapper.tsx @@ -47,8 +47,22 @@ export const Wrapper = styled('div', { 'marginBottom', ].includes(prop as string); }, -})( - ({ +})(({ + display, + width, + height, + padding, + margin, + paddingTop, + paddingRight, + paddingLeft, + paddingBottom, + marginTop, + marginLeft, + marginRight, + marginBottom, +}) => { + return { display, width, height, @@ -62,24 +76,8 @@ export const Wrapper = styled('div', { marginLeft, marginRight, marginBottom, - }) => { - return { - display, - width, - height, - padding, - margin, - paddingTop, - paddingRight, - paddingLeft, - paddingBottom, - marginTop, - marginLeft, - marginRight, - marginBottom, - }; - } -); + }; +}); export const FlexWrapper = styled(Wrapper, { shouldForwardProp: prop => { @@ -92,26 +90,24 @@ export const FlexWrapper = styled(Wrapper, { 'flexGrow', ].includes(prop as string); }, -})( - ({ +})(({ + justifyContent, + alignItems, + wrap = false, + flexDirection, + flexShrink, + flexGrow, +}) => { + return { + display: 'flex', justifyContent, alignItems, - wrap = false, + flexWrap: wrap ? 'wrap' : 'nowrap', flexDirection, flexShrink, flexGrow, - }) => { - return { - display: 'flex', - justifyContent, - alignItems, - flexWrap: wrap ? 'wrap' : 'nowrap', - flexDirection, - flexShrink, - flexGrow, - }; - } -); + }; +}); // TODO: Complete me export const GridWrapper = styled(Wrapper, { diff --git a/packages/component/src/ui/menu/styles.ts b/packages/component/src/ui/menu/styles.ts index 5dcff5aa1b..91d57fc740 100644 --- a/packages/component/src/ui/menu/styles.ts +++ b/packages/component/src/ui/menu/styles.ts @@ -54,53 +54,51 @@ export const StyledMenuItem = styled('button')<{ disabled?: boolean; active?: boolean; disableHover?: boolean; -}>( - ({ - isDir = false, - disabled = false, - active = false, - disableHover = false, - }) => { - return { - width: '100%', - borderRadius: '5px', - padding: '0 14px', - fontSize: 'var(--affine-font-base)', - height: '32px', - ...displayFlex('flex-start', 'center'), - cursor: isDir ? 'pointer' : '', - position: 'relative', - backgroundColor: 'transparent', +}>(({ + isDir = false, + disabled = false, + active = false, + disableHover = false, +}) => { + return { + width: '100%', + borderRadius: '5px', + padding: '0 14px', + fontSize: 'var(--affine-font-base)', + height: '32px', + ...displayFlex('flex-start', 'center'), + cursor: isDir ? 'pointer' : '', + position: 'relative', + backgroundColor: 'transparent', + color: disabled + ? 'var(--affine-text-disable-color)' + : 'var(--affine-text-primary-color)', + svg: { color: disabled ? 'var(--affine-text-disable-color)' - : 'var(--affine-text-primary-color)', - svg: { - color: disabled - ? 'var(--affine-text-disable-color)' - : 'var(--affine-icon-color)', - }, - ...(disabled - ? { - cursor: 'not-allowed', - pointerEvents: 'none', - } - : {}), + : 'var(--affine-icon-color)', + }, + ...(disabled + ? { + cursor: 'not-allowed', + pointerEvents: 'none', + } + : {}), - ':hover': - disabled || disableHover - ? {} - : { - backgroundColor: 'var(--affine-hover-color)', - }, - - ...(active && !disabled - ? { + ':hover': + disabled || disableHover + ? {} + : { backgroundColor: 'var(--affine-hover-color)', - } - : {}), - }; - } -); + }, + + ...(active && !disabled + ? { + backgroundColor: 'var(--affine-hover-color)', + } + : {}), + }; +}); export const StyledButton = styled(Button)(() => { return { diff --git a/packages/component/src/ui/table/styles.ts b/packages/component/src/ui/table/styles.ts index cf29cdd41d..ae6b3ae690 100644 --- a/packages/component/src/ui/table/styles.ts +++ b/packages/component/src/ui/table/styles.ts @@ -1,36 +1,36 @@ import { styled, textEllipsis } from '../../styles'; import type { TableCellProps } from './interface'; -export const StyledTable = styled('table')<{ showBorder?: boolean }>( - ({ showBorder }) => { - return { - fontSize: 'var(--affine-font-base)', - color: 'var(--affine-text-primary-color)', - tableLayout: 'fixed', - width: '100%', - borderCollapse: 'collapse', - borderSpacing: '0', +export const StyledTable = styled('table')<{ showBorder?: boolean }>(({ + showBorder, +}) => { + return { + fontSize: 'var(--affine-font-base)', + color: 'var(--affine-text-primary-color)', + tableLayout: 'fixed', + width: '100%', + borderCollapse: 'collapse', + borderSpacing: '0', - ...(typeof showBorder === 'boolean' - ? { - thead: { - '::after': { - display: 'block', - position: 'absolute', - content: '""', - width: '100%', - height: '1px', - left: 0, - background: 'var(--affine-border-color)', - transition: 'opacity .15s', - opacity: showBorder ? 1 : 0, - }, + ...(typeof showBorder === 'boolean' + ? { + thead: { + '::after': { + display: 'block', + position: 'absolute', + content: '""', + width: '100%', + height: '1px', + left: 0, + background: 'var(--affine-border-color)', + transition: 'opacity .15s', + opacity: showBorder ? 1 : 0, }, - } - : {}), - }; - } -); + }, + } + : {}), + }; +}); export const StyledTableBody = styled('tbody')(() => { return { @@ -43,31 +43,29 @@ export const StyledTableCell = styled('td')< TableCellProps, 'ellipsis' | 'align' | 'proportion' | 'active' | 'onClick' > ->( - ({ - align = 'left', - ellipsis = false, - proportion, - active = false, - onClick, - }) => { - const width = proportion ? `${proportion * 100}%` : 'auto'; - return { - width, - height: '52px', - paddingLeft: '16px', - boxSizing: 'border-box', - textAlign: align, - verticalAlign: 'middle', - whiteSpace: 'nowrap', - userSelect: 'none', - fontSize: 'var(--affine-font-sm)', - ...(active ? { color: 'var(--affine-text-primary-color)' } : {}), - ...(ellipsis ? textEllipsis(1) : {}), - ...(onClick ? { cursor: 'pointer' } : {}), - }; - } -); +>(({ + align = 'left', + ellipsis = false, + proportion, + active = false, + onClick, +}) => { + const width = proportion ? `${proportion * 100}%` : 'auto'; + return { + width, + height: '52px', + paddingLeft: '16px', + boxSizing: 'border-box', + textAlign: align, + verticalAlign: 'middle', + whiteSpace: 'nowrap', + userSelect: 'none', + fontSize: 'var(--affine-font-sm)', + ...(active ? { color: 'var(--affine-text-primary-color)' } : {}), + ...(ellipsis ? textEllipsis(1) : {}), + ...(onClick ? { cursor: 'pointer' } : {}), + }; +}); export const StyledTableHead = styled('thead')(() => { return { diff --git a/packages/env/package.json b/packages/env/package.json index 6e2e620d32..6afbb7127e 100644 --- a/packages/env/package.json +++ b/packages/env/package.json @@ -5,7 +5,7 @@ "module": "./src/index.ts", "types": "./src/global.ts", "devDependencies": { - "@blocksuite/global": "0.0.0-20230705060316-3f52aee9-nightly", + "@blocksuite/global": "0.0.0-20230705162600-2cb608e4-nightly", "next": "=13.4.2", "react": "18.3.0-canary-1fdacbefd-20230630", "react-dom": "18.3.0-canary-1fdacbefd-20230630", diff --git a/packages/env/src/workspace.ts b/packages/env/src/workspace.ts index 688f808234..9acf7efa5a 100644 --- a/packages/env/src/workspace.ts +++ b/packages/env/src/workspace.ts @@ -134,7 +134,7 @@ type NewSettingProps = onDeleteWorkspace: (id: string) => Promise; onTransformWorkspace: < From extends keyof WorkspaceRegistry, - To extends keyof WorkspaceRegistry + To extends keyof WorkspaceRegistry, >( from: From, to: To, diff --git a/packages/graphql/package.json b/packages/graphql/package.json index d4a164a343..63acd851b7 100644 --- a/packages/graphql/package.json +++ b/packages/graphql/package.json @@ -16,7 +16,7 @@ "@graphql-codegen/typescript-operations": "^4.0.1", "@types/lodash-es": "^4.17.7", "lodash-es": "^4.17.21", - "prettier": "^2.8.8" + "prettier": "^3.0.0" }, "scripts": { "postinstall": "gql-gen" diff --git a/packages/graphql/src/schema.ts b/packages/graphql/src/schema.ts index 000996d2a3..516da727c8 100644 --- a/packages/graphql/src/schema.ts +++ b/packages/graphql/src/schema.ts @@ -12,7 +12,7 @@ export type MakeMaybe = Omit & { }; export type MakeEmpty< T extends { [key: string]: unknown }, - K extends keyof T + K extends keyof T, > = { [_ in K]?: never }; export type Incremental = | T diff --git a/packages/i18n/package.json b/packages/i18n/package.json index 98c90128cb..6a4664e235 100644 --- a/packages/i18n/package.json +++ b/packages/i18n/package.json @@ -33,7 +33,7 @@ "devDependencies": { "@types/node": "^18.16.19", "@types/prettier": "^2.7.3", - "prettier": "^2.8.8", + "prettier": "^3.0.0", "ts-node": "^10.9.1", "typescript": "^5.1.6" }, diff --git a/packages/i18n/src/scripts/download.ts b/packages/i18n/src/scripts/download.ts index 3cb0f1e830..df652d2e32 100644 --- a/packages/i18n/src/scripts/download.ts +++ b/packages/i18n/src/scripts/download.ts @@ -138,7 +138,7 @@ const main = async () => { await fs.writeFile( path.resolve(RES_DIR, 'index.ts'), - format(code, { + await format(code, { parser: 'typescript', singleQuote: true, trailingComma: 'es5', diff --git a/packages/infra/src/type.ts b/packages/infra/src/type.ts index 60c4d9b181..2e59cc84e1 100644 --- a/packages/infra/src/type.ts +++ b/packages/infra/src/type.ts @@ -2,7 +2,7 @@ import type { TypedEventEmitter } from './core/event-emitter'; export abstract class HandlerManager< Namespace extends string, - Handlers extends Record + Handlers extends Record, > { static instance: HandlerManager>; private _app: App; @@ -128,7 +128,7 @@ export type UnwrapManagerHandlerToServerSide< frameId: number; processId: number; }, - Manager extends HandlerManager> + Manager extends HandlerManager>, > = Manager extends HandlerManager ? { [K in keyof Handlers]: Handlers[K] extends ( @@ -140,7 +140,7 @@ export type UnwrapManagerHandlerToServerSide< : never; export type UnwrapManagerHandlerToClientSide< - Manager extends HandlerManager> + Manager extends HandlerManager>, > = Manager extends HandlerManager ? { [K in keyof Handlers]: Handlers[K] extends ( @@ -156,7 +156,7 @@ export type UnwrapManagerHandlerToClientSide< */ export type App< Namespace extends string, - Handlers extends Record + Handlers extends Record, > = TypedEventEmitter<{ [K in keyof Handlers as `${Namespace}:${K & string}`]: Handlers[K]; }>; diff --git a/packages/jotai/package.json b/packages/jotai/package.json index 3cfe09fee9..24e23489a3 100644 --- a/packages/jotai/package.json +++ b/packages/jotai/package.json @@ -6,11 +6,11 @@ "jotai": "^2.2.1" }, "devDependencies": { - "@blocksuite/blocks": "0.0.0-20230705060316-3f52aee9-nightly", - "@blocksuite/editor": "0.0.0-20230705060316-3f52aee9-nightly", - "@blocksuite/global": "0.0.0-20230705060316-3f52aee9-nightly", - "@blocksuite/lit": "0.0.0-20230705060316-3f52aee9-nightly", - "@blocksuite/store": "0.0.0-20230705060316-3f52aee9-nightly", + "@blocksuite/blocks": "0.0.0-20230705162600-2cb608e4-nightly", + "@blocksuite/editor": "0.0.0-20230705162600-2cb608e4-nightly", + "@blocksuite/global": "0.0.0-20230705162600-2cb608e4-nightly", + "@blocksuite/lit": "0.0.0-20230705162600-2cb608e4-nightly", + "@blocksuite/store": "0.0.0-20230705162600-2cb608e4-nightly", "lottie-web": "^5.12.2" }, "peerDependencies": { diff --git a/packages/plugin-infra/package.json b/packages/plugin-infra/package.json index 8cc6615f1a..2a8eb55d4f 100644 --- a/packages/plugin-infra/package.json +++ b/packages/plugin-infra/package.json @@ -21,11 +21,11 @@ } }, "dependencies": { - "@blocksuite/blocks": "0.0.0-20230705060316-3f52aee9-nightly", - "@blocksuite/editor": "0.0.0-20230705060316-3f52aee9-nightly", - "@blocksuite/global": "0.0.0-20230705060316-3f52aee9-nightly", - "@blocksuite/lit": "0.0.0-20230705060316-3f52aee9-nightly", - "@blocksuite/store": "0.0.0-20230705060316-3f52aee9-nightly", + "@blocksuite/blocks": "0.0.0-20230705162600-2cb608e4-nightly", + "@blocksuite/editor": "0.0.0-20230705162600-2cb608e4-nightly", + "@blocksuite/global": "0.0.0-20230705162600-2cb608e4-nightly", + "@blocksuite/lit": "0.0.0-20230705162600-2cb608e4-nightly", + "@blocksuite/store": "0.0.0-20230705162600-2cb608e4-nightly", "jotai": "^2.2.1" }, "devDependencies": { diff --git a/packages/workspace/src/atom.ts b/packages/workspace/src/atom.ts index b7035ad6dc..ee6ee9bf9a 100644 --- a/packages/workspace/src/atom.ts +++ b/packages/workspace/src/atom.ts @@ -88,7 +88,7 @@ const rootWorkspacesMetadataPromiseAtom = atom< flavour: Plugin.flavour, // new workspace should all support sub-doc feature version: WorkspaceVersion.SubDoc, - } satisfies RootWorkspaceMetadataV2) + }) satisfies RootWorkspaceMetadataV2 ); }).filter((ids): ids is RootWorkspaceMetadataV2 => !!ids); }; diff --git a/packages/y-indexeddb/package.json b/packages/y-indexeddb/package.json index 950d944522..e702836930 100644 --- a/packages/y-indexeddb/package.json +++ b/packages/y-indexeddb/package.json @@ -36,8 +36,8 @@ "idb": "^7.1.1" }, "devDependencies": { - "@blocksuite/blocks": "0.0.0-20230705060316-3f52aee9-nightly", - "@blocksuite/store": "0.0.0-20230705060316-3f52aee9-nightly", + "@blocksuite/blocks": "0.0.0-20230705162600-2cb608e4-nightly", + "@blocksuite/store": "0.0.0-20230705162600-2cb608e4-nightly", "vite": "^4.3.9", "vite-plugin-dts": "3.0.2", "y-indexeddb": "^9.0.11" diff --git a/plugins/copilot/src/core/hooks/index.ts b/plugins/copilot/src/core/hooks/index.ts index 8e21e4e718..8a79ef193a 100644 --- a/plugins/copilot/src/core/hooks/index.ts +++ b/plugins/copilot/src/core/hooks/index.ts @@ -131,9 +131,8 @@ const getFollowingUpAtoms = ( throw new Error('followupLLMChain not set'); } const messages = await chatHistory.getMessages(); - const aiMessage = messages.findLast( - message => message._getType() === 'ai' - )?.text; + const aiMessage = messages.findLast(message => message._getType() === 'ai') + ?.text; const humanMessage = messages.findLast( message => message._getType() === 'human' )?.text; diff --git a/tests/affine-legacy/0.7.0-canary.18/package.json b/tests/affine-legacy/0.7.0-canary.18/package.json index 7a0b6419cb..f4ee6fa1eb 100644 --- a/tests/affine-legacy/0.7.0-canary.18/package.json +++ b/tests/affine-legacy/0.7.0-canary.18/package.json @@ -11,10 +11,10 @@ "@affine-test/fixtures": "workspace:*", "@affine-test/kit": "workspace:*", "@affine/env": "workspace:*", - "@blocksuite/block-std": "0.0.0-20230705060316-3f52aee9-nightly", - "@blocksuite/blocks": "0.0.0-20230705060316-3f52aee9-nightly", - "@blocksuite/global": "0.0.0-20230705060316-3f52aee9-nightly", - "@blocksuite/store": "0.0.0-20230705060316-3f52aee9-nightly", + "@blocksuite/block-std": "0.0.0-20230705162600-2cb608e4-nightly", + "@blocksuite/blocks": "0.0.0-20230705162600-2cb608e4-nightly", + "@blocksuite/global": "0.0.0-20230705162600-2cb608e4-nightly", + "@blocksuite/store": "0.0.0-20230705162600-2cb608e4-nightly", "@playwright/test": "=1.33.0", "express": "^4.18.2", "http-proxy-middleware": "^3.0.0-beta.1", diff --git a/yarn.lock b/yarn.lock index 4076f5d0d0..5be90f75ec 100644 --- a/yarn.lock +++ b/yarn.lock @@ -26,10 +26,10 @@ __metadata: "@affine-test/fixtures": "workspace:*" "@affine-test/kit": "workspace:*" "@affine/env": "workspace:*" - "@blocksuite/block-std": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/blocks": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/global": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/store": 0.0.0-20230705060316-3f52aee9-nightly + "@blocksuite/block-std": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/blocks": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/global": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/store": 0.0.0-20230705162600-2cb608e4-nightly "@playwright/test": =1.33.0 express: ^4.18.2 http-proxy-middleware: ^3.0.0-beta.1 @@ -96,12 +96,12 @@ __metadata: "@affine/i18n": "workspace:*" "@affine/jotai": "workspace:*" "@affine/workspace": "workspace:*" - "@blocksuite/blocks": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/editor": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/global": 0.0.0-20230705060316-3f52aee9-nightly + "@blocksuite/blocks": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/editor": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/global": 0.0.0-20230705162600-2cb608e4-nightly "@blocksuite/icons": ^2.1.24 - "@blocksuite/lit": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/store": 0.0.0-20230705060316-3f52aee9-nightly + "@blocksuite/lit": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/store": 0.0.0-20230705162600-2cb608e4-nightly "@dnd-kit/core": ^6.0.8 "@dnd-kit/sortable": ^7.0.2 "@emotion/cache": ^11.11.0 @@ -187,12 +187,12 @@ __metadata: resolution: "@affine/docs@workspace:apps/docs" dependencies: "@affine/component": "workspace:*" - "@blocksuite/block-std": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/blocks": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/editor": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/global": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/lit": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/store": 0.0.0-20230705060316-3f52aee9-nightly + "@blocksuite/block-std": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/blocks": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/editor": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/global": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/lit": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/store": 0.0.0-20230705162600-2cb608e4-nightly "@types/react": ^18.2.14 "@types/react-dom": ^18.2.6 "@vanilla-extract/css": ^1.12.0 @@ -215,10 +215,10 @@ __metadata: dependencies: "@affine-test/kit": "workspace:*" "@affine/native": "workspace:*" - "@blocksuite/blocks": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/editor": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/lit": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/store": 0.0.0-20230705060316-3f52aee9-nightly + "@blocksuite/blocks": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/editor": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/lit": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/store": 0.0.0-20230705162600-2cb608e4-nightly "@electron-forge/cli": ^6.2.1 "@electron-forge/core": ^6.2.1 "@electron-forge/core-utils": ^6.2.1 @@ -263,7 +263,7 @@ __metadata: version: 0.0.0-use.local resolution: "@affine/env@workspace:packages/env" dependencies: - "@blocksuite/global": 0.0.0-20230705060316-3f52aee9-nightly + "@blocksuite/global": 0.0.0-20230705162600-2cb608e4-nightly lit: ^2.7.5 next: =13.4.2 react: 18.3.0-canary-1fdacbefd-20230630 @@ -287,7 +287,7 @@ __metadata: "@types/lodash-es": ^4.17.7 graphql: ^16.7.1 lodash-es: ^4.17.21 - prettier: ^2.8.8 + prettier: ^3.0.0 languageName: unknown linkType: soft @@ -298,7 +298,7 @@ __metadata: "@types/node": ^18.16.19 "@types/prettier": ^2.7.3 i18next: ^23.2.6 - prettier: ^2.8.8 + prettier: ^3.0.0 react-i18next: ^13.0.1 ts-node: ^10.9.1 typescript: ^5.1.6 @@ -309,11 +309,11 @@ __metadata: version: 0.0.0-use.local resolution: "@affine/jotai@workspace:packages/jotai" dependencies: - "@blocksuite/blocks": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/editor": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/global": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/lit": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/store": 0.0.0-20230705060316-3f52aee9-nightly + "@blocksuite/blocks": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/editor": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/global": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/lit": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/store": 0.0.0-20230705162600-2cb608e4-nightly jotai: ^2.2.1 lottie-web: ^5.12.2 peerDependencies: @@ -372,7 +372,7 @@ __metadata: nx: 16.4.3 nx-cloud: latest nyc: ^15.1.0 - prettier: ^2.8.8 + prettier: ^3.0.0 serve: ^14.2.0 ts-node: ^10.9.1 typescript: ^5.1.6 @@ -464,13 +464,13 @@ __metadata: dependencies: "@affine/component": "workspace:*" "@affine/i18n": "workspace:*" - "@blocksuite/block-std": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/blocks": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/editor": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/global": 0.0.0-20230705060316-3f52aee9-nightly + "@blocksuite/block-std": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/blocks": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/editor": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/global": 0.0.0-20230705162600-2cb608e4-nightly "@blocksuite/icons": ^2.1.24 - "@blocksuite/lit": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/store": 0.0.0-20230705060316-3f52aee9-nightly + "@blocksuite/lit": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/store": 0.0.0-20230705162600-2cb608e4-nightly "@storybook/addon-actions": ^7.0.24 "@storybook/addon-essentials": ^7.0.24 "@storybook/addon-interactions": ^7.0.24 @@ -522,13 +522,13 @@ __metadata: "@affine/jotai": "workspace:*" "@affine/templates": "workspace:*" "@affine/workspace": "workspace:*" - "@blocksuite/block-std": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/blocks": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/editor": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/global": 0.0.0-20230705060316-3f52aee9-nightly + "@blocksuite/block-std": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/blocks": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/editor": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/global": 0.0.0-20230705162600-2cb608e4-nightly "@blocksuite/icons": ^2.1.24 - "@blocksuite/lit": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/store": 0.0.0-20230705060316-3f52aee9-nightly + "@blocksuite/lit": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/store": 0.0.0-20230705162600-2cb608e4-nightly "@dnd-kit/core": ^6.0.8 "@dnd-kit/sortable": ^7.0.2 "@emotion/cache": ^11.11.0 @@ -3535,24 +3535,24 @@ __metadata: languageName: node linkType: hard -"@blocksuite/block-std@npm:0.0.0-20230705060316-3f52aee9-nightly": - version: 0.0.0-20230705060316-3f52aee9-nightly - resolution: "@blocksuite/block-std@npm:0.0.0-20230705060316-3f52aee9-nightly" +"@blocksuite/block-std@npm:0.0.0-20230705162600-2cb608e4-nightly": + version: 0.0.0-20230705162600-2cb608e4-nightly + resolution: "@blocksuite/block-std@npm:0.0.0-20230705162600-2cb608e4-nightly" dependencies: - "@blocksuite/global": 0.0.0-20230705060316-3f52aee9-nightly + "@blocksuite/global": 0.0.0-20230705162600-2cb608e4-nightly peerDependencies: - "@blocksuite/store": 0.0.0-20230705060316-3f52aee9-nightly - checksum: be17874e75a2f5ad79bf1dc3db1d78d733ee02f678e62b69595f26ba0fb67614d7c5fd5caa95d1a8a75d7b98f072a069e1ba4483661b32a6c3cc80141f76487e + "@blocksuite/store": 0.0.0-20230705162600-2cb608e4-nightly + checksum: 1d8bd45acaf09de0b0b9fbfdcfbca7d96fd0a200949bdbddf955dbde58ee6f354d0218d7ea9e917a94ad765f8dacbd20032d65e29414d76fe8a57ff16568eeeb languageName: node linkType: hard -"@blocksuite/blocks@npm:0.0.0-20230705060316-3f52aee9-nightly": - version: 0.0.0-20230705060316-3f52aee9-nightly - resolution: "@blocksuite/blocks@npm:0.0.0-20230705060316-3f52aee9-nightly" +"@blocksuite/blocks@npm:0.0.0-20230705162600-2cb608e4-nightly": + version: 0.0.0-20230705162600-2cb608e4-nightly + resolution: "@blocksuite/blocks@npm:0.0.0-20230705162600-2cb608e4-nightly" dependencies: - "@blocksuite/global": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/phasor": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/virgo": 0.0.0-20230705060316-3f52aee9-nightly + "@blocksuite/global": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/phasor": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/virgo": 0.0.0-20230705162600-2cb608e4-nightly "@floating-ui/dom": ^1.2.9 hotkeys-js: ^3.10.1 html2canvas: ^1.4.1 @@ -3564,34 +3564,34 @@ __metadata: turndown: ^7.1.1 zod: ^3.21.4 peerDependencies: - "@blocksuite/block-std": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/lit": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/store": 0.0.0-20230705060316-3f52aee9-nightly + "@blocksuite/block-std": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/lit": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/store": 0.0.0-20230705162600-2cb608e4-nightly yjs: ^13 - checksum: 246648f6a8fabba0383bd80cf4a39d8aee7149b2e8bbc121e2ac8dd8c72a6d31e8414c8857307a7f77fd81e7d35d9517eb1b1486b49dce9c601d9e52aa217428 + checksum: 5fbfa108ac37a39587cf4095fda55ae74052adab08ac033fa09c6d01535fd179d17bc1912bbe2efba99629dad8d9eaa0dbae7d0d0f2539580ff5c54eae360d9f languageName: node linkType: hard -"@blocksuite/editor@npm:0.0.0-20230705060316-3f52aee9-nightly": - version: 0.0.0-20230705060316-3f52aee9-nightly - resolution: "@blocksuite/editor@npm:0.0.0-20230705060316-3f52aee9-nightly" +"@blocksuite/editor@npm:0.0.0-20230705162600-2cb608e4-nightly": + version: 0.0.0-20230705162600-2cb608e4-nightly + resolution: "@blocksuite/editor@npm:0.0.0-20230705162600-2cb608e4-nightly" dependencies: - "@blocksuite/global": 0.0.0-20230705060316-3f52aee9-nightly + "@blocksuite/global": 0.0.0-20230705162600-2cb608e4-nightly "@toeverything/theme": 0.7.1 lit: ^2.7.3 marked: ^4.2.12 turndown: ^7.1.1 peerDependencies: - "@blocksuite/blocks": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/lit": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/store": 0.0.0-20230705060316-3f52aee9-nightly - checksum: e53109b6dd1aa0525a78fece1c038f6adc77c5f58d1cf1f19d29730e90d2382e98d54287338c149faa329e0b0c0263802bd79b2cdc186f0f7c26a984cf5fb7de + "@blocksuite/blocks": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/lit": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/store": 0.0.0-20230705162600-2cb608e4-nightly + checksum: 107887a6abd144a062f1f6abf68164bf63e4aac659a117da5b70702f1cfc8b88228923faaf1bc2d8effde9ddb8e59cd53ed335ea6b6624463212787816514d02 languageName: node linkType: hard -"@blocksuite/global@npm:0.0.0-20230705060316-3f52aee9-nightly": - version: 0.0.0-20230705060316-3f52aee9-nightly - resolution: "@blocksuite/global@npm:0.0.0-20230705060316-3f52aee9-nightly" +"@blocksuite/global@npm:0.0.0-20230705162600-2cb608e4-nightly": + version: 0.0.0-20230705162600-2cb608e4-nightly + resolution: "@blocksuite/global@npm:0.0.0-20230705162600-2cb608e4-nightly" dependencies: ansi-colors: ^4.1.3 zod: ^3.21.4 @@ -3600,7 +3600,7 @@ __metadata: peerDependenciesMeta: lit: optional: true - checksum: 3fd7d1549359a7a6e917cc134134c62af54537da2a6fbde47e2dc02998521879a4fcda3c74ecdb86ec7a2e3a3825722f6d2d5938546ffe96e71b98c1ece448a2 + checksum: 0b722e28138223389a435dbdaec60204c8c259010807ff429099f2d55646a717cf64a876215776de77f77772101666c0fa233b8a2fb637a46167b6e9af016ad3 languageName: node linkType: hard @@ -3614,38 +3614,38 @@ __metadata: languageName: node linkType: hard -"@blocksuite/lit@npm:0.0.0-20230705060316-3f52aee9-nightly": - version: 0.0.0-20230705060316-3f52aee9-nightly - resolution: "@blocksuite/lit@npm:0.0.0-20230705060316-3f52aee9-nightly" +"@blocksuite/lit@npm:0.0.0-20230705162600-2cb608e4-nightly": + version: 0.0.0-20230705162600-2cb608e4-nightly + resolution: "@blocksuite/lit@npm:0.0.0-20230705162600-2cb608e4-nightly" dependencies: - "@blocksuite/global": 0.0.0-20230705060316-3f52aee9-nightly + "@blocksuite/global": 0.0.0-20230705162600-2cb608e4-nightly lit: ^2.7.3 peerDependencies: - "@blocksuite/block-std": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/store": 0.0.0-20230705060316-3f52aee9-nightly - checksum: 33ec12beff7c526fa62bb7b2641fe3d263b47a7baaf81d8c9aaab4557dbdd9c0bbf8e3e07a069aa739c8c241b37ce292f07ba1fab8ec69b52354fcb141e4aa1c + "@blocksuite/block-std": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/store": 0.0.0-20230705162600-2cb608e4-nightly + checksum: 16d4b4e662750cbe26eb95ace29617c59106edc9ff1d15d03410c7cd455e7979cae9e2ba23cc213b6679249831e16b9e529a1595ab866edad0b0b3fa4597ae1b languageName: node linkType: hard -"@blocksuite/phasor@npm:0.0.0-20230705060316-3f52aee9-nightly": - version: 0.0.0-20230705060316-3f52aee9-nightly - resolution: "@blocksuite/phasor@npm:0.0.0-20230705060316-3f52aee9-nightly" +"@blocksuite/phasor@npm:0.0.0-20230705162600-2cb608e4-nightly": + version: 0.0.0-20230705162600-2cb608e4-nightly + resolution: "@blocksuite/phasor@npm:0.0.0-20230705162600-2cb608e4-nightly" dependencies: - "@blocksuite/global": 0.0.0-20230705060316-3f52aee9-nightly + "@blocksuite/global": 0.0.0-20230705162600-2cb608e4-nightly fractional-indexing: ^3.2.0 peerDependencies: nanoid: ^4 yjs: ^13 - checksum: 00b08df56c33eae3d27c9a60a77b35214f8ecc3aa1344f56df2bd39619b4ad892a6212bce0452e9c15cd8dc1699d11bfb67548cf3f39bee91dd65152e7fa90d6 + checksum: f549a56873bb124cfae9fc58fb2683c2a84303ff3c1ae645f723d6d09fccbef6dc47ed3764b43b4b2cbaea5c73cc6728ad9fe359aece55880bc169a953936af4 languageName: node linkType: hard -"@blocksuite/store@npm:0.0.0-20230705060316-3f52aee9-nightly": - version: 0.0.0-20230705060316-3f52aee9-nightly - resolution: "@blocksuite/store@npm:0.0.0-20230705060316-3f52aee9-nightly" +"@blocksuite/store@npm:0.0.0-20230705162600-2cb608e4-nightly": + version: 0.0.0-20230705162600-2cb608e4-nightly + resolution: "@blocksuite/store@npm:0.0.0-20230705162600-2cb608e4-nightly" dependencies: - "@blocksuite/global": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/virgo": 0.0.0-20230705060316-3f52aee9-nightly + "@blocksuite/global": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/virgo": 0.0.0-20230705162600-2cb608e4-nightly "@types/flexsearch": ^0.7.3 buffer: ^6.0.3 flexsearch: 0.7.21 @@ -3660,20 +3660,20 @@ __metadata: peerDependencies: async-call-rpc: ^6 yjs: ^13 - checksum: b4119af7056661cd373ac49e345754f5501d571018e899c000faceb16374e7ea75e071bf7b25890326231fd27f26bfced5249cb20b92a24947df70c8a25a5b59 + checksum: dc55814fbe5194bf411e9b45dfdc3596bebecc1386d58687a0837c21c50c70656cdcaff1340f6e474504e035b8591f1d7cdf5a461fbc2de526ac91ca0d5d31ce languageName: node linkType: hard -"@blocksuite/virgo@npm:0.0.0-20230705060316-3f52aee9-nightly": - version: 0.0.0-20230705060316-3f52aee9-nightly - resolution: "@blocksuite/virgo@npm:0.0.0-20230705060316-3f52aee9-nightly" +"@blocksuite/virgo@npm:0.0.0-20230705162600-2cb608e4-nightly": + version: 0.0.0-20230705162600-2cb608e4-nightly + resolution: "@blocksuite/virgo@npm:0.0.0-20230705162600-2cb608e4-nightly" dependencies: - "@blocksuite/global": 0.0.0-20230705060316-3f52aee9-nightly + "@blocksuite/global": 0.0.0-20230705162600-2cb608e4-nightly zod: ^3.21.4 peerDependencies: lit: ^2.7 yjs: ^13 - checksum: 9247114b54239e387a6783e8c5958840e5503365a06a82f7055f9d2038959b876b39804eef678bd4b0ed9bc3b3d46af193465b75e7ee52a4883817b4a2a4dcf1 + checksum: 7c8d5a96efea4e26dc36f4601d42ae7b928c84350450773535270f24370c3470c69e763836309c8cb6cb3e8817c6148ba2b318ed7de6e38b72f7eae035932657 languageName: node linkType: hard @@ -11254,11 +11254,11 @@ __metadata: version: 0.0.0-use.local resolution: "@toeverything/plugin-infra@workspace:packages/plugin-infra" dependencies: - "@blocksuite/blocks": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/editor": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/global": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/lit": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/store": 0.0.0-20230705060316-3f52aee9-nightly + "@blocksuite/blocks": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/editor": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/global": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/lit": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/store": 0.0.0-20230705162600-2cb608e4-nightly jotai: ^2.2.1 vite: ^4.3.9 vite-plugin-dts: 3.0.2 @@ -11292,8 +11292,8 @@ __metadata: version: 0.0.0-use.local resolution: "@toeverything/y-indexeddb@workspace:packages/y-indexeddb" dependencies: - "@blocksuite/blocks": 0.0.0-20230705060316-3f52aee9-nightly - "@blocksuite/store": 0.0.0-20230705060316-3f52aee9-nightly + "@blocksuite/blocks": 0.0.0-20230705162600-2cb608e4-nightly + "@blocksuite/store": 0.0.0-20230705162600-2cb608e4-nightly idb: ^7.1.1 vite: ^4.3.9 vite-plugin-dts: 3.0.2 @@ -25926,7 +25926,7 @@ __metadata: languageName: node linkType: hard -"prettier@npm:^2.8.0, prettier@npm:^2.8.8": +"prettier@npm:^2.8.0": version: 2.8.8 resolution: "prettier@npm:2.8.8" bin: @@ -25935,6 +25935,15 @@ __metadata: languageName: node linkType: hard +"prettier@npm:^3.0.0": + version: 3.0.0 + resolution: "prettier@npm:3.0.0" + bin: + prettier: bin/prettier.cjs + checksum: 6a832876a1552dc58330d2467874e5a0b46b9ccbfc5d3531eb69d15684743e7f83dc9fbd202db6270446deba9c82b79d24383d09924c462b457136a759425e33 + languageName: node + linkType: hard + "pretty-format@npm:^27.0.2, pretty-format@npm:^27.5.1": version: 27.5.1 resolution: "pretty-format@npm:27.5.1"