From 4ef21d2a84a500ad1bb8fa71f3901de9b062f96c Mon Sep 17 00:00:00 2001 From: CocooDanielle Date: Tue, 11 Feb 2025 18:23:33 +0800 Subject: [PATCH] chore(bridge-react): adjust bridge-react to structure directory (#3509) --- .changeset/thirty-llamas-live.md | 5 +++++ packages/bridge/bridge-react/__tests__/router.spec.tsx | 4 ++-- packages/bridge/bridge-react/src/index.ts | 4 ++-- packages/bridge/bridge-react/src/{ => provider}/compat.ts | 0 .../bridge/bridge-react/src/{ => provider}/context.tsx | 0 .../src/{provider.tsx => provider/create.tsx} | 2 +- packages/bridge/bridge-react/src/{ => provider}/plugin.ts | 6 ++++-- .../bridge-react/src/remote/{index.tsx => component.tsx} | 2 +- packages/bridge/bridge-react/src/{ => remote}/create.tsx | 4 ++-- .../bridge-react/src/{router.tsx => router/default.tsx} | 4 ++-- .../bridge-react/src/{router-v5.tsx => router/v5.tsx} | 4 ++-- .../bridge-react/src/{router-v6.tsx => router/v6.tsx} | 5 ++--- .../bridge/bridge-react/src/{utils.ts => utils/index.ts} | 0 packages/bridge/bridge-react/vite.config.ts | 8 ++++---- 14 files changed, 27 insertions(+), 21 deletions(-) create mode 100644 .changeset/thirty-llamas-live.md rename packages/bridge/bridge-react/src/{ => provider}/compat.ts (100%) rename packages/bridge/bridge-react/src/{ => provider}/context.tsx (100%) rename packages/bridge/bridge-react/src/{provider.tsx => provider/create.tsx} (98%) rename packages/bridge/bridge-react/src/{ => provider}/plugin.ts (73%) rename packages/bridge/bridge-react/src/remote/{index.tsx => component.tsx} (99%) rename packages/bridge/bridge-react/src/{ => remote}/create.tsx (97%) rename packages/bridge/bridge-react/src/{router.tsx => router/default.tsx} (95%) rename packages/bridge/bridge-react/src/{router-v5.tsx => router/v5.tsx} (92%) rename packages/bridge/bridge-react/src/{router-v6.tsx => router/v6.tsx} (96%) rename packages/bridge/bridge-react/src/{utils.ts => utils/index.ts} (100%) diff --git a/.changeset/thirty-llamas-live.md b/.changeset/thirty-llamas-live.md new file mode 100644 index 00000000000..366cbd267e0 --- /dev/null +++ b/.changeset/thirty-llamas-live.md @@ -0,0 +1,5 @@ +--- +'@module-federation/bridge-react': patch +--- + +chore: adjust bridge-react to structure directory diff --git a/packages/bridge/bridge-react/__tests__/router.spec.tsx b/packages/bridge/bridge-react/__tests__/router.spec.tsx index be9841a7ee5..1ebead47446 100644 --- a/packages/bridge/bridge-react/__tests__/router.spec.tsx +++ b/packages/bridge/bridge-react/__tests__/router.spec.tsx @@ -8,8 +8,8 @@ import { Outlet, createBrowserRouter, } from 'react-router-dom'; -import { BrowserRouter, RouterProvider } from '../src/router'; -import { RouterContext } from '../src/context'; +import { BrowserRouter, RouterProvider } from '../src/router/default'; +import { RouterContext } from '../src/provider/context'; import { getHtml, getWindowImpl } from './util'; describe('react router proxy', () => { diff --git a/packages/bridge/bridge-react/src/index.ts b/packages/bridge/bridge-react/src/index.ts index acf6f613788..146de283507 100644 --- a/packages/bridge/bridge-react/src/index.ts +++ b/packages/bridge/bridge-react/src/index.ts @@ -1,5 +1,5 @@ -export { createRemoteComponent } from './create'; -export { createBridgeComponent } from './provider'; +export { createRemoteComponent } from './remote/create'; +export { createBridgeComponent } from './provider/create'; export type { ProviderParams, RenderFnParams, diff --git a/packages/bridge/bridge-react/src/compat.ts b/packages/bridge/bridge-react/src/provider/compat.ts similarity index 100% rename from packages/bridge/bridge-react/src/compat.ts rename to packages/bridge/bridge-react/src/provider/compat.ts diff --git a/packages/bridge/bridge-react/src/context.tsx b/packages/bridge/bridge-react/src/provider/context.tsx similarity index 100% rename from packages/bridge/bridge-react/src/context.tsx rename to packages/bridge/bridge-react/src/provider/context.tsx diff --git a/packages/bridge/bridge-react/src/provider.tsx b/packages/bridge/bridge-react/src/provider/create.tsx similarity index 98% rename from packages/bridge/bridge-react/src/provider.tsx rename to packages/bridge/bridge-react/src/provider/create.tsx index 052fe7c0627..201af1cb4e8 100644 --- a/packages/bridge/bridge-react/src/provider.tsx +++ b/packages/bridge/bridge-react/src/provider/create.tsx @@ -6,7 +6,7 @@ import type { } from '@module-federation/bridge-shared'; import { ErrorBoundary } from 'react-error-boundary'; import { RouterContext } from './context'; -import { LoggerInstance } from './utils'; +import { LoggerInstance } from '../utils'; import { federationRuntime } from './plugin'; import { createRoot } from './compat'; diff --git a/packages/bridge/bridge-react/src/plugin.ts b/packages/bridge/bridge-react/src/provider/plugin.ts similarity index 73% rename from packages/bridge/bridge-react/src/plugin.ts rename to packages/bridge/bridge-react/src/provider/plugin.ts index c02e83f0f14..b754c917f0d 100644 --- a/packages/bridge/bridge-react/src/plugin.ts +++ b/packages/bridge/bridge-react/src/provider/plugin.ts @@ -1,5 +1,7 @@ -import type { FederationRuntimePlugin } from '@module-federation/runtime'; -import type { FederationHost } from '@module-federation/runtime'; +import type { + FederationRuntimePlugin, + FederationHost, +} from '@module-federation/runtime'; export type FederationRuntimeType = { instance: FederationHost | null; diff --git a/packages/bridge/bridge-react/src/remote/index.tsx b/packages/bridge/bridge-react/src/remote/component.tsx similarity index 99% rename from packages/bridge/bridge-react/src/remote/index.tsx rename to packages/bridge/bridge-react/src/remote/component.tsx index 7ab4da23aa3..19c49e4424a 100644 --- a/packages/bridge/bridge-react/src/remote/index.tsx +++ b/packages/bridge/bridge-react/src/remote/component.tsx @@ -10,7 +10,7 @@ import type { ProviderParams } from '@module-federation/bridge-shared'; import { dispatchPopstateEnv } from '@module-federation/bridge-shared'; import { ErrorBoundaryPropsWithComponent } from 'react-error-boundary'; import { LoggerInstance, pathJoin, getRootDomDefaultClassName } from '../utils'; -import { federationRuntime } from '../plugin'; +import { federationRuntime } from '../provider/plugin'; declare const __APP_VERSION__: string; export interface RenderFnParams extends ProviderParams { diff --git a/packages/bridge/bridge-react/src/create.tsx b/packages/bridge/bridge-react/src/remote/create.tsx similarity index 97% rename from packages/bridge/bridge-react/src/create.tsx rename to packages/bridge/bridge-react/src/remote/create.tsx index b107b740917..e90ef1eb76e 100644 --- a/packages/bridge/bridge-react/src/create.tsx +++ b/packages/bridge/bridge-react/src/remote/create.tsx @@ -3,8 +3,8 @@ import { ErrorBoundary, ErrorBoundaryPropsWithComponent, } from 'react-error-boundary'; -import { LoggerInstance } from './utils'; -import RemoteApp from './remote'; +import { LoggerInstance } from '../utils'; +import RemoteApp from './component'; import type { ProviderParams } from '@module-federation/bridge-shared'; export interface RenderFnParams extends ProviderParams { diff --git a/packages/bridge/bridge-react/src/router.tsx b/packages/bridge/bridge-react/src/router/default.tsx similarity index 95% rename from packages/bridge/bridge-react/src/router.tsx rename to packages/bridge/bridge-react/src/router/default.tsx index 9816d0e69de..c986f7da74a 100644 --- a/packages/bridge/bridge-react/src/router.tsx +++ b/packages/bridge/bridge-react/src/router/default.tsx @@ -1,8 +1,8 @@ import React, { useContext } from 'react'; // The upper alias react-router-dom$ into this file avoids the loop import * as ReactRouterDom from 'react-router-dom/'; -import { RouterContext } from './context'; -import { LoggerInstance } from './utils'; +import { RouterContext } from '../provider/context'; +import { LoggerInstance } from '../utils'; function WrapperRouter( props: diff --git a/packages/bridge/bridge-react/src/router-v5.tsx b/packages/bridge/bridge-react/src/router/v5.tsx similarity index 92% rename from packages/bridge/bridge-react/src/router-v5.tsx rename to packages/bridge/bridge-react/src/router/v5.tsx index 0fc3bde9ac9..12f51f7265e 100644 --- a/packages/bridge/bridge-react/src/router-v5.tsx +++ b/packages/bridge/bridge-react/src/router/v5.tsx @@ -2,8 +2,8 @@ import React, { useContext } from 'react'; // The upper alias react-router-dom$ into this file avoids the loop // @ts-ignore import * as ReactRouterDom from 'react-router-dom/index.js'; -import { RouterContext } from './context'; -import { LoggerInstance } from './utils'; +import { RouterContext } from '../provider/context'; +import { LoggerInstance } from '../utils'; function WraperRouter( props: diff --git a/packages/bridge/bridge-react/src/router-v6.tsx b/packages/bridge/bridge-react/src/router/v6.tsx similarity index 96% rename from packages/bridge/bridge-react/src/router-v6.tsx rename to packages/bridge/bridge-react/src/router/v6.tsx index 619fd1a5c47..c0b2025a5a3 100644 --- a/packages/bridge/bridge-react/src/router-v6.tsx +++ b/packages/bridge/bridge-react/src/router/v6.tsx @@ -1,9 +1,8 @@ import React, { useContext } from 'react'; // The upper alias react-router-dom$ into this file avoids the loop import * as ReactRouterDom from 'react-router-dom/dist/index.js'; - -import { RouterContext } from './context'; -import { LoggerInstance } from './utils'; +import { RouterContext } from '../provider/context'; +import { LoggerInstance } from '../utils'; function WraperRouter( props: diff --git a/packages/bridge/bridge-react/src/utils.ts b/packages/bridge/bridge-react/src/utils/index.ts similarity index 100% rename from packages/bridge/bridge-react/src/utils.ts rename to packages/bridge/bridge-react/src/utils/index.ts diff --git a/packages/bridge/bridge-react/vite.config.ts b/packages/bridge/bridge-react/vite.config.ts index e31a03ddb9b..c2d90995c04 100644 --- a/packages/bridge/bridge-react/vite.config.ts +++ b/packages/bridge/bridge-react/vite.config.ts @@ -21,10 +21,10 @@ export default defineConfig({ lib: { entry: { index: path.resolve(__dirname, 'src/index.ts'), - plugin: path.resolve(__dirname, 'src/plugin.ts'), - router: path.resolve(__dirname, 'src/router.tsx'), - 'router-v5': path.resolve(__dirname, 'src/router-v5.tsx'), - 'router-v6': path.resolve(__dirname, 'src/router-v6.tsx'), + plugin: path.resolve(__dirname, 'src/provider/plugin.ts'), + router: path.resolve(__dirname, 'src/router/default.tsx'), + 'router-v5': path.resolve(__dirname, 'src/router/v5.tsx'), + 'router-v6': path.resolve(__dirname, 'src/router/v6.tsx'), }, formats: ['cjs', 'es'], fileName: (format, entryName) => `${entryName}.${format}.js`,