initx v0.1.0 发布
可圈可点
initx
是一个免安装的脚本引擎,可以使用 npx
执行,通过 插件实现各种功能
初期设计了匹配器和插件的核心逻辑
简单且强大的匹配器来匹配用户输入指令,后来单独抽离成了一个项目 matchinitx
美中不足
initx
可以免安装运行,但你需要全局安装各种插件,这显然是不合理的
虽然有一个插件管理器 @initx-plugin/manager
,但它甚至也要先全局安装才能使用,这太傻了
v0.1.0
在这个版本以及之前的几个版本中,陆续解决了以上的问题
首先插件不是全局安装了,而是被安装在用户目录下的 .initx
目录中
同时执行 npx initx
命令时,如果没有 @initx-plugin/manager
插件则会自动安装
现在你可以随时随地尝试
1 | npx initx plugin list |
如果觉得每次输入 npx
比较麻烦,也推荐全局安装 initx
1 | npm i initx -g |
解决需求
目前做的几个插件,以解决我自己日常使用需求为主,比如以下几个简单的例子
复制
比如复制 SSH 公钥、GPG 公钥、当前目录路径,你可以轻松解决
1 | # 安装插件 |
git 相关
安装
1 | initx plugin add git |
设置全局用户名、邮箱
1 | initx user foo foo@bar.com |
初始化或修改远程仓库地址
1 | initx git@github.com:initx-collective/initx.git |
没错,直接这样贴上地址就好了,插件会自动判断是初始化还是修改仓库和分支
开启或关闭 GPG 签名
1 | initx gpg true |
插件会自动找到 gpg
执行程序的路径,并设置 git
配置
项目管理
安装
1 | initx plugin add pm |
设置项目目录
1 | # 相对路径 |
不指定名称默认是 default
基于 github
仓库创建项目到目录
1 | initx pm create user/repo |
修改默认项目目录
1 | initx use frontend |
更多文档可以在 initx-collective 对应的插件仓库中找到
插件开发
initx
插件开发的方向大致分为两个部分
- 以功能为主,比如以上的
cp
、git
、pm
插件 - 以个人为主,因为考虑到需要记各种命令,所以自己开发自己的插件,为自己服务也是一种选择
创建插件可以直接使用插件模板 initx-plugin-starter
开发时使用 stub
模式,这样修改完 ts
代码就不需要手动执行编译
1 | pnpm stub |
安装当前目录的插件
1 | initx plugin add . |
可以试试这个命令
1 | initx start |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 怠惰のコエ - imba久期 BLOG!
评论