feat: add macOS arm64 support without changing Windows flow - #6
Conversation
liebaojun
left a comment
There was a problem hiding this comment.
感谢你为 MakoCode 做的 macOS 适配!代码我逐行审查过了,整体质量很高:
✅ 认可的地方
- lib/platform.js 抽象层干净,commandExists 的正则白名单、resolveCommand 全 PATH 解析不经 shell(根治 spawn sh ENOENT)都很专业
- Node.js 自动安装走 nodejs.org 官方 LTS,可追溯
- 修复了 test-connection 双重响应、安装状态判定、mac Git 检测等真实问题
- NFD→NFC 文件名规范化和打包清单补 SKILL.md,说明真的跑过打包
- Windows 分支隔离良好,mac 改动不影响 Windows 构建
📝 合并前请修改(1 处必需 + 1 处可选)
- 【必需】preload.js:wizard.html 中引用了
window.makoElectron?.platform === 'darwin',但 preload.js 没有暴露 platform 字段(目前靠 navigator.platform 兜底,功能正常,但属于未实现的引用)。补一行即可:platform: process.platform, - 【可选】lib/installer.js 中 userData 的 fallback 路径写的是小写
makocode,与app.getPath('userData')的 MakoCode 大小写不一致,建议顺手统一
🔧 发布相关提醒(不需要改代码,供知悉)
3. fork release 的 DMG 构建自 commit 77f1e67,PR 最终 head 之后又改了 3 个 commit(含 git 检测修复)。合并后我会用最终代码重新构建发布,以官方 release 为准
4. mac 包是 adhoc 签名 + 未公证,用户打开会有 Gatekeeper 警告,发布说明需写明"右键打开";mac 自动更新(electron-updater)建议作为后续工作
改完我马上合并,感谢贡献!
|
非常感谢您的审查,也谢谢您把合并前需要确认的地方和发布注意事项都列出来了。我按您的建议重新核对了当前 head
关于 userData 路径,我也重新做了运行核对:当前 发布相关提醒都已知悉:fork DMG 确实是较早提交的构建,合并后以最终代码重新构建的官方 Release 为准;未公证包首次打开需要“右键 → 打开”的说明也会注意。macOS 自动更新可以留作后续工作。 再次感谢您认真审查和后续发布安排,辛苦啦喵! |
merge: macOS arm64 support into master (from PR #6)
说明
基于 MakoCode v1.6.7 增加 macOS Apple Silicon(arm64)适配,Windows 路径和安装器逻辑保持独立。
主要内容
/usr/bin/git,避免误报“没有 Git”。spawn sh ENOENT。独立 DMG
作者可以直接下载并放入官方 Release:
下载 MakoCode-1.6.7-macos-arm64.dmg
SHA-256:
7b46d6672981fd5d9a641d0973314c576214c38f46b861437e5c19e23e4085cf独立 Release:
https://github.com/fsh114514/MakoCode/releases/tag/v1.6.7-macos.1
已验证
node test/platform.test.js通过。安装包不存在: undefined。spawn npm/sh ENOENT。如果作者暂时只想提供 macOS 下载,可以直接使用上面的独立 DMG;如果希望长期维护,再合并本 PR。