From 0ea6f7c3ee9fd0bc94a8ca59265b640eebe38608 Mon Sep 17 00:00:00 2001 From: Linzp Date: Wed, 8 Jul 2026 09:07:52 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20=E5=86=85=E8=81=94=20responsive-util?= =?UTF-8?q?s=20=E5=B9=B6=E5=8D=87=E7=BA=A7=20example-driver?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 与 example-driver 同步修复 webpack named export 互操作;移除 responsive-utils peerDep,升级至 2.4.1。 Co-authored-by: Cursor --- package.json | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 5deb8eb..072173e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@kne/modules-dev", - "version": "2.4.0", + "version": "2.4.1", "description": "用于辅助在项目内启动一个规范化组件开发的环境", "publishConfig": { "access": "public", @@ -25,7 +25,7 @@ "scripts": { "build:md": "create-md", "start:md": "create-md --watch", - "build:lib": "microbundle --no-compress --format modern,cjs --jsxImportSource react --jsx React.createElement --jsxFragment React.Fragment", + "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", "example": "node lib/init-libs-example.js", "test": "mocha test/**/*.test.js" }, @@ -41,12 +41,12 @@ "@kne/camel-case": "^0.1.1", "@kne/craco-module-federation": "^1.1.9", "@kne/ensure-slash": "^0.1.0", - "@kne/example-driver": "^0.1.24", + "@kne/example-driver": "^0.1.26", "@kne/fetch-npm-package": "^0.1.4", "@kne/md-doc": "^0.1.23", "@kne/react-fetch": "^1.4.3", "@kne/react-icon": "^0.1.4", - "@kne/responsive-utils": "^0.1.2", + "@kne/responsive-utils": "^0.1.3", "ajv": "^8.18.0", "chokidar": "^3.5.3", "classnames": "^2.3.2", @@ -66,8 +66,7 @@ "antd": ">=5", "loader-utils": "*", "react": ">=18", - "react-router-dom": ">=6.4", - "@kne/responsive-utils": ">=0.1.2" + "react-router-dom": ">=6.4" }, "browserslist": { "production": [ From ca2ffc3b08aac8ef8bf494caa7d8cae39d897420 Mon Sep 17 00:00:00 2001 From: Linzp Date: Wed, 8 Jul 2026 09:23:17 +0800 Subject: [PATCH 2/2] =?UTF-8?q?refactor:=20=E7=A7=BB=E9=99=A4=20ExampleDri?= =?UTF-8?q?verContext=20=E5=AF=B9=20responsive-utils=20=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 响应式由 example-driver LiveCode 注入;MF shared 补充 responsive-utils singleton。 Co-authored-by: Cursor --- doc/api.md | 3 +-- lib/modulefederation.config.js | 2 ++ package.json | 7 +++---- src/ExampleDriverContext.js | 15 +++------------ src/ExamplePage.js | 10 +++------- 5 files changed, 12 insertions(+), 25 deletions(-) diff --git a/doc/api.md b/doc/api.md index 0acfe9f..d070dd1 100644 --- a/doc/api.md +++ b/doc/api.md @@ -99,7 +99,6 @@ const Entry = createEntry(children); | 属性名 | 说明 | 类型 | 默认值 | |-----|----|----|-----| | data | 组件数据 | object | - | -| enableResponsiveProvider | 是否在 contextComponent 外包一层 `@kne/responsive-utils` 的 `ResponsiveProvider` | boolean | `false`(`@kne/example-driver` ≥0.1.24 已在 LiveCode 内注入,默认无需开启) | ```js import {ExampleDriverContext} from '@kne/modules-dev/dist/index'; @@ -107,7 +106,7 @@ import {ExampleDriverContext} from '@kne/modules-dev/dist/index'; ### ExampleDriverContext -示例 `contextComponent` 包装器(`GlobalProvider` + `MemoryRouter`)。可通过 `enableResponsiveProvider` 可选叠加 `ResponsiveProvider`。 +示例 `contextComponent` 包装器(`GlobalProvider` + `MemoryRouter`)。响应式上下文由 `@kne/example-driver` LiveCode 内注入,无需在此层再包 `ResponsiveProvider`。 ```js import {FontList} from '@kne/modules-dev/dist/index'; diff --git a/lib/modulefederation.config.js b/lib/modulefederation.config.js index 3012803..5c808fd 100644 --- a/lib/modulefederation.config.js +++ b/lib/modulefederation.config.js @@ -52,6 +52,8 @@ module.exports = { singleton: true, requiredVersion: false }, '@kne/global-preset': { singleton: true, requiredVersion: false + }, '@kne/responsive-utils': { + singleton: true, requiredVersion: false } } }; diff --git a/package.json b/package.json index 072173e..b992130 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@kne/modules-dev", - "version": "2.4.1", + "version": "2.4.3", "description": "用于辅助在项目内启动一个规范化组件开发的环境", "publishConfig": { "access": "public", @@ -25,7 +25,7 @@ "scripts": { "build:md": "create-md", "start:md": "create-md --watch", - "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", + "build:lib": "microbundle --no-compress --format modern,cjs --jsxImportSource react --jsx React.createElement --jsxFragment React.Fragment", "example": "node lib/init-libs-example.js", "test": "mocha test/**/*.test.js" }, @@ -41,12 +41,11 @@ "@kne/camel-case": "^0.1.1", "@kne/craco-module-federation": "^1.1.9", "@kne/ensure-slash": "^0.1.0", - "@kne/example-driver": "^0.1.26", + "@kne/example-driver": "^0.1.28", "@kne/fetch-npm-package": "^0.1.4", "@kne/md-doc": "^0.1.23", "@kne/react-fetch": "^1.4.3", "@kne/react-icon": "^0.1.4", - "@kne/responsive-utils": "^0.1.3", "ajv": "^8.18.0", "chokidar": "^3.5.3", "classnames": "^2.3.2", diff --git a/src/ExampleDriverContext.js b/src/ExampleDriverContext.js index da10ceb..4fd3952 100644 --- a/src/ExampleDriverContext.js +++ b/src/ExampleDriverContext.js @@ -1,26 +1,17 @@ import React from 'react'; import {MemoryRouter} from 'react-router-dom'; -import {ResponsiveProvider} from '@kne/responsive-utils'; import {createWithRemoteLoader} from '@kne/remote-loader'; -/** - * ExampleDriver contextComponent wrapper (GlobalProvider + router). - * `enableResponsiveProvider` defaults to false — @kne/example-driver LiveCode - * injects ResponsiveProvider with device-preview container mode since 0.1.24+. - */ +/** ExampleDriver contextComponent wrapper (GlobalProvider + router). ResponsiveProvider is injected by @kne/example-driver LiveCode. */ const ExampleDriverContext = createWithRemoteLoader({ modules: ['components-core:Global@GlobalProvider'] -})(({remoteModules, children, enableResponsiveProvider = false, ...props}) => { +})(({remoteModules, children, ...props}) => { const [GlobalProvider] = remoteModules; - const tree = ( + return ( {children} ); - if (enableResponsiveProvider) { - return {tree}; - } - return tree; }); export default ExampleDriverContext; diff --git a/src/ExamplePage.js b/src/ExamplePage.js index 543fc74..cb6e18d 100644 --- a/src/ExamplePage.js +++ b/src/ExamplePage.js @@ -11,7 +11,7 @@ import ExampleDriverContext from './ExampleDriverContext'; export const ExampleContent = createWithRemoteLoader({ modules: ["components-core:Global@useGlobalContext", "components-core:Global@usePreset"] -})(({remoteModules, data, enableResponsiveProvider = false}) => { +})(({remoteModules, data}) => { const [useGlobalContext, usePreset] = remoteModules; const {global: global} = useGlobalContext(); const preset = usePreset(); @@ -19,15 +19,11 @@ export const ExampleContent = createWithRemoteLoader({ const exampleStyle = get(data, 'example.style'); const DriverContext = useMemo(() => { return ({children}) => ( - + {children} ); - }, [global, preset, enableResponsiveProvider]); + }, [global, preset]); useEffect(() => { if (!exampleStyle) { return;