expo-harmony-toolkit 1.5.1 → 1.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +13 -11
- package/README.md +15 -13
- package/build/core/build.js +758 -83
- package/build/core/constants.d.ts +1 -1
- package/build/core/constants.js +1 -1
- package/build/core/javascriptDependencies.d.ts +5 -0
- package/build/core/javascriptDependencies.js +73 -0
- package/build/core/template.d.ts +8 -1
- package/build/core/template.js +381 -36
- package/build/data/dependencyCatalog.js +12 -0
- package/build/data/uiStack.d.ts +15 -12
- package/build/data/uiStack.js +14 -12
- package/build/data/validatedMatrices.js +2 -2
- package/build/types.d.ts +3 -0
- package/docs/cli-build.md +9 -5
- package/docs/npm-release.md +7 -3
- package/docs/official-ui-stack-sample.md +2 -4
- package/docs/roadmap.md +2 -2
- package/docs/support-matrix.md +20 -13
- package/docs/v1.5.1-acceptance.md +385 -0
- package/package.json +8 -1
- package/templates/harmony/build-profile.json5 +5 -2
- package/templates/harmony/entry/hvigorfile.ts +3 -0
- package/templates/harmony/entry/src/main/cpp/CMakeLists.txt +13 -1
- package/templates/harmony/entry/src/main/ets/PackageProvider.ets +2 -2
package/README.en.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<p>
|
|
10
10
|
<a href="https://github.com/BlackishGreen33/Expo-Harmony-Toolkit/actions/workflows/ci.yml"><img alt="Checks" src="https://img.shields.io/badge/checks-passing-16a34a?style=flat-square&logo=githubactions&logoColor=white"></a>
|
|
11
11
|
<a href="./LICENSE"><img alt="License" src="https://img.shields.io/badge/license-MIT-0f766e?style=flat-square"></a>
|
|
12
|
-
<a href="https://github.com/BlackishGreen33/Expo-Harmony-Toolkit/releases"><img alt="Version" src="https://img.shields.io/badge/version-v1.5.
|
|
12
|
+
<a href="https://github.com/BlackishGreen33/Expo-Harmony-Toolkit/releases"><img alt="Version" src="https://img.shields.io/badge/version-v1.5.2-111827?style=flat-square"></a>
|
|
13
13
|
<a href="./docs/support-matrix.md"><img alt="Matrix" src="https://img.shields.io/badge/matrix-expo55--rnoh082--ui--stack-2563eb?style=flat-square"></a>
|
|
14
14
|
<img alt="Input" src="https://img.shields.io/badge/input-Managed%2FCNG-059669?style=flat-square">
|
|
15
15
|
</p>
|
|
@@ -23,10 +23,10 @@
|
|
|
23
23
|
</div>
|
|
24
24
|
|
|
25
25
|
> [!IMPORTANT]
|
|
26
|
-
> `v1.5.
|
|
26
|
+
> `v1.5.2` continues to make one formal public promise only: `expo55-rnoh082-ui-stack`. This is not a claim that arbitrary Expo applications can be published to HarmonyOS unchanged.
|
|
27
27
|
|
|
28
28
|
> [!TIP]
|
|
29
|
-
> The
|
|
29
|
+
> The two validated `@react-native-oh-tpl/*` adapters in the public matrix are currently consumed via exact Git URLs and commits. For repository development and the official UI-stack sample, prefer `pnpm install --ignore-scripts` so adapter prepare hooks do not fail on private upstream resources.
|
|
30
30
|
|
|
31
31
|
## Overview
|
|
32
32
|
|
|
@@ -46,10 +46,10 @@
|
|
|
46
46
|
|
|
47
47
|
| Item | Status |
|
|
48
48
|
| --- | --- |
|
|
49
|
-
| Current version | `v1.5.
|
|
49
|
+
| Current version | `v1.5.2` |
|
|
50
50
|
| Public matrix | `expo55-rnoh082-ui-stack` |
|
|
51
51
|
| Supported input | Managed/CNG Expo projects |
|
|
52
|
-
| Validated JS/UI capabilities | `expo-router`, `expo-linking`, `expo-constants`, `react-native-reanimated`, `react-native-svg
|
|
52
|
+
| Validated JS/UI capabilities | `expo-router`, `expo-linking`, `expo-constants`, `react-native-reanimated`, `react-native-svg` |
|
|
53
53
|
| Build path | `doctor -> init -> bundle -> build-hap` |
|
|
54
54
|
| Primary sample | `examples/official-ui-stack-sample` |
|
|
55
55
|
| Regression baselines | `examples/official-app-shell-sample`, `examples/official-minimal-sample` |
|
|
@@ -163,23 +163,25 @@ Common decision points:
|
|
|
163
163
|
|
|
164
164
|
## Support Matrix
|
|
165
165
|
|
|
166
|
-
`v1.5.
|
|
166
|
+
`v1.5.2` stays on one public matrix: `expo55-rnoh082-ui-stack`.
|
|
167
167
|
|
|
168
168
|
- Expo SDK: `55`
|
|
169
|
-
- React: `19.
|
|
170
|
-
- React Native: `0.
|
|
169
|
+
- React: `19.1.1`
|
|
170
|
+
- React Native: `0.82.1`
|
|
171
171
|
- RNOH and `@react-native-oh/react-native-harmony-cli`: `0.82.18`
|
|
172
172
|
- App Shell packages: `expo-router`, `expo-linking`, `expo-constants`
|
|
173
|
-
- UI stack packages: `react-native-reanimated`, `react-native-svg
|
|
173
|
+
- UI stack packages: `react-native-reanimated`, `react-native-svg`
|
|
174
174
|
- Harmony adapters: the matching `@react-native-oh-tpl/*` exact Git specifiers
|
|
175
175
|
- Native identifier: at least `android.package` or `ios.bundleIdentifier`
|
|
176
176
|
|
|
177
|
+
`react-native-gesture-handler` is no longer part of the public matrix. It remains a manual exploration path until the current `@react-native-oh-tpl/react-native-gesture-handler` and `@react-native-oh/react-native-harmony@0.82.18` runtime pairing passes on-device validation.
|
|
178
|
+
|
|
177
179
|
See [docs/support-matrix.md](./docs/support-matrix.md) for the full allowlist, pairing rules, exact specifiers, issue codes, and release gates.
|
|
178
180
|
|
|
179
181
|
## Official Samples
|
|
180
182
|
|
|
181
183
|
- `examples/official-ui-stack-sample`
|
|
182
|
-
The primary public sample for `v1.5.0`, covering router, linking, constants, SVG,
|
|
184
|
+
The primary public sample for `v1.5.0`, covering router, linking, constants, SVG, reanimated, and Harmony sidecar build flow.
|
|
183
185
|
- `examples/official-app-shell-sample`
|
|
184
186
|
The `v1.1` App Shell regression baseline that protects router behavior while UI-stack support is finalized.
|
|
185
187
|
- `examples/official-minimal-sample`
|
|
@@ -237,7 +239,7 @@ Manual Harmony acceptance still requires:
|
|
|
237
239
|
|
|
238
240
|
- `official-ui-stack-sample` launches successfully
|
|
239
241
|
- SVG renders correctly
|
|
240
|
-
- the
|
|
242
|
+
- pressing the home-screen motion rail triggers visible animation
|
|
241
243
|
- routing still works after the animation completes
|
|
242
244
|
- `Build Debug Hap(s)` succeeds
|
|
243
245
|
|
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<p>
|
|
10
10
|
<a href="https://github.com/BlackishGreen33/Expo-Harmony-Toolkit/actions/workflows/ci.yml"><img alt="Checks" src="https://img.shields.io/badge/checks-passing-16a34a?style=flat-square&logo=githubactions&logoColor=white"></a>
|
|
11
11
|
<a href="./LICENSE"><img alt="License" src="https://img.shields.io/badge/license-MIT-0f766e?style=flat-square"></a>
|
|
12
|
-
<a href="https://github.com/BlackishGreen33/Expo-Harmony-Toolkit/releases"><img alt="Version" src="https://img.shields.io/badge/version-v1.5.
|
|
12
|
+
<a href="https://github.com/BlackishGreen33/Expo-Harmony-Toolkit/releases"><img alt="Version" src="https://img.shields.io/badge/version-v1.5.2-111827?style=flat-square"></a>
|
|
13
13
|
<a href="./docs/support-matrix.md"><img alt="Matrix" src="https://img.shields.io/badge/matrix-expo55--rnoh082--ui--stack-2563eb?style=flat-square"></a>
|
|
14
14
|
<img alt="Input" src="https://img.shields.io/badge/input-Managed%2FCNG-059669?style=flat-square">
|
|
15
15
|
</p>
|
|
@@ -23,10 +23,10 @@
|
|
|
23
23
|
</div>
|
|
24
24
|
|
|
25
25
|
> [!IMPORTANT]
|
|
26
|
-
> `v1.5.
|
|
26
|
+
> `v1.5.2` 继续只对 `expo55-rnoh082-ui-stack` 做正式公开承诺。这不是“任意 Expo 项目都能原样发布到 HarmonyOS”的声明,而是对一条受限、可验证矩阵的稳定承诺。
|
|
27
27
|
|
|
28
28
|
> [!TIP]
|
|
29
|
-
>
|
|
29
|
+
> 由于当前公开矩阵内的两套 `@react-native-oh-tpl/*` adapter 依赖以 Git URL + exact commit 形式接入,仓库开发和官方 UI-stack sample 推荐使用 `pnpm install --ignore-scripts`,避免 Git adapter 在 prepare 阶段拉取私有资源而中断安装。
|
|
30
30
|
|
|
31
31
|
## 概览
|
|
32
32
|
|
|
@@ -46,10 +46,10 @@
|
|
|
46
46
|
|
|
47
47
|
| 项目 | 说明 |
|
|
48
48
|
| --- | --- |
|
|
49
|
-
| 当前版本 | `v1.5.
|
|
49
|
+
| 当前版本 | `v1.5.2` |
|
|
50
50
|
| 唯一公开矩阵 | `expo55-rnoh082-ui-stack` |
|
|
51
51
|
| 输入范围 | Managed/CNG Expo 项目 |
|
|
52
|
-
| 已验证 JS/UI 能力 | `expo-router`、`expo-linking`、`expo-constants`、`react-native-reanimated`、`react-native-svg
|
|
52
|
+
| 已验证 JS/UI 能力 | `expo-router`、`expo-linking`、`expo-constants`、`react-native-reanimated`、`react-native-svg` |
|
|
53
53
|
| 构建链 | `doctor -> init -> bundle -> build-hap` |
|
|
54
54
|
| 主 sample | `examples/official-ui-stack-sample` |
|
|
55
55
|
| 回归基线 | `examples/official-app-shell-sample`、`examples/official-minimal-sample` |
|
|
@@ -91,7 +91,7 @@ npx expo-harmony doctor --project-root .
|
|
|
91
91
|
pnpm install --ignore-scripts
|
|
92
92
|
```
|
|
93
93
|
|
|
94
|
-
|
|
94
|
+
因为当前公开矩阵内的两套 `@react-native-oh-tpl/*` adapter 在 prepare 阶段可能访问私有上游资源。
|
|
95
95
|
|
|
96
96
|
## 推荐接入方式
|
|
97
97
|
|
|
@@ -163,23 +163,25 @@ pnpm exec expo-harmony build-hap --mode release
|
|
|
163
163
|
|
|
164
164
|
## 支持矩阵
|
|
165
165
|
|
|
166
|
-
`v1.5.
|
|
166
|
+
`v1.5.2` 继续坚持单矩阵路线:`expo55-rnoh082-ui-stack`。
|
|
167
167
|
|
|
168
168
|
- Expo SDK:`55`
|
|
169
|
-
- React:`19.
|
|
170
|
-
- React Native:`0.
|
|
169
|
+
- React:`19.1.1`
|
|
170
|
+
- React Native:`0.82.1`
|
|
171
171
|
- RNOH / `@react-native-oh/react-native-harmony-cli`:`0.82.18`
|
|
172
172
|
- App Shell 依赖:`expo-router`、`expo-linking`、`expo-constants`
|
|
173
|
-
- UI stack 依赖:`react-native-reanimated`、`react-native-svg
|
|
174
|
-
- Harmony adapter
|
|
173
|
+
- UI stack 依赖:`react-native-reanimated`、`react-native-svg`
|
|
174
|
+
- Harmony adapter:对应两项 `@react-native-oh-tpl/*` exact Git specifier
|
|
175
175
|
- 原生标识:至少配置 `android.package` 或 `ios.bundleIdentifier`
|
|
176
176
|
|
|
177
|
+
当前不再把 `react-native-gesture-handler` 放进公开矩阵。它仍可作为手动探索项,但当前 `@react-native-oh-tpl/react-native-gesture-handler` 与 `@react-native-oh/react-native-harmony@0.82.18` 的设备侧 runtime 组合还没有通过正式验收。
|
|
178
|
+
|
|
177
179
|
完整白名单、配对规则、exact specifier、issue code 与 release gate 见 [docs/support-matrix.md](./docs/support-matrix.md)。
|
|
178
180
|
|
|
179
181
|
## 官方 Samples
|
|
180
182
|
|
|
181
183
|
- `examples/official-ui-stack-sample`
|
|
182
|
-
当前唯一对外主 sample,同时覆盖 router、linking、constants、SVG、
|
|
184
|
+
当前唯一对外主 sample,同时覆盖 router、linking、constants、SVG、reanimated 和 Harmony sidecar 构建链。
|
|
183
185
|
- `examples/official-app-shell-sample`
|
|
184
186
|
`v1.1` App Shell 回归基线,用来防止 UI-stack 收口引入 router 退化。
|
|
185
187
|
- `examples/official-minimal-sample`
|
|
@@ -237,7 +239,7 @@ pnpm exec expo-harmony build-hap --mode release
|
|
|
237
239
|
|
|
238
240
|
- `official-ui-stack-sample` 成功启动
|
|
239
241
|
- SVG 正常渲染
|
|
240
|
-
-
|
|
242
|
+
- 点击首页 motion rail 后能触发可见动画
|
|
241
243
|
- 动画完成后路由跳转仍正常
|
|
242
244
|
- `Build Debug Hap(s)` 成功
|
|
243
245
|
|