From e7d299bc78f7cd01adcd6b935f80dff316975688 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cazhewang=E2=80=9D?= Date: Sat, 9 May 2026 16:58:49 +0800 Subject: [PATCH 1/4] =?UTF-8?q?feat:=20add=20store=EF=BC=8Cfix=20docs=20bu?= =?UTF-8?q?ild=20error?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- example/ReactNativeProject/package-lock.json | 21 ---------------- example/package-lock.json | 24 +++++++++++++++++++ example/package.json | 4 ++-- example/vue.config.js | 9 ++++++- package.json | 9 +++++++ .../src/components/tab-bar/tab-bar.ts | 4 ++-- pnpm-lock.yaml | 12 ++++++++++ 7 files changed, 57 insertions(+), 26 deletions(-) diff --git a/example/ReactNativeProject/package-lock.json b/example/ReactNativeProject/package-lock.json index a018544d..e8426f63 100644 --- a/example/ReactNativeProject/package-lock.json +++ b/example/ReactNativeProject/package-lock.json @@ -101,7 +101,6 @@ "resolved": "http://artifactory.intra.xiaojukeji.com/artifactory/api/npm/npm/@babel/core/-/core-7.28.4.tgz?dl=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fcore%2F-%2Fcore-7.28.4.tgz", "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==", "license": "MIT", - "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", @@ -133,7 +132,6 @@ "integrity": "sha512-Aa+yDiH87980jR6zvRfFuCR1+dLb00vBydhTL+zI992Rz/wQhSvuxjmOOuJOgO3XmakO6RykRGD2S1mq1AtgHA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", "eslint-visitor-keys": "^2.1.0", @@ -1965,7 +1963,6 @@ "resolved": "http://artifactory.intra.xiaojukeji.com/artifactory/api/npm/npm/@babel/preset-env/-/preset-env-7.28.3.tgz?dl=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fpreset-env%2F-%2Fpreset-env-7.28.3.tgz", "integrity": "sha512-ROiDcM+GbYVPYBOeCR6uBXKkQpBExLl8k9HO1ygXEyds39j+vCCsjmj7S8GOniZQlEs81QlkdJZe76IpLSiqpg==", "license": "MIT", - "peer": true, "dependencies": { "@babel/compat-data": "^7.28.0", "@babel/helper-compilation-targets": "^7.27.2", @@ -4416,7 +4413,6 @@ "integrity": "sha512-xIGPytx2bj5HxFk0c7S25AVuJowHmEFg5LFC9XosKc0TSOjP1r6zGC6OqC/arQV/pNuqmZN2IFnpgJn0Bn+hhQ==", "devOptional": true, "license": "MIT", - "peer": true, "dependencies": { "@react-native-community/cli-clean": "15.0.1", "@react-native-community/cli-config": "15.0.1", @@ -4658,7 +4654,6 @@ "resolved": "http://artifactory.intra.xiaojukeji.com/artifactory/api/npm/npm/@react-native-masked-view/masked-view/-/masked-view-0.3.2.tgz?dl=https%3A%2F%2Fregistry.npmmirror.com%2F%40react-native-masked-view%2Fmasked-view%2F-%2Fmasked-view-0.3.2.tgz", "integrity": "sha512-XwuQoW7/GEgWRMovOQtX3A4PrXhyaZm0lVUiY8qJDvdngjLms9Cpdck6SmGAUNqQwcj2EadHC1HwL0bEyoa/SQ==", "license": "MIT", - "peer": true, "peerDependencies": { "react": ">=16", "react-native": ">=0.57" @@ -5105,7 +5100,6 @@ "resolved": "http://artifactory.intra.xiaojukeji.com/artifactory/api/npm/npm/@react-navigation/native/-/native-7.1.17.tgz?dl=https%3A%2F%2Fregistry.npmmirror.com%2F%40react-navigation%2Fnative%2F-%2Fnative-7.1.17.tgz", "integrity": "sha512-uEcYWi1NV+2Qe1oELfp9b5hTYekqWATv2cuwcOAg5EvsIsUPtzFrKIasgUXLBRGb9P7yR5ifoJ+ug4u6jdqSTQ==", "license": "MIT", - "peer": true, "dependencies": { "@react-navigation/core": "^7.12.4", "escape-string-regexp": "^4.0.0", @@ -5365,7 +5359,6 @@ "integrity": "sha512-0dLEBsA1kI3OezMBF8nSsb7Nk19ZnsyE1LLhB8r27KbgU5H4pvuqZLdtE+aUkJVoXgTVuA+iLIwmZ0TuK4tx6A==", "devOptional": true, "license": "MIT", - "peer": true, "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -5415,7 +5408,6 @@ "integrity": "sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", "@typescript-eslint/scope-manager": "7.18.0", @@ -5450,7 +5442,6 @@ "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", "dev": true, "license": "BSD-2-Clause", - "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "7.18.0", "@typescript-eslint/types": "7.18.0", @@ -5709,7 +5700,6 @@ "resolved": "http://artifactory.intra.xiaojukeji.com/artifactory/api/npm/npm/acorn/-/acorn-8.15.0.tgz?dl=https%3A%2F%2Fregistry.npmmirror.com%2Facorn%2F-%2Facorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -6641,7 +6631,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "baseline-browser-mapping": "^2.8.3", "caniuse-lite": "^1.0.30001741", @@ -8291,7 +8280,6 @@ "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -8950,7 +8938,6 @@ "resolved": "http://artifactory.intra.xiaojukeji.com/artifactory/api/npm/npm/expo/-/expo-52.0.47.tgz?dl=https%3A%2F%2Fregistry.npmmirror.com%2Fexpo%2F-%2Fexpo-52.0.47.tgz", "integrity": "sha512-Mkvl7Qi2k+V3FdNRUD+yDj8GqU4IiYulLfl36BmSZs8lh/kCYPhTiyBLiEGPfz7d25QKbPWG727ESozbkbvatw==", "license": "MIT", - "peer": true, "dependencies": { "@babel/runtime": "^7.20.0", "@expo/cli": "0.22.26", @@ -11208,7 +11195,6 @@ "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@jest/core": "^29.7.0", "@jest/types": "^29.6.3", @@ -14518,7 +14504,6 @@ "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true, "license": "MIT", - "peer": true, "bin": { "prettier": "bin-prettier.js" }, @@ -14777,7 +14762,6 @@ "resolved": "http://artifactory.intra.xiaojukeji.com/artifactory/api/npm/npm/react/-/react-18.3.1.tgz?dl=https%3A%2F%2Fregistry.npmmirror.com%2Freact%2F-%2Freact-18.3.1.tgz", "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "license": "MIT", - "peer": true, "dependencies": { "loose-envify": "^1.1.0" }, @@ -14839,7 +14823,6 @@ "resolved": "http://artifactory.intra.xiaojukeji.com/artifactory/api/npm/npm/react-native/-/react-native-0.77.2.tgz?dl=https%3A%2F%2Fregistry.npmmirror.com%2Freact-native%2F-%2Freact-native-0.77.2.tgz", "integrity": "sha512-TE9JXsuiuWL/dmYvSvlLJQFEzZowQPzcn/9vU7vhTTJzNLnUtA33aMNoSU14Y8XikUUwmjYahRe71zjFJp6Kmw==", "license": "MIT", - "peer": true, "dependencies": { "@jest/create-cache-key-function": "^29.6.3", "@react-native/assets-registry": "0.77.2", @@ -14989,7 +14972,6 @@ "resolved": "http://artifactory.intra.xiaojukeji.com/artifactory/api/npm/npm/react-native-safe-area-context/-/react-native-safe-area-context-4.14.1.tgz?dl=https%3A%2F%2Fregistry.npmmirror.com%2Freact-native-safe-area-context%2F-%2Freact-native-safe-area-context-4.14.1.tgz", "integrity": "sha512-+tUhT5WBl8nh5+P+chYhAjR470iCByf9z5EYdCEbPaAK3Yfzw+o8VRPnUgmPAKlSccOgQBxx3NOl/Wzckn9ujg==", "license": "MIT", - "peer": true, "peerDependencies": { "react": "*", "react-native": "*" @@ -15000,7 +14982,6 @@ "resolved": "http://artifactory.intra.xiaojukeji.com/artifactory/api/npm/npm/react-native-screens/-/react-native-screens-4.16.0.tgz?dl=https%3A%2F%2Fregistry.npmmirror.com%2Freact-native-screens%2F-%2Freact-native-screens-4.16.0.tgz", "integrity": "sha512-yIAyh7F/9uWkOzCi1/2FqvNvK6Wb9Y1+Kzn16SuGfN9YFJDTbwlzGRvePCNTOX0recpLQF3kc2FmvMUhyTCH1Q==", "license": "MIT", - "peer": true, "dependencies": { "react-freeze": "^1.0.0", "react-native-is-edge-to-edge": "^1.2.1", @@ -15031,7 +15012,6 @@ "resolved": "http://artifactory.intra.xiaojukeji.com/artifactory/api/npm/npm/react-native-webview/-/react-native-webview-13.16.0.tgz?dl=https%3A%2F%2Fregistry.npmmirror.com%2Freact-native-webview%2F-%2Freact-native-webview-13.16.0.tgz", "integrity": "sha512-Nh13xKZWW35C0dbOskD7OX01nQQavOzHbCw9XoZmar4eXCo7AvrYJ0jlUfRVVIJzqINxHlpECYLdmAdFsl9xDA==", "license": "MIT", - "peer": true, "dependencies": { "escape-string-regexp": "^4.0.0", "invariant": "2.2.4" @@ -17114,7 +17094,6 @@ "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", "dev": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" diff --git a/example/package-lock.json b/example/package-lock.json index aa678665..4e8dd77f 100644 --- a/example/package-lock.json +++ b/example/package-lock.json @@ -23,6 +23,7 @@ "@mpxjs/eslint-config": "^2.0.3", "@mpxjs/mpx-cli-service": "2.2.3", "@mpxjs/mpx-cube-ui": "file:../packages/mpx-cube-ui", + "@mpxjs/store": "^2.10.2", "@mpxjs/utils": "2.10.7-beta.5", "@mpxjs/vue-cli-plugin-mpx": "2.2.3", "@mpxjs/vue-cli-plugin-mpx-eslint": "^2.0.0", @@ -2839,6 +2840,29 @@ "resolved": "../packages/mpx-cube-ui", "link": true }, + "node_modules/@mpxjs/store": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@mpxjs/store/-/store-2.10.2.tgz", + "integrity": "sha512-/P5dBskK19eLcKBCYllnI+EOR8rfFTFzWlU05Ecm+0U2CffFTONL38ekuTHW6DS95+HPcY0EJEk7FOkZFddjAw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@mpxjs/utils": "^2.10.2" + }, + "peerDependencies": { + "@mpxjs/core": "^2.9.0" + } + }, + "node_modules/@mpxjs/store/node_modules/@mpxjs/utils": { + "version": "2.10.20", + "resolved": "https://registry.npmjs.org/@mpxjs/utils/-/utils-2.10.20.tgz", + "integrity": "sha512-PyDI7khuuN05b+Xj5gqs61qOkJASDZVs4+AKRGxRVVq1zPvQ8oOZ3NhyuiU1VwVEskHJ/5f16ocL4KDLO59ZRQ==", + "dev": true, + "license": "Apache-2.0", + "peerDependencies": { + "@mpxjs/core": "^2.9.58" + } + }, "node_modules/@mpxjs/template-engine": { "version": "2.8.7", "dev": true, diff --git a/example/package.json b/example/package.json index ad39629f..5c311db3 100644 --- a/example/package.json +++ b/example/package.json @@ -39,6 +39,7 @@ "@mpxjs/core": "2.10.7-beta.9", "@mpxjs/webpack-plugin": "2.10.7-beta.10", "@mpxjs/utils": "2.10.7-beta.5", + "@mpxjs/store": "^2.10.2", "@mpxjs/mpx-cube-ui": "file:../packages/mpx-cube-ui", "@babel/core": "^7.10.4", @@ -66,7 +67,6 @@ "vue-demi": "^0.14.6", "vue-i18n": "^8.27.2", "vue-i18n-bridge": "^9.2.2", - "vue-router": "^3.1.3", - "webpack": "^5.43.0" + "vue-router": "^3.1.3" } } diff --git a/example/vue.config.js b/example/vue.config.js index 789ca652..f28bc947 100644 --- a/example/vue.config.js +++ b/example/vue.config.js @@ -41,6 +41,13 @@ module.exports = defineConfig({ }, chainWebpack(config) { config.module.rules.delete('svg') + config.module + .rule('ts') + .use('ts-loader') + .tap(options => ({ + ...options, + onlyCompileBundledFiles: true + })) config.resolve.alias.set('@mpxjs/core', resolve('node_modules/@mpxjs/core')) config.resolve.alias.set('@mpxjs/webpack-plugin', resolve('node_modules/@mpxjs/webpack-plugin')) }, @@ -50,4 +57,4 @@ module.exports = defineConfig({ new webpack.ProgressPlugin() ] } -}) \ No newline at end of file +}) diff --git a/package.json b/package.json index 03a35838..a71c6a14 100644 --- a/package.json +++ b/package.json @@ -73,5 +73,14 @@ "engines": { "node": ">=16", "pnpm": ">=8" + }, + "pnpm": { + "packageExtensions": { + "vue-server-renderer": { + "dependencies": { + "webpack": "^4.47.0" + } + } + } } } diff --git a/packages/mpx-cube-ui/src/components/tab-bar/tab-bar.ts b/packages/mpx-cube-ui/src/components/tab-bar/tab-bar.ts index 29a02f1e..addd57ba 100644 --- a/packages/mpx-cube-ui/src/components/tab-bar/tab-bar.ts +++ b/packages/mpx-cube-ui/src/components/tab-bar/tab-bar.ts @@ -66,7 +66,7 @@ createComponent({ data: { useTransitionCopy: false, // 下划线开头的属性不会变成响应式 - _resizeTimer: null as unknown as NodeJS.Timeout, + _resizeTimer: null as unknown as number, els: [] as WechatMiniprogram.BoundingClientRectCallbackResult[], cubeTabBar: true // 提供 web 侧查找父组件标识 }, @@ -137,7 +137,7 @@ createComponent({ clearTimeout(this._resizeTimer) this._resizeTimer = setTimeout(() => { this.calcAllTabWidth() - }, 60) + }, 60) as unknown as number } }, [MOUNTED]() { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 68d4d506..028e80db 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,6 +4,8 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +packageExtensionsChecksum: sha256-6NouoGeJ4y1WAW73ZCF04znaeJ3RKVS5XhAFHoMboFE= + importers: .: @@ -21025,6 +21027,11 @@ snapshots: dependencies: de-indent: 1.0.2 entities: 1.1.2 + webpack: 4.47.0 + transitivePeerDependencies: + - supports-color + - webpack-cli + - webpack-command vue-server-renderer@2.7.16: dependencies: @@ -21036,6 +21043,11 @@ snapshots: resolve: 1.22.10 serialize-javascript: 6.0.2 source-map: 0.5.6 + webpack: 4.47.0 + transitivePeerDependencies: + - supports-color + - webpack-cli + - webpack-command vue-style-loader@4.1.3: dependencies: From 9901a6c2128d4b269171336f0b04447cd8d99fa2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cazhewang=E2=80=9D?= Date: Mon, 11 May 2026 16:11:36 +0800 Subject: [PATCH 2/4] fix: update pnpm version --- pnpm-lock.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 028e80db..9acc7a3f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,7 +4,7 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false -packageExtensionsChecksum: sha256-6NouoGeJ4y1WAW73ZCF04znaeJ3RKVS5XhAFHoMboFE= +packageExtensionsChecksum: 40a9e8c86dc278da559f6b7501efcb8a importers: From 89131ec70cfb1b49d41080a7c54bd6c9938b311a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cazhewang=E2=80=9D?= Date: Mon, 11 May 2026 16:19:15 +0800 Subject: [PATCH 3/4] fix: unit test error --- jest.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jest.config.js b/jest.config.js index 966102ca..c6f24989 100644 --- a/jest.config.js +++ b/jest.config.js @@ -56,5 +56,5 @@ module.exports = { '^.+\\.ts$': '/node_modules/ts-jest' }, resolver: '/scripts/jest-mpx-resolver/index.js', - transformIgnorePatterns: ['node_modules/(?!(@mpxjs|@babel))'] + transformIgnorePatterns: ['node_modules/(?!\\.pnpm|@mpxjs|@babel)'] } From 07162489e3bea681fe266ed261ff97d101e91bc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cazhewang=E2=80=9D?= Date: Mon, 11 May 2026 16:34:34 +0800 Subject: [PATCH 4/4] fix: scroll-nav-bar unit snap update --- .../scroll-nav-bar/__snapshots__/scroll-nav-bar.spec.js.snap | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/mpx-cube-ui/__tests__/components/scroll-nav-bar/__snapshots__/scroll-nav-bar.spec.js.snap b/packages/mpx-cube-ui/__tests__/components/scroll-nav-bar/__snapshots__/scroll-nav-bar.spec.js.snap index 752c0b8e..e1895181 100644 --- a/packages/mpx-cube-ui/__tests__/components/scroll-nav-bar/__snapshots__/scroll-nav-bar.spec.js.snap +++ b/packages/mpx-cube-ui/__tests__/components/scroll-nav-bar/__snapshots__/scroll-nav-bar.spec.js.snap @@ -1,5 +1,5 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`component scroll-nav-bar unit test render and props check should render horizontal nav with labels and txts 1`] = `"<span>快车</span><span>小巴</span><span>专车</span>"`; +exports[`component scroll-nav-bar unit test render and props check should render horizontal nav with labels and txts 1`] = `"<span>快车</span><span>小巴</span><span>专车</span>"`; -exports[`component scroll-nav-bar unit test render and props check should render vertical nav and resolve enhanced options 1`] = `"快车小巴专车"`; +exports[`component scroll-nav-bar unit test render and props check should render vertical nav and resolve enhanced options 1`] = `"快车小巴专车"`;