diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 682e5169de..e38316dfa7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -235,28 +235,6 @@ jobs: name: affine fail_ci_if_error: false - storybook-test: - name: Storybook Test - runs-on: ubuntu-latest - environment: development - needs: [build-storybook] - steps: - - uses: actions/checkout@v3 - - name: Setup Node.js - uses: ./.github/actions/setup-node - with: - playwright-install: true - electron-install: false - - name: Download storybook artifact - uses: actions/download-artifact@v3 - with: - name: storybook - path: ./apps/storybook/storybook-static - - name: Run storybook tests - working-directory: ./apps/storybook - run: | - yarn exec concurrently -k -s first -n "SB,TEST" -c "magenta,blue" "yarn exec serve ./storybook-static -l 6006" "yarn exec wait-on tcp:6006 && yarn test" - e2e-plugin-test: name: E2E Plugin Test runs-on: ubuntu-latest diff --git a/.github/workflows/publish-storybook.yml b/.github/workflows/publish-storybook.yml index ff42f8b3b4..9dd107fed3 100644 --- a/.github/workflows/publish-storybook.yml +++ b/.github/workflows/publish-storybook.yml @@ -26,6 +26,8 @@ jobs: uses: ./.github/actions/setup-node with: electron-install: false + - name: Build Plugins + run: yarn run build:plugins - name: Publish to Chromatic uses: chromaui/action@v1 with: diff --git a/apps/core/package.json b/apps/core/package.json index 5a51f2da13..7f12982369 100644 --- a/apps/core/package.json +++ b/apps/core/package.json @@ -11,7 +11,8 @@ "exports": { "./app": "./src/app.tsx", "./router": "./src/router.ts", - "./bootstrap/setup": "./src/bootstrap/setup.ts" + "./bootstrap/setup": "./src/bootstrap/setup.ts", + "./bootstrap/register-plugins": "./src/bootstrap/register-plugins.ts" }, "dependencies": { "@affine-test/fixtures": "workspace:*", diff --git a/apps/storybook/.storybook/preview.tsx b/apps/storybook/.storybook/preview.tsx index 89525d8bee..783454fc06 100644 --- a/apps/storybook/.storybook/preview.tsx +++ b/apps/storybook/.storybook/preview.tsx @@ -1,3 +1,4 @@ +import 'ses'; import '@affine/component/theme/global.css'; import '@affine/component/theme/theme.css'; import '@toeverything/components/style.css'; diff --git a/apps/storybook/package.json b/apps/storybook/package.json index 93a35c7706..a49f0f2a2e 100644 --- a/apps/storybook/package.json +++ b/apps/storybook/package.json @@ -25,6 +25,7 @@ "concurrently": "^8.2.0", "jest-mock": "^29.6.2", "serve": "^14.2.0", + "ses": "^0.18.7", "storybook": "^7.2.3", "storybook-dark-mode": "^3.0.1", "wait-on": "^7.0.1" diff --git a/apps/storybook/src/stories/core.stories.tsx b/apps/storybook/src/stories/core.stories.tsx index 22c0932065..76bb513537 100644 --- a/apps/storybook/src/stories/core.stories.tsx +++ b/apps/storybook/src/stories/core.stories.tsx @@ -1,7 +1,9 @@ +import { pluginRegisterPromise } from '@affine/core/bootstrap/register-plugins'; import { routes } from '@affine/core/router'; import { assertExists } from '@blocksuite/global/utils'; import type { StoryContext, StoryFn } from '@storybook/react'; import { userEvent, waitFor } from '@storybook/testing-library'; +import { use } from 'foxact/use'; import { Outlet, useLocation } from 'react-router-dom'; import { reactRouterOutlets, @@ -25,6 +27,7 @@ export default { }; export const Index: StoryFn = () => { + use(pluginRegisterPromise); return ; }; Index.decorators = [withRouter, withCleanLocalStorage]; diff --git a/yarn.lock b/yarn.lock index b6ab312819..ca08b03767 100644 --- a/yarn.lock +++ b/yarn.lock @@ -723,6 +723,7 @@ __metadata: react: 18.2.0 react-dom: 18.2.0 serve: ^14.2.0 + ses: ^0.18.7 storybook: ^7.2.3 storybook-addon-react-router-v6: ^2.0.4 storybook-dark-mode: ^3.0.1