@deveco-test/deveco-code 0.1.0-TD.28.test3 → 0.1.0-TD.28.test4
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/CHANGELOG.md +250 -0
- package/README.md +16 -10
- package/bin/deveco +1 -1
- package/package.json +17 -8
- package/postinstall.mjs +19 -12
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,255 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v0.2.4 (2026-10-15)
|
|
4
|
+
|
|
5
|
+
### DevEco Code 核心
|
|
6
|
+
|
|
7
|
+
#### 新特性
|
|
8
|
+
|
|
9
|
+
- 新增设计稿转 ArkTS 能力:支持将 Pixso / Figma 设计稿转换为可运行的 ArkTS 页面,覆盖需求澄清、方案设计、页面与交互实现、HDS 组件适配、质量审计全流程,提供 Fast / Full 两档模式,Full 模式额外支持多轮视觉校准(`e7b2941857`)
|
|
10
|
+
|
|
11
|
+
#### 缺陷修复
|
|
12
|
+
|
|
13
|
+
- 修复 `devecocli` 在非包目录工作目录下调用挂起的问题(`74a8dcd630`)
|
|
14
|
+
- 修复模型输出上限未按配置生效,避免长输出被截断、部分模型反复触发上下文压缩(`f535194ff6`)
|
|
15
|
+
|
|
16
|
+
## v0.2.3 (2026-10-10)
|
|
17
|
+
|
|
18
|
+
### DevEco Code 核心
|
|
19
|
+
|
|
20
|
+
#### 新特性
|
|
21
|
+
|
|
22
|
+
- 新增历史裁剪(Snip):长会话中自动精简较早轮次的文件读取与搜索结果,降低上下文占用(`66ecf05`)
|
|
23
|
+
|
|
24
|
+
#### 缺陷修复
|
|
25
|
+
|
|
26
|
+
- 修复启动后停留在检查界面无法进入的问题(`74c374d`)
|
|
27
|
+
|
|
28
|
+
### TUI 终端界面
|
|
29
|
+
|
|
30
|
+
#### 新特性
|
|
31
|
+
|
|
32
|
+
- 会话中展示历史裁剪提示,Context 面板同步扣减裁剪释放的 token(`66ecf05`)
|
|
33
|
+
|
|
34
|
+
## v0.2.2 (2026-10-09)
|
|
35
|
+
|
|
36
|
+
### DevEco Code 核心
|
|
37
|
+
|
|
38
|
+
#### 新特性
|
|
39
|
+
|
|
40
|
+
- 体验改进数据上报改为按账号记录、默认关闭,可随时在隐私设置中更改(`6549dc8c77`)
|
|
41
|
+
|
|
42
|
+
#### 缺陷修复
|
|
43
|
+
|
|
44
|
+
- 修复第三方 Provider 场景下未校验 `DEVECO_HOME` 配置(`fa01f1e4f7`)
|
|
45
|
+
- 修复若干鸿蒙电脑上的已知问题
|
|
46
|
+
|
|
47
|
+
### TUI 终端界面
|
|
48
|
+
|
|
49
|
+
#### 优化
|
|
50
|
+
|
|
51
|
+
- 用量配额条改为「剩余优先」显示,剩余不足 20% 时黄色告警,配额超额时显示超额用量(`a81c536c9a`)
|
|
52
|
+
|
|
53
|
+
## v0.2.1 (2026-09-29)
|
|
54
|
+
|
|
55
|
+
### DevEco Code 核心
|
|
56
|
+
|
|
57
|
+
#### 缺陷修复
|
|
58
|
+
|
|
59
|
+
- 修复代理网络环境下华为账号登录与协议请求失败(`c68ca36`)
|
|
60
|
+
- 修复 Codex 登录后 gpt-6 系列模型未显示(`a7ae14c`)
|
|
61
|
+
- 修复一些已知问题
|
|
62
|
+
|
|
63
|
+
## v0.2.0 (2026-09-24)
|
|
64
|
+
|
|
65
|
+
### DevEco Code 核心
|
|
66
|
+
|
|
67
|
+
#### 新特性
|
|
68
|
+
|
|
69
|
+
- 支持鸿蒙电脑(`160e645`)
|
|
70
|
+
- 使用第三方 Provider 无需登录华为账号,仅内置模型需登录并完成实名认证(`c6f4854`)
|
|
71
|
+
- 更新内置 DevEco CLI 至 v1.3.4(`5ede2fc4`)
|
|
72
|
+
- worktree 特性默认开启(`c97716f`)
|
|
73
|
+
- 向生成 `.ets` 代码的 agent 注入 ArkTS/ArkUI 代码规范(`fc6488e`)
|
|
74
|
+
- 支持在非空目录中安全创建项目(`884c5ff`)
|
|
75
|
+
- 文档检索命令统一经由内置 CLI 代理(`1d76bfd`)
|
|
76
|
+
- 新增技能偏好设置,支持按全局或项目禁用指定技能(`791f934`)
|
|
77
|
+
- 新增实名认证引导弹窗,关闭华为授权弹窗时终止进行中的登录流程(`4fa3304`)
|
|
78
|
+
|
|
79
|
+
#### 优化
|
|
80
|
+
|
|
81
|
+
- 构建、运行、日志能力收敛至内置 DevEco CLI,统一由 `devecocli` 承接,新增日志清理、`--tail` 校验、创建冲突检测与模拟器自动启动(`3f6eb64`、`559922d`、`1d60720`)
|
|
82
|
+
- 更新 UI 验证 MCP(`b24c309`)
|
|
83
|
+
- 模型推理强度档位改由模型目录自动派生,扩展支持的模型范围(`14078a2`)
|
|
84
|
+
- 补充 ArkTS 状态管理与导航相关规范(`59529e5`)
|
|
85
|
+
|
|
86
|
+
#### 缺陷修复
|
|
87
|
+
|
|
88
|
+
- 修复自动启动模拟器后未等待就绪即运行导致阻塞(`5473f6d`)
|
|
89
|
+
- 恢复内置 CLI 技能加载(`2574319`)
|
|
90
|
+
- 修复 Windows 下 Bun 虚拟路径识别(`9cb1dc2`)
|
|
91
|
+
- 修复日志清理未校验目标设备、失败被误报为成功(`8bc95e6`)
|
|
92
|
+
- 修复文档预览截断后无法读取完整内容(`e65b278`)
|
|
93
|
+
- 修复 goal 模式文档检索范围与 build 模式不一致(`f71cc15`)
|
|
94
|
+
- 快照排除 `.codegenie` 目录(`431d772`)
|
|
95
|
+
- 修复 trace 上报字段因空值被平台丢弃(`e5bc1fa`)
|
|
96
|
+
- 升级 Bun 至 1.4.2,修复 pty 状态卡在运行中、SSE 超时未捕获异常(`aeb4536`)
|
|
97
|
+
- 修复自动合并工作流在合并失败时仍提示成功(`9d90028`)
|
|
98
|
+
- 修复认证后模型列表未同步刷新(`472631f`)
|
|
99
|
+
- 恢复项目创建技能及其校验脚本(`fc92b20`)
|
|
100
|
+
|
|
101
|
+
#### 重构
|
|
102
|
+
|
|
103
|
+
- 技能体系重整:`arkts-grammar-standards` 重命名为 `hmos-arkui-develop-skill` 并重组参考文档,移除废弃的 `arkts-error-fixes`(`770a829`、`b01d8d1`、`05f3bd8`)
|
|
104
|
+
|
|
105
|
+
#### 文档
|
|
106
|
+
|
|
107
|
+
- 对齐内置 CLI 技能文档(`29799f4`)
|
|
108
|
+
|
|
109
|
+
### TUI 终端界面
|
|
110
|
+
|
|
111
|
+
#### 新特性
|
|
112
|
+
|
|
113
|
+
- 会话滚动至非边缘时显示跳转提示,点击可跳至最早/最新消息并重新吸附(`8f6bf1a`)
|
|
114
|
+
|
|
115
|
+
#### 缺陷修复
|
|
116
|
+
|
|
117
|
+
- 修复 token 耗尽时按 Esc 导致上下文丢失(`eee4fce`)
|
|
118
|
+
- 修复引导流程同意门禁死循环与面板重挂载异常(`1063ce2`、`0707911`)
|
|
119
|
+
|
|
120
|
+
## v0.1.12 (2026-09-04)
|
|
121
|
+
|
|
122
|
+
### DevEco Code 核心
|
|
123
|
+
|
|
124
|
+
#### 新特性
|
|
125
|
+
|
|
126
|
+
- 云端模型配置无损保留,支持 `Ctrl+T` 切换推理强度档位,状态栏展示当前生效档位(`a1568e0`)
|
|
127
|
+
- 更新内置 DevEco CLI 至 v1.3.2(`acfaa13`)
|
|
128
|
+
|
|
129
|
+
#### 缺陷修复
|
|
130
|
+
|
|
131
|
+
- 修复推理模型的思考内容被误用作会话标题(`6a78fac`)
|
|
132
|
+
|
|
133
|
+
## v0.1.11 (2026-09-02)
|
|
134
|
+
|
|
135
|
+
### DevEco Code 核心
|
|
136
|
+
|
|
137
|
+
#### 缺陷修复
|
|
138
|
+
|
|
139
|
+
- 实名认证复核改为复用浏览器登录流程,简化重新验证操作(`849623b9ce`)
|
|
140
|
+
|
|
141
|
+
#### 文档
|
|
142
|
+
|
|
143
|
+
- Provider 配置示例改用通用占位符,消除误导性内置 provider 示例(`0e75e01467`)
|
|
144
|
+
|
|
145
|
+
### TUI 终端界面
|
|
146
|
+
|
|
147
|
+
#### 新特性
|
|
148
|
+
|
|
149
|
+
- 新增 `/usage` 和 `/stats` 命令,打开标签式面板展示用量与配额统计,含热力图、模型卡片及配额进度(`a063068cf2`)
|
|
150
|
+
|
|
151
|
+
## v0.1.10 (2026-08-29)
|
|
152
|
+
|
|
153
|
+
### DevEco Code 核心
|
|
154
|
+
|
|
155
|
+
#### 新特性
|
|
156
|
+
|
|
157
|
+
- 新增 `--auto`/`--yolo` 权限自动批准标志,跳过工具调用确认(`89c7804`)
|
|
158
|
+
- 更新内置 DevEco CLI 至 v1.3.0(`c95e744`、`ecd05b6`)
|
|
159
|
+
|
|
160
|
+
#### 优化
|
|
161
|
+
|
|
162
|
+
- 移除过时的 `DEVECO_DEFAULTS` 回退逻辑(`f353e9a`)
|
|
163
|
+
|
|
164
|
+
#### 缺陷修复
|
|
165
|
+
|
|
166
|
+
- 修复登录 URL 在 Windows 上无法通过 shell 打开的问题(`185b685`)
|
|
167
|
+
- 限制会话重试次数,配额耗尽时提前终止(`10f8246`)
|
|
168
|
+
|
|
169
|
+
### TUI 终端界面
|
|
170
|
+
|
|
171
|
+
#### 新特性
|
|
172
|
+
|
|
173
|
+
- 新增 subagent 监控侧边栏面板(`57be7fa`)
|
|
174
|
+
- 流式编辑统计改为按行计数(`690909f`)
|
|
175
|
+
|
|
176
|
+
#### 缺陷修复
|
|
177
|
+
|
|
178
|
+
- 修复模板化技能体的技能徽章渲染问题(`0c326df`)
|
|
179
|
+
- 优化收集对话框交互细节(`e1816523`)
|
|
180
|
+
|
|
181
|
+
## v0.1.9 (2026-08-20)
|
|
182
|
+
|
|
183
|
+
### DevEco Code 核心
|
|
184
|
+
|
|
185
|
+
#### 新特性
|
|
186
|
+
|
|
187
|
+
- 内置 [DevEco CLI](https://gitcode.com/openharmony-sig/deveco-cli),封装 `ohpm`、`hvigor`、`hdc` 等工具链,集成脚手架、技能安装与 MCP 服务
|
|
188
|
+
|
|
189
|
+
#### 优化
|
|
190
|
+
|
|
191
|
+
- 加固 Windows 安装程序:新增互斥锁防并发安装、失败自动重试、原子切换启动器(`1452fe8`)
|
|
192
|
+
|
|
193
|
+
#### 缺陷修复
|
|
194
|
+
|
|
195
|
+
- 修复 Windows baseline 包 CLI 入口缺失问题(`437de3d`)
|
|
196
|
+
|
|
197
|
+
### TUI 终端界面
|
|
198
|
+
|
|
199
|
+
#### 优化
|
|
200
|
+
|
|
201
|
+
- 音频播放支持设备热切换:输出设备变更时自动重新绑定,恢复播放(`2bf3a39`)
|
|
202
|
+
- 更新日志导出命令的国际化描述(`73882b9`)
|
|
203
|
+
|
|
204
|
+
## v0.1.8 (2026-08-18)
|
|
205
|
+
|
|
206
|
+
### DevEco Code 核心
|
|
207
|
+
|
|
208
|
+
#### 新特性
|
|
209
|
+
|
|
210
|
+
- 新增 Web UI 服务,支持通过浏览器直接访问 DevEco Code(`9d0e9ad`、`f11cd68`)
|
|
211
|
+
- 凭证存储采用操作系统钥匙串加密,提升静态安全性(`02271d0`)
|
|
212
|
+
- 登录流程新增第三方供应商确认环节(`1cf075d`)
|
|
213
|
+
- 地区访问策略新增欧洲时区限制(`cf5b6c0`)
|
|
214
|
+
|
|
215
|
+
#### 优化
|
|
216
|
+
|
|
217
|
+
- 版本检查改为后台异步执行,不阻塞启动流程(`6174dc9`)
|
|
218
|
+
|
|
219
|
+
#### 缺陷修复
|
|
220
|
+
|
|
221
|
+
- 多项安全加固:防御路径穿越与 SQL 注入、SSRF 与 HTML 注入防护、认证 Cookie 加固、分享 ID 防猜测、图标上传校验、账单 URL 加固、管理员权限校验、密钥字段重命名、移除 URL 中的认证参数(`86d6cfc`、`d75cad2`、`8ef8464`、`e1442c6`、`6b5f93f`、`4957539`、`e26bc29`、`ba09517`、`d033446`、`67b45f3`、`9fec08d`、`76dc880`、`e89f08d`、`96f78c1`、`5ffe841`、`c6f60db`、`5bb6e89`、`745d33a`、`598b1c4`、`35e5a31`)
|
|
222
|
+
- 修复 TLS 密码套件兼容性问题,适配 BoringSSL 环境(`2e16be9`、`cded53e`、`86d5be8`、`f1d0b45`、`7982bc8`、`bf1f25a`)
|
|
223
|
+
- 修复版本检查挂起导致自升级失败,消除重复升级通知(`1a03fa6`、`f3c75ba`、`6b92f54`、`44fd3e1`)
|
|
224
|
+
- 修复会话排序因 ID 回绕导致乱序(`340893e`)
|
|
225
|
+
- 修复重跑失败命令问题,新增 list-issues 命令(`5de32c2`)
|
|
226
|
+
- 加固 ui-verification 进程清理与环境变量限制(`bead02d`、`0cc4a4d`)
|
|
227
|
+
- 修复 Web 搜索 API 密钥传递方式(`a7d9a23`)
|
|
228
|
+
- 修复地区受限错误未正确展示(`5b4eb0e`)
|
|
229
|
+
- 移除内置默认模型回退逻辑(`53c7042`)
|
|
230
|
+
- 修复实名认证状态检查返回缓存数据导致状态不同步(`e4d8905`)
|
|
231
|
+
- 修复 token 刷新失败时未正确触发重新登录(`e842e4e`)
|
|
232
|
+
|
|
233
|
+
#### 文档
|
|
234
|
+
|
|
235
|
+
- 统一 CLAUDE.md 与 AGENTS.md 规范(`119f9f7`、`b4766ae`)
|
|
236
|
+
|
|
237
|
+
### TUI 终端界面
|
|
238
|
+
|
|
239
|
+
#### 新特性
|
|
240
|
+
|
|
241
|
+
- 新增 token 用量统计,支持 verbose 模式查看(`51c36bd`)
|
|
242
|
+
|
|
243
|
+
#### 优化
|
|
244
|
+
|
|
245
|
+
- 版本检查流程重构:后台异步检查并展示 spinner 动画,升级等待界面显示 logo(`d6472f5`、`1a7c557`、`44fd3e1`)
|
|
246
|
+
|
|
247
|
+
#### 缺陷修复
|
|
248
|
+
|
|
249
|
+
- 修复升级状态管理:成功后清除状态、消除重复通知弹窗(`f3c75ba`、`6b92f54`)
|
|
250
|
+
- 修复升级进度条卡顿问题(`1a7c557`)
|
|
251
|
+
- 修复日志导出对话框 URL 校验(`31ac49c`)
|
|
252
|
+
|
|
3
253
|
## v0.1.7 (2026-08-03)
|
|
4
254
|
|
|
5
255
|
### DevEco Code 核心
|
package/README.md
CHANGED
|
@@ -151,16 +151,21 @@ deveco auth logout
|
|
|
151
151
|
|
|
152
152
|
在 DevEco Code 中输入 `/models` 可进入模型配置界面。当前免费提供 `GLM-5.1` 模型,单账号默认每分钟 50 次请求。也可以通过 `/connect` 进入 Provider 选择界面,配置支持的第三方模型。
|
|
153
153
|
|
|
154
|
-
|
|
154
|
+
内置免费模型通道在登录后自动可用,无需在配置文件中手动配置。如需接入其他模型服务,可以通过 `deveco.jsonc` 配置第三方 Provider(以下字段均为占位符,请替换为你的服务商信息):
|
|
155
155
|
|
|
156
156
|
```jsonc
|
|
157
157
|
{
|
|
158
158
|
"$schema": "https://opencode.ai/config.json",
|
|
159
159
|
"provider": {
|
|
160
|
-
"
|
|
161
|
-
|
|
160
|
+
// Provider ID,自定义命名即可,其他配置中通过 "<provider-id>/<model-id>" 引用模型
|
|
161
|
+
"myprovider": {
|
|
162
|
+
// 可选,缺省即为 openai-compatible;非 OpenAI 兼容的服务商才需要指定
|
|
163
|
+
"npm": "@ai-sdk/openai-compatible",
|
|
164
|
+
// 显示名称,可自定义
|
|
165
|
+
"name": "My Provider",
|
|
162
166
|
"models": {
|
|
163
|
-
|
|
167
|
+
// 替换为服务商提供的模型 ID
|
|
168
|
+
"<your-model-id>": {
|
|
164
169
|
"tool_call": true,
|
|
165
170
|
"limit": {
|
|
166
171
|
"context": 200000,
|
|
@@ -169,8 +174,10 @@ deveco auth logout
|
|
|
169
174
|
}
|
|
170
175
|
},
|
|
171
176
|
"options": {
|
|
172
|
-
|
|
173
|
-
"
|
|
177
|
+
// 替换为服务商的 API 地址
|
|
178
|
+
"baseURL": "https://<your-endpoint>/v1",
|
|
179
|
+
// 替换为你的 API Key
|
|
180
|
+
"apiKey": "<your-api-key>"
|
|
174
181
|
}
|
|
175
182
|
}
|
|
176
183
|
}
|
|
@@ -183,7 +190,7 @@ UI 检查是功能验证阶段的可选能力,用于验证界面是否符合
|
|
|
183
190
|
|
|
184
191
|
该功能需调用多模态模型(仅用于 UI 检查,不作为主对话模型):已登录账号时默认使用内置 Qwen3-VL 模型,未登录时则跳过 UI 检查。
|
|
185
192
|
|
|
186
|
-
如需配置第三方多模态模型(仅支持 Qwen 系列),可在 `deveco.jsonc` 的 `agent` 中指定,以qwen3-vl-plus为例:
|
|
193
|
+
如需配置第三方多模态模型(仅支持 Qwen 系列),可在 `deveco.jsonc` 的 `agent` 中指定,以 qwen3-vl-plus 为例:
|
|
187
194
|
|
|
188
195
|
```jsonc
|
|
189
196
|
{
|
|
@@ -194,7 +201,7 @@ UI 检查是功能验证阶段的可选能力,用于验证界面是否符合
|
|
|
194
201
|
"name": "alibaba",
|
|
195
202
|
"options": {
|
|
196
203
|
"baseURL": "https://dashscope.aliyuncs.com/compatible-mode/v1",
|
|
197
|
-
"apiKey": "your-api-key",
|
|
204
|
+
"apiKey": "<your-api-key>",
|
|
198
205
|
},
|
|
199
206
|
"models": {
|
|
200
207
|
"qwen3-vl-plus": {
|
|
@@ -209,7 +216,7 @@ UI 检查是功能验证阶段的可选能力,用于验证界面是否符合
|
|
|
209
216
|
"agent": {
|
|
210
217
|
"ui_verification": {
|
|
211
218
|
"mode": "subagent",
|
|
212
|
-
"model": "myprovider/qwen3-vl-plus", //
|
|
219
|
+
"model": "myprovider/qwen3-vl-plus", // 格式为 <provider-id>/<model-id>
|
|
213
220
|
"hidden": true,
|
|
214
221
|
},
|
|
215
222
|
},
|
|
@@ -240,7 +247,6 @@ DevEco Code 集成了常用 HarmonyOS 开发工具能力:
|
|
|
240
247
|
| `start_app` | 在模拟器或真机上运行应用 |
|
|
241
248
|
| `hdc_log` | 收集/清理设备日志/查看连接模拟器 |
|
|
242
249
|
| `verify_ui` | 执行 UI 操作验证功能是否正确 |
|
|
243
|
-
| `arkts_check` | ArkTS 静态语法检查 |
|
|
244
250
|
| `switch_cwd` | 切换构建项目路径 |
|
|
245
251
|
|
|
246
252
|
常见场景包括:从零到一创建 HarmonyOS 工程、增量开发页面、修复编译报错、真机调试。
|
package/bin/deveco
CHANGED
|
@@ -76,7 +76,7 @@ try {
|
|
|
76
76
|
} catch {
|
|
77
77
|
// dev mode or missing package.json
|
|
78
78
|
}
|
|
79
|
-
const scope = mainPkg.name && mainPkg.name.includes("/") ? mainPkg.name.split("/")[0] : "@deveco
|
|
79
|
+
const scope = mainPkg.name && mainPkg.name.includes("/") ? mainPkg.name.split("/")[0] : "@deveco"
|
|
80
80
|
const base = scope + "/deveco-code-" + platform + "-" + arch
|
|
81
81
|
const binary = platform === "windows" ? "deveco.exe" : "deveco"
|
|
82
82
|
|
package/package.json
CHANGED
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deveco-test/deveco-code",
|
|
3
|
+
"version": "0.1.0-TD.28.test4",
|
|
4
|
+
"license": "MIT",
|
|
3
5
|
"bin": {
|
|
4
6
|
"deveco": "./bin/deveco"
|
|
5
7
|
},
|
|
6
8
|
"scripts": {
|
|
7
9
|
"postinstall": "bun ./postinstall.mjs || node ./postinstall.mjs"
|
|
8
10
|
},
|
|
9
|
-
"
|
|
10
|
-
|
|
11
|
+
"os": [
|
|
12
|
+
"darwin",
|
|
13
|
+
"win32"
|
|
14
|
+
],
|
|
15
|
+
"cpu": [
|
|
16
|
+
"arm64",
|
|
17
|
+
"x64"
|
|
18
|
+
],
|
|
11
19
|
"files": [
|
|
12
20
|
"bin/**/*",
|
|
13
21
|
"postinstall.mjs",
|
|
@@ -16,12 +24,13 @@
|
|
|
16
24
|
"CHANGELOG.md"
|
|
17
25
|
],
|
|
18
26
|
"optionalDependencies": {
|
|
19
|
-
"@deveco-test/deveco-code-
|
|
20
|
-
"@deveco-test/deveco-code-
|
|
21
|
-
"@deveco-test/deveco-code-
|
|
22
|
-
"@deveco-test/deveco-code-
|
|
27
|
+
"@deveco-test/deveco-code-darwin-arm64": "0.1.0-TD.28.test4",
|
|
28
|
+
"@deveco-test/deveco-code-darwin-x64": "0.1.0-TD.28.test4",
|
|
29
|
+
"@deveco-test/deveco-code-windows-x64": "0.1.0-TD.28.test4",
|
|
30
|
+
"@deveco-test/deveco-code-windows-x64-baseline": "0.1.0-TD.28.test4"
|
|
23
31
|
},
|
|
24
32
|
"dependencies": {
|
|
25
|
-
"@deveco/deveco-
|
|
33
|
+
"@deveco-test/deveco-harness": "latest",
|
|
34
|
+
"homegraph": "latest"
|
|
26
35
|
}
|
|
27
|
-
}
|
|
36
|
+
}
|
package/postinstall.mjs
CHANGED
|
@@ -24,23 +24,28 @@ const archMap = {
|
|
|
24
24
|
|
|
25
25
|
const platform = platformMap[os.platform()] ?? os.platform()
|
|
26
26
|
const arch = archMap[os.arch()] ?? os.arch()
|
|
27
|
-
const scope = packageJson.name && packageJson.name.includes("/") ? packageJson.name.split("/")[0] : "@deveco
|
|
27
|
+
const scope = packageJson.name && packageJson.name.includes("/") ? packageJson.name.split("/")[0] : "@deveco"
|
|
28
28
|
const base = `${scope}/deveco-code-${platform}-${arch}`
|
|
29
29
|
const sourceBinary = platform === "windows" ? "deveco.exe" : "deveco"
|
|
30
30
|
const targetBinary = path.join(__dirname, "bin", "deveco.exe")
|
|
31
|
-
const
|
|
31
|
+
const homegraphPackageName = "homegraph"
|
|
32
|
+
const HOMEGRAPH_ENTRY_REL = path.join("dist", "bin", "homegraph.js")
|
|
32
33
|
|
|
33
|
-
function
|
|
34
|
-
const packageJsonPath = require.resolve(`${
|
|
35
|
-
const entry = path.join(path.dirname(packageJsonPath),
|
|
34
|
+
function resolveLocalHomegraphEntry() {
|
|
35
|
+
const packageJsonPath = require.resolve(`${homegraphPackageName}/package.json`)
|
|
36
|
+
const entry = path.join(path.dirname(packageJsonPath), HOMEGRAPH_ENTRY_REL)
|
|
36
37
|
if (fs.existsSync(entry)) return entry
|
|
37
|
-
throw new Error(`Local dependency "${
|
|
38
|
+
throw new Error(`Local dependency "${homegraphPackageName}" has no entry at ${entry}.`)
|
|
38
39
|
}
|
|
39
40
|
|
|
40
|
-
function
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
function writeHomegraphEntryMarker(installRoot) {
|
|
42
|
+
try {
|
|
43
|
+
const marker = path.join(installRoot, "vendor", ".homegraph-entry")
|
|
44
|
+
fs.mkdirSync(path.dirname(marker), { recursive: true })
|
|
45
|
+
fs.writeFileSync(marker, `${resolveLocalHomegraphEntry()}\n`, "utf8")
|
|
46
|
+
} catch (error) {
|
|
47
|
+
console.warn(`[homegraph] postinstall: ${error instanceof Error ? error.message : String(error)}`)
|
|
48
|
+
}
|
|
44
49
|
}
|
|
45
50
|
|
|
46
51
|
function supportsAvx2() {
|
|
@@ -216,6 +221,8 @@ function installPackage(name) {
|
|
|
216
221
|
const packageDir = path.join(temp, "node_modules", name)
|
|
217
222
|
copyBinary(path.join(packageDir, "bin", sourceBinary), targetBinary)
|
|
218
223
|
copyVendor(packageDir)
|
|
224
|
+
writeHomegraphEntryMarker(packageDir)
|
|
225
|
+
writeHomegraphEntryMarker(__dirname)
|
|
219
226
|
return true
|
|
220
227
|
} finally {
|
|
221
228
|
fs.rmSync(temp, { recursive: true, force: true })
|
|
@@ -244,14 +251,14 @@ function verifyBinary() {
|
|
|
244
251
|
}
|
|
245
252
|
|
|
246
253
|
function main() {
|
|
247
|
-
|
|
254
|
+
writeHomegraphEntryMarker(__dirname)
|
|
248
255
|
|
|
249
256
|
for (const name of packageNames()) {
|
|
250
257
|
try {
|
|
251
258
|
const packageDir = resolvePackageDir(name)
|
|
252
259
|
copyBinary(resolveBinary(name), targetBinary)
|
|
253
260
|
copyVendor(packageDir)
|
|
254
|
-
|
|
261
|
+
writeHomegraphEntryMarker(packageDir)
|
|
255
262
|
if (verifyBinary()) return
|
|
256
263
|
} catch {
|
|
257
264
|
if (installPackage(name) && verifyBinary()) return
|