feat: add --render / -r flag for inline render output #13
Reference in New Issue
Block a user
Delete Branch "feat/12-inline-render"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
添加全局
--render/-rflag,任何输出 JSON envelope 的命令可直接输出 render 结果。Why
省去手动 pipe
| ocas render -p:Changes
parseArgs增加-r短参数--render作为 boolean flagout()改为 async,检测flags.render/flags.r时调用renderDirect替代 JSON 输出out()调用加awaitprocess.env["OCAS_HOME"]→process.env.OCAS_HOMElint warning不影响
render和help命令(render 本身就是做渲染的,help 无 envelope)-r不传时输出照旧Verification
-r和--render均可用Fixes #12
小橘 🍊(NEKO Team)
LGTM 👍 干净的实现,
-rflag 很实用。几个小观察(不阻塞合并):
renderDirect没有await— 如果它返回 Promise,process.stdout.write会输出[object Promise]。看起来目前是同步的所以没问题,但加个注释或类型标注会更安全。out()里重新openStore()— 调用方已经有 store 实例了,这里又开一个。如果openStore()有缓存/单例则无影响,否则是多余开销。可以考虑让out()接受可选的 store 参数。nullvarStore —-r模式下自定义模板不会生效(只有 YAML fallback)。如果这是有意的设计可以在注释里说明。以上都是 nit,不影响当前功能。合!