你的构建少了这些东西:
- yakumo 配置
- (建议使用 yarn)
你的构建流程应该是:
- 安装 node@latest
git clone https://github.com/koishijs/boilerplate.git ./
git clone [your plugin repo] ./external
- 安装依赖
- 编译
- 可能的测试流程
- …
你的构建少了这些东西:
你的构建流程应该是:
git clone https://github.com/koishijs/boilerplate.git ./
git clone [your plugin repo] ./external
这样的构建太复杂了,事实上构建插件根本不需要用到 boilerplate 里的任何代码,下载 boilerplate 并在 boilerplate 里构建本身就是多余的
直接用插件 repo 构建插件,可以参考我的这个回答:
谢谢il,但是我的repo顶层没有 koishi.yml
怎么办,直接复制一个koishi实例的来吗
bp 包含 koishi.yml 和 yakumo,直接用现成的工作区来编译不应该是最快的吗
当然可以单独构建,开发依赖 yakumo 并提供所需环境即可:1. yakumo 系列依赖;2. yakumo.yml
就是说在插件的 package.json
的 peerDependencies
里加上yakumo全家桶然后再写个 yakumo.yml
也行?
devDeps
当然,第一个要求其实不需要,yakumo 构建是看你的 package.json 的
你顶层没有 koishi.yml
,说明你的 repo 不是一个工作区,所以要按 方法二 来啊
不是一个工作区的情况下,最快的当然是直接编译插件,而不是「下载工作区 - 安装 Yakumo - 运行 Yakumo」
「安装和运行 Yakumo,再让 Yakumo 运行编译插件的工具」肯定会大大降低构建速度啊
……等一下,你们编译一个插件的时候,先下载一个工作区,再安装配置 Yakumo,最后运行 Yakumo 来编译这一个插件?你们知道 Yakumo 是什么东西吗……
不是的,我还在打字
打了 10 天的字
马上就写好了
写好了
那这样的话如何发布呢?直接 yarn pub koishi-plugin-xxxxx
?
命令最后一句是 yarn pack
,执行之后就会在顶层生成 插件名-版本号.tgz
,这就是你的插件包;你可以下载下来以后用 npm publish
或 yarn npm publish
发布
如果你希望在 CI 的时候直接发布,那么直接把 yarn pack
改成 yarn npm publish
即可
使用 yarn add -D typescript koishi
时会在 package.json
中创建这行:
"devDependencies": {
"koishi": "workspace:^",
然后在travisCI中会出现该npm错误:
这里做完之后 devDeps 里的 koishi 版本会是 ^4.16.8
。你本地不是正常的插件开发项目,所以有这个问题。你自己改一下吧。
这个改好了,然后后面给我来了个tsc not found不知道怎么玩了