Skip to content

Commit ca2ffc3

Browse files
refactor: 移除 ExampleDriverContext 对 responsive-utils 依赖
响应式由 example-driver LiveCode 注入;MF shared 补充 responsive-utils singleton。 Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 0ea6f7c commit ca2ffc3

5 files changed

Lines changed: 12 additions & 25 deletions

File tree

doc/api.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,15 +99,14 @@ const Entry = createEntry(children);
9999
| 属性名 | 说明 | 类型 | 默认值 |
100100
|-----|----|----|-----|
101101
| data | 组件数据 | object | - |
102-
| enableResponsiveProvider | 是否在 contextComponent 外包一层 `@kne/responsive-utils``ResponsiveProvider` | boolean | `false``@kne/example-driver` ≥0.1.24 已在 LiveCode 内注入,默认无需开启) |
103102

104103
```js
105104
import {ExampleDriverContext} from '@kne/modules-dev/dist/index';
106105
```
107106

108107
### ExampleDriverContext
109108

110-
示例 `contextComponent` 包装器(`GlobalProvider` + `MemoryRouter`)。可通过 `enableResponsiveProvider` 可选叠加 `ResponsiveProvider`
109+
示例 `contextComponent` 包装器(`GlobalProvider` + `MemoryRouter`)。响应式上下文由 `@kne/example-driver` LiveCode 内注入,无需在此层再包 `ResponsiveProvider`
111110

112111
```js
113112
import {FontList} from '@kne/modules-dev/dist/index';

lib/modulefederation.config.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ module.exports = {
5252
singleton: true, requiredVersion: false
5353
}, '@kne/global-preset': {
5454
singleton: true, requiredVersion: false
55+
}, '@kne/responsive-utils': {
56+
singleton: true, requiredVersion: false
5557
}
5658
}
5759
};

package.json

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@kne/modules-dev",
3-
"version": "2.4.1",
3+
"version": "2.4.3",
44
"description": "用于辅助在项目内启动一个规范化组件开发的环境",
55
"publishConfig": {
66
"access": "public",
@@ -25,7 +25,7 @@
2525
"scripts": {
2626
"build:md": "create-md",
2727
"start:md": "create-md --watch",
28-
"build:lib": "microbundle --no-compress --format modern,cjs --jsxImportSource react --jsx React.createElement --jsxFragment React.Fragment --external react,react-dom,react-router-dom,@kne/remote-loader,@kne/example-driver,@kne/apply-template,@kne/camel-case,@kne/craco-module-federation,@kne/ensure-slash,@kne/fetch-npm-package,@kne/md-doc,@kne/react-fetch,@kne/react-icon,ajv,chokidar,classnames,commander,cross-spawn-promise,fs-extra,highlight.js,inquirer,lodash,sass,webpack-virtual-modules,antd,loader-utils,@kne/craco,@kne/react-scripts",
28+
"build:lib": "microbundle --no-compress --format modern,cjs --jsxImportSource react --jsx React.createElement --jsxFragment React.Fragment",
2929
"example": "node lib/init-libs-example.js",
3030
"test": "mocha test/**/*.test.js"
3131
},
@@ -41,12 +41,11 @@
4141
"@kne/camel-case": "^0.1.1",
4242
"@kne/craco-module-federation": "^1.1.9",
4343
"@kne/ensure-slash": "^0.1.0",
44-
"@kne/example-driver": "^0.1.26",
44+
"@kne/example-driver": "^0.1.28",
4545
"@kne/fetch-npm-package": "^0.1.4",
4646
"@kne/md-doc": "^0.1.23",
4747
"@kne/react-fetch": "^1.4.3",
4848
"@kne/react-icon": "^0.1.4",
49-
"@kne/responsive-utils": "^0.1.3",
5049
"ajv": "^8.18.0",
5150
"chokidar": "^3.5.3",
5251
"classnames": "^2.3.2",

src/ExampleDriverContext.js

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,17 @@
11
import React from 'react';
22
import {MemoryRouter} from 'react-router-dom';
3-
import {ResponsiveProvider} from '@kne/responsive-utils';
43
import {createWithRemoteLoader} from '@kne/remote-loader';
54

6-
/**
7-
* ExampleDriver contextComponent wrapper (GlobalProvider + router).
8-
* `enableResponsiveProvider` defaults to false — @kne/example-driver LiveCode
9-
* injects ResponsiveProvider with device-preview container mode since 0.1.24+.
10-
*/
5+
/** ExampleDriver contextComponent wrapper (GlobalProvider + router). ResponsiveProvider is injected by @kne/example-driver LiveCode. */
116
const ExampleDriverContext = createWithRemoteLoader({
127
modules: ['components-core:Global@GlobalProvider']
13-
})(({remoteModules, children, enableResponsiveProvider = false, ...props}) => {
8+
})(({remoteModules, children, ...props}) => {
149
const [GlobalProvider] = remoteModules;
15-
const tree = (
10+
return (
1611
<MemoryRouter>
1712
<GlobalProvider {...props}>{children}</GlobalProvider>
1813
</MemoryRouter>
1914
);
20-
if (enableResponsiveProvider) {
21-
return <ResponsiveProvider>{tree}</ResponsiveProvider>;
22-
}
23-
return tree;
2415
});
2516

2617
export default ExampleDriverContext;

src/ExamplePage.js

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,19 @@ import ExampleDriverContext from './ExampleDriverContext';
1111

1212
export const ExampleContent = createWithRemoteLoader({
1313
modules: ["components-core:Global@useGlobalContext", "components-core:Global@usePreset"]
14-
})(({remoteModules, data, enableResponsiveProvider = false}) => {
14+
})(({remoteModules, data}) => {
1515
const [useGlobalContext, usePreset] = remoteModules;
1616
const {global: global} = useGlobalContext();
1717
const preset = usePreset();
1818

1919
const exampleStyle = get(data, 'example.style');
2020
const DriverContext = useMemo(() => {
2121
return ({children}) => (
22-
<ExampleDriverContext
23-
{...global}
24-
preset={preset}
25-
enableResponsiveProvider={enableResponsiveProvider}
26-
>
22+
<ExampleDriverContext {...global} preset={preset}>
2723
{children}
2824
</ExampleDriverContext>
2925
);
30-
}, [global, preset, enableResponsiveProvider]);
26+
}, [global, preset]);
3127
useEffect(() => {
3228
if (!exampleStyle) {
3329
return;

0 commit comments

Comments
 (0)