插件开发时如何进行清理

我有一个测试用的插件,测试好了删除,但是直接删除文件夹的话 yarn.lock 里还有一些残余,后续我下载了发布的同名插件就出现了一些问题。

我从 工作区开发 | Koishi 文档里只找到了创建插件而没找到 clear 插件的方法,该怎么做呢?

2 个赞

直接 yarn 就可以了吧

1 个赞

试了一下确实可以。

但是这样需要用户手动管理 setup 的副作用,是不是违背了 可逆 的原则?

1 个赞

正经回答:可逆性的前提是持续运行的系统。Koishi 在运行时各个插件保证可逆,但是 setup 并不处于任何 Koishi 实例的运行时管理范围。

1 个赞

Theoretically, you would use yarn add to install your plugin and yarn remove to uninstall it, since yarn would handle all the side-effects, there is really no need to “clean” it manually unless you are not using a package manager.

1 个赞

使用 yarn setup 脚本创建的包可以由 yarn remove 清理吗?还需要手动删除文件夹吗?

1 个赞

Oh I misunderstood you. If you just yarn setup and then “add plugin” in Koishi Console, it would be better to just yarn once you remove the folder of plugin.

1 个赞

要不再出个 koishi-scripts clear 的功能,自动把指定名字的插件文件夹删除并执行 yarn

1 个赞

I don’t think so, you should keep your development workspaces independent from production ones.

1 个赞

Koishi 的副作用 Koishi 可以管理,不是 Koishi 的副作用 Koishi 无法管理。

比如 QQ 今天往硬盘里放了点垃圾,这个副作用 Koishi 无法得知,也就无法采取行动。yarn setup 也是一样。

要让 yarn setup 可逆,需要在 setup 的时候就持续运行一个 Koishi,直到插件开发完毕删除。这应该不是你想要的。

4 个赞