二、Oclif 简介 This is a framework for building CLIs in Node.js. 创建一个 multi-command CLI: $ npx oclif multi mynewcli ? 这里我们将使用 Oclif CLI 提供的命令,来快速创建 command。 /bin/run add --task="Learn Oclif" 以上命令成功执行后,会输出以下信息: [{"task":"Learn Oclif","id":0,"done":false}] 同时在项目根目录的 false } ] } 3.5 查看任务 下面我们继续使用 Oclif CLI 提供的命令,来创建一个新的 show 命令: $ npx oclif command show 以上命令运行后
容我想想,( ̄o ̄) . z Z丹尼尔: 蛋兄,蛋兄 ...蛋先生: 想起来了,《烹饪一道美味的 CLI》 有提到啊,就是 oclif 了---丹尼尔: 怎么用呢? dx-tools cp 中的 cp 就是 dx-tools 的子命令 (oclif 称为 command),oclif 也为 command 提供了代码生成工具图片蛋先生: 运行后会生成 src/commands dx-tools cp source_file target_file 中的 source_file 和 target_file 是子命令 cp 的参数(oclif 称为 command arguments import {Command, Flags} from '@oclif/core'export default class Cp extends Command { static description ---蛋先生: 当然,oclif 的功能远不止这些,有兴趣可以自行去探索了,今天就到这了丹尼尔: 恩恩,又到了说再见的时候了,88蛋先生: 要不,点个赞鼓励一下再走 (\^▽^ )
它在 package.json 有个 oclif.commands 的字段,指向一个包含所有命令的目录。 package.json "oclif": { "commands": ". 使用 // 建议全局安装 npm i oclif -g 执行npx oclif multi testMul,创建一个多命令的项目: 得到项目后,执行对应的脚本命令,初始化时得到的是 hello 命令 常用命令 oclif single <NAME>:在当前目录中创建一个单命令项目 oclif multi <NAME>:在当前目录中创建一个多命令项目 oclif command <NAME>:添加一条命令 oclif hook <NAME> --event=<hook>:新建一个钩子 oclif plugin <pluginName>:新建一个插件 参考文档 https://oclif.io/docs/ introduction https://github.com/oclif/oclif
tip hint important "温馨提示" 周刊中所有高亮的内容都可以点击到指定内容的链接~ 如果您正处在微信公众号,请直接滚动至底部阅读原文 关键词: Quil、Biome、React、Oclif 4.Oclif[5] 相关地址:https://github.com/oclif/oclif 往期的周刊中应该有讲过,一个脚手架的生成工具,以及编写 CLI 的利器。 可以考虑实现 zx、oclif、biome 的合集操作。 这里小记一个 todo ,做一件事,简单写一个脚手架,实现 changeset 的命令行 patch。 biomejs/biome/releases/tag/cli%2Fv1.7.0 [4] 更快的 JSX: https://github.com/facebook/react/pull/28768 [5] Oclif : https://github.com/oclif/oclif [6] Porkbun 开启了 dev、app、foo: https://porkbun.com/land/get-dot-app-domain-dev-domain-foo-domain
oclif 简介 这里我采用了oclif,一款可以帮我们快速构建 CLI 的框架,并且可以支持 Javascript 或者 Typescript语言。 oclif 提供了两种类型的命令行工具,Single-command 和 Multi-command。 快速创建 运行如下命令行可以快速创建一个 Single-command 命令行: $ npx oclif single big-lint 然后根据命令行的提示,输入一些基本信息,就可以直接帮我们创建好一个 src/index.js import {Command, flags} from '@oclif/command' class HappyLint extends Command { static 下面用代码来实现: 定义 OPTIONS src/utils/options.ts import {flags} from '@oclif/command' const flagConfig = {
构建经过社区测试的基础 在早先一次与 Shopify 之外的 CLI 开发人员的对话中,oclif 作为一个出色的、使用 Node 构建 CLI 的工具和 API 框架出现在我们的视野中。 在决定使用 Node 之后,我们更彻底地研究了 oclif 的特性集,构建了小型原型,并决定基于它们的 API、约定和生态系统构建 Node CLI。事后看来,这是个好主意。 Oclif 为我们提供了用于声明 CLI 接口的惯用 API,并提供了出色的默认值自定义功能。例如,帮助文档是从代码内的声明自动生成的。 我们利用了 oclif 的 hooks API 来防止 @shopify/cli-kit 通过依赖倒置获得依赖插件的信息。插件和 @shopify/cli-kit 实现依赖于接口。
那完全可以使用如 oclif 这些专为开发 CLI 而生的框架,开箱即用。 而我们作为程序员,对于解决方案的来龙去脉,前世今生的了解,还是需要为些付出些时间和精力的,这样可以让我们更踏实,走得更远。
大多数程序员使用Node.js来构建带有流行的Node模块的CLI程序,例如command.js、ink、oclif和chalk。
rejections 错误给出提示 sparkly - 生成迷你图 ▁▂▃▅▂▇ Bit - 在存储库中创建、维护、查找和使用小型模块和组件 gradient-string - 为终端输出添加漂亮的色彩渐变 oclif