expo-harmony-toolkit 1.7.0 → 1.7.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 +32 -16
- package/README.md +37 -15
- package/build/core/build.js +1 -1
- package/build/core/constants.d.ts +2 -1
- package/build/core/constants.js +3 -2
- package/build/core/env.js +10 -12
- package/build/core/report.js +29 -1
- package/build/core/signing.d.ts +11 -0
- package/build/core/signing.js +113 -0
- package/build/core/template.js +3182 -182
- package/build/data/capabilities.js +50 -19
- package/build/types.d.ts +19 -1
- package/docs/cli-build.md +1 -1
- package/docs/npm-release.md +70 -23
- package/docs/official-app-shell-sample.md +33 -12
- package/docs/official-minimal-sample.md +43 -10
- package/docs/official-native-capabilities-sample.md +79 -23
- package/docs/official-ui-stack-sample.md +23 -18
- package/docs/roadmap.md +68 -40
- package/docs/support-matrix.md +75 -39
- package/docs/v1.7.0-acceptance.md +70 -101
- package/docs/v1.7.1-acceptance.md +111 -0
- package/docs/v1.7.2-acceptance.md +37 -0
- package/package.json +1 -1
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# v1.7.1 验收记录(模拟器收口版)
|
|
2
|
+
|
|
3
|
+
日期:2026-04-02
|
|
4
|
+
|
|
5
|
+
基线:
|
|
6
|
+
|
|
7
|
+
- 仓库:`Expo-Harmony-Toolkit`
|
|
8
|
+
- 版本:`1.7.1`
|
|
9
|
+
- 验收约束:当前无真机,只做模拟器与构建层收口
|
|
10
|
+
|
|
11
|
+
## 当前结论
|
|
12
|
+
|
|
13
|
+
`v1.7.1` 这一轮的正确结论不是“所有 preview capability 已 verified”,而是:
|
|
14
|
+
|
|
15
|
+
- 四个 official sample 都已经收口成可理解、可上手、可重复操作的官方示例
|
|
16
|
+
- `official-minimal-sample` 不再只是空白 smoke 卡片,而是最短链路说明页
|
|
17
|
+
- `official-app-shell-sample` 不再只是回归页,而是 router / linking / constants 的最小 onboarding sample
|
|
18
|
+
- `official-ui-stack-sample` 继续作为 verified UI-stack 主 sample,并把成功信号写得更显式
|
|
19
|
+
- `official-native-capabilities-sample` 现在按“每页一个模块、只讲核心支持子集、unsupported 边界明确”的方式收口
|
|
20
|
+
- `expo-file-system`、`expo-image-picker`、`expo-location`、`expo-camera` 仍然全部保持 `preview`
|
|
21
|
+
- 在没有真机前,不把任何 preview capability 提升到 `verified`
|
|
22
|
+
|
|
23
|
+
这份记录里默认使用以下判读:
|
|
24
|
+
|
|
25
|
+
- `🟡` 表示实现已到位,主要只差真机 / release 证据
|
|
26
|
+
- `🟠` 表示包已进入 `preview`,但这个具体子 API 还没补齐到可信实现;不是“只差真机”
|
|
27
|
+
|
|
28
|
+
## 本轮实现范围
|
|
29
|
+
|
|
30
|
+
- 统一重做四个 official sample 的页面表达和使用文档
|
|
31
|
+
- `expo-file-system` sample 补齐目录创建、写入、读回、列目录、复制、移动、清理
|
|
32
|
+
- `expo-image-picker` sample 保留单图选择 / 单次拍照 / denied / canceled / asset-return 主路径
|
|
33
|
+
- `expo-location` sample 收口到 foreground permission、current、last-known、geocode、reverse-geocode
|
|
34
|
+
- `expo-camera` sample 收口到 camera permission + still capture through Harmony system camera UI
|
|
35
|
+
- `expo-location` shim 明确把 `watchPositionAsync`、background permission、heading API 降为 unsupported
|
|
36
|
+
- `expo-camera` shim 明确把 embedded preview、pause/resume、microphone、video 相关入口降为 unsupported
|
|
37
|
+
- sample 指南、support matrix、README、acceptance 记录同步到真实状态
|
|
38
|
+
|
|
39
|
+
## 自动化检查结果
|
|
40
|
+
|
|
41
|
+
执行:
|
|
42
|
+
|
|
43
|
+
- `pnpm build`
|
|
44
|
+
- `pnpm test`
|
|
45
|
+
|
|
46
|
+
结果:
|
|
47
|
+
|
|
48
|
+
- `pnpm build`:通过
|
|
49
|
+
- `pnpm test`:通过,`11` suites / `61` tests
|
|
50
|
+
|
|
51
|
+
另外,sample 相关针对性回归也已通过:
|
|
52
|
+
|
|
53
|
+
- `tests/officialSample.test.ts`
|
|
54
|
+
- `tests/officialAppShellSample.test.ts`
|
|
55
|
+
- `tests/officialUiStackSample.test.ts`
|
|
56
|
+
- `tests/officialNativeCapabilitiesSample.test.ts`
|
|
57
|
+
- `tests/init.test.ts`
|
|
58
|
+
- `tests/docs.test.ts`
|
|
59
|
+
|
|
60
|
+
## 这版 sample 的实际完成度
|
|
61
|
+
|
|
62
|
+
### Official Minimal Sample
|
|
63
|
+
|
|
64
|
+
- 页面现在明确说明它验证的是最短 `doctor -> init -> bundle -> build-hap` 链路
|
|
65
|
+
- 页面明确写出成功标准与故意不覆盖的范围
|
|
66
|
+
- 适合作为新开发者的最小入口,而不是仅供维护者理解的 smoke baseline
|
|
67
|
+
|
|
68
|
+
### Official App Shell Sample
|
|
69
|
+
|
|
70
|
+
- 首页明确展示 app name、pathname、observed URL、generated details URL
|
|
71
|
+
- 同时提供 router push、`Link` 组件、generated deep link 三条入口
|
|
72
|
+
- `/details` 页面也会回显当前 pathname / URL,便于判断 deep-link 是否真正解析成功
|
|
73
|
+
|
|
74
|
+
### Official UI Stack Sample
|
|
75
|
+
|
|
76
|
+
- 保留 router、linking、constants、SVG、reanimated 的 verified 主线
|
|
77
|
+
- 首页新增“Success signals”表达,降低验收歧义
|
|
78
|
+
- `/details` 页面会回显 route / URL,帮助判断动画和路由是否互相影响
|
|
79
|
+
|
|
80
|
+
### Official Native Capabilities Sample
|
|
81
|
+
|
|
82
|
+
- `/file-system`
|
|
83
|
+
- 现在是完整 sandbox 文件流 sample
|
|
84
|
+
- 覆盖目录创建、读写、inspect、列目录、copy、move、cleanup
|
|
85
|
+
- `/image-picker`
|
|
86
|
+
- 继续聚焦 permission、单图选择、单次拍照、deny/cancel/success 三类结果
|
|
87
|
+
- `/location`
|
|
88
|
+
- `🟡` foreground permission、current、last-known、geocode、reverse-geocode 可直接操作
|
|
89
|
+
- `🟠` `watchPositionAsync`、background permission、heading API 已不再伪装成主路径支持;这些不是“只差真机”
|
|
90
|
+
- `/camera`
|
|
91
|
+
- `🟡` 相机权限和 through-system-ui 的 still capture 可直接操作
|
|
92
|
+
- `🟠` embedded preview、pause/resume、microphone、video 已不再伪装成主路径支持;这些不是“只差真机”
|
|
93
|
+
|
|
94
|
+
## 当前未完成的边界
|
|
95
|
+
|
|
96
|
+
在没有真机前,以下内容仍未完成:
|
|
97
|
+
|
|
98
|
+
- 任一 preview capability 的 `verified` 晋升
|
|
99
|
+
- `🟡` 已实现子集的真机与 release 证据补齐
|
|
100
|
+
- `🟠` `expo-location` 的真实 continuous watch、background permission parity、heading API 实现与验收
|
|
101
|
+
- `🟠` `expo-camera` 的 embedded live preview、preview pause/resume、microphone / video API 实现与验收
|
|
102
|
+
- release signing 配置以外的真机 release HAP 运行证据
|
|
103
|
+
|
|
104
|
+
## 版本结论
|
|
105
|
+
|
|
106
|
+
因此,`v1.7.1` 现在可以对外保持的准确说法是:
|
|
107
|
+
|
|
108
|
+
- verified 主线仍然只有 `expo55-rnoh082-ui-stack`
|
|
109
|
+
- 四个 native capability 已经收口成“模拟器下真正可用的高质量 preview sample”
|
|
110
|
+
- 工具链、sample、矩阵、README、acceptance 文档现在口径一致
|
|
111
|
+
- 下一步只有在拿到真机后,才应该讨论 capability promotion
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# v1.7.2 验收记录(Preview 子集收口版)
|
|
2
|
+
|
|
3
|
+
- 版本:`1.7.2`
|
|
4
|
+
- 日期:`2026-04-02`
|
|
5
|
+
- 目标:把 `expo-file-system`、`expo-image-picker`、`expo-location`、`expo-camera` 当前文档中的 `🟠` 子项全部收口到明确 `🟡` 子集
|
|
6
|
+
|
|
7
|
+
## 结论
|
|
8
|
+
|
|
9
|
+
`v1.7.2` 的正确结论不是“preview capability 已 verified”,而是:
|
|
10
|
+
|
|
11
|
+
- 四项能力继续全部保持 `preview`
|
|
12
|
+
- `runtimeMode` 继续保持 `adapter`
|
|
13
|
+
- `evidence.release` 继续保持 `false`
|
|
14
|
+
- 公开文档、official sample、模板生成与测试口径已收口到新的 yellow subset
|
|
15
|
+
|
|
16
|
+
## 这轮收口内容
|
|
17
|
+
|
|
18
|
+
- `expo-file-system`
|
|
19
|
+
- base64、append / partial read、`getInfoAsync({ md5: true })`、`downloadAsync`
|
|
20
|
+
- `expo-image-picker`
|
|
21
|
+
- multi-select、mixed library selection、camera photo/video capture、`getPendingResultAsync`
|
|
22
|
+
- `expo-location`
|
|
23
|
+
- background permission、`watchPositionAsync`、`getHeadingAsync`、`watchHeadingAsync`
|
|
24
|
+
- `expo-camera`
|
|
25
|
+
- embedded `CameraView`、preview pause/resume、video recording、microphone permission
|
|
26
|
+
|
|
27
|
+
## 文档与 sample 口径
|
|
28
|
+
|
|
29
|
+
- [support-matrix](./support-matrix.md) 已更新为新的 yellow subset
|
|
30
|
+
- [official-native-capabilities-sample](./official-native-capabilities-sample.md) 已改成四条 route 的收口版 walkthrough
|
|
31
|
+
- README 中英、acceptance link、sample route copy 已同步更新
|
|
32
|
+
|
|
33
|
+
## 保持不变的边界
|
|
34
|
+
|
|
35
|
+
- 这轮不做 `preview -> verified` 晋升
|
|
36
|
+
- 这轮不扩张到 `expo-notifications`、scanner parity、resumable task 家族等非目标能力
|
|
37
|
+
- 真机与 release 证据仍需后续验收补齐
|