Yumimi Mini Program
在 VS Code / Cursor 里打开小程序目录,预览、编译、登录、上传。
这是现有 yumimi-mp 的编辑器壳,不是第二套编译器,也不是 Electron IDE。模拟器页面仍是 DevServer 的 HTTP GUI。
数据流
打开文件
→ 向上找 app.json | game.json | project.config.json
→ 当前工程(状态栏)
→ 启动模拟器:spawn 本机 node + 扩展内 cli.js
yumimi-mp --json --project <dir> dev --port 0 --host 0.0.0.0
→ stdout NDJSON 的 ready.httpUrl
→ Webview iframe(CSP 只放行 127.0.0.1 / localhost)
→ 失败或设置开启时 → Simple Browser / 系统浏览器
编译 / 预览 / 上传同样走 CLI,扩展不发业务 HTTP。凭证与 CLI 共用 ~/.yumimi-mp/credentials.json。
需要
- Node.js 18+(扩展 spawn 本机
node,不用 Electron 的 process.execPath)
- 工作区里有
app.json / game.json / project.config.json(monorepo 根不是小程序)
服务端地址:设置 yumimi.apiUrl,或环境变量 YUMIMI_API_URL(默认 http://localhost:9090)。
命令
- 选择小程序工程
- 启动 / 停止模拟器
- 编译 / 登录 / 登出 / 预览 / 上传 / 新建小程序
- 在 Simple Browser 打开模拟器
模拟器侧栏(能力表、WXML 树、console、QR)已经在 DevServer 页面里。Webview 只做窗框。
权限
读工作区、跑 Node 子进程。不支持未信任工作区和虚拟工作区。
本地开发
cd devtools && npm install && npm run build
cd ../vscode-extension && npm install && npm run compile
在 vscode-extension 目录按 F5 开 Extension Development Host。不要 npm link 才能用;VSIX 打进同包 CLI。
打包 / 上架
cd vscode-extension && npm run package
# 多平台(esbuild 原生二进制):npm run package:targets
file:../devtools 不能直接 vsce:会跟着符号链接打出扩展目录。npm run package 会先 npm pack 核,再打 VSIX。产物默认无 TargetPlatform:yumimi-miniprogram-<version>.vsix。
Marketplace 已建档 yumimi.yumimi-miniprogram。不要再 New extension。换图标或修包走条目上的 Update,上传更高版本的无平台 VSIX。同一版本只能再传其他 --target。
无 --target 的 VSIX 给 Open VSX / 本机 code --install-extension。
Marketplace / Open VSX id:yumimi.yumimi-miniprogram。package.json 的 name 不能用 miniprogram(全站已被 zsh.miniprogram 占用)。
CI:tag vscode-v* 时用 VSCE_PAT / OVSX_PAT 发 Marketplace 与 Open VSX。publisher 为 yumimi。