又一个「GM_脚本」开发工具,基于 rollup.js

wdssmq/rollup-plugin-monkey: 使用 rollup 开发「GM_脚本」:

https://github.com/wdssmq/rollup-plugin-monkey

因为还不会用create命令所以需要下载打包好的模板然后解压;

PROJECT_SCRIPT=script_demo
# 下载初始模板
wget https://github.com/wdssmq/rollup-plugin-monkey/releases/download/v1.0.2/script_def.tar.gz
tar -xzvf script_def.tar.gz
mv script_def ${PROJECT_SCRIPT}
cd ${PROJECT_SCRIPT}
cnpm i

# 修改 src/__info.js 内常量定义

# 运行
npm run dev

文件示意(初始):

❯ tree -a
.
├── .eslintrc.yaml
├── package.json
├── rollup.config.mjs
└── src
    ├── __dev.js
    ├── __info.js
    ├── _base.js
    └── main.js

文件示意(cnpm i && npm run dev):

❯ tree -a
.
├── .eslintrc.yaml
├── dev
│   ├── main.js             # 功能代码,动态引入至页面
│   └── script_demo.user.js # 开发时安装进浏览器的脚本,会以「dev」开头以作区分
├── node_modules
│   └── XXXX
├── package.json
├── rollup.config.mjs
├── script_demo.user.js # 最终脚本文件,默认输出至根目录,可配置;
└── src
    ├── __dev.js        # vite-plugin-monkey 里抄的,也不需要自己修改;
    ├── __info.js       # userscript header 在这里配置;
    ├── _base.js
    └── main.js

.gitignore.editorconfig等文件要另外配置,或者你也可以像我一样把所有「GM_脚本」放在一个版本库里管理;

.eslintrc.yaml也只是定义了「引号」和「分号」的风格;

除了正式文件的输出路径外,理论上不需要自行配置rollup.config.mjspackage.json

doc-001

不明觉厉。

我目前用 webpack,自己弄了套配置,写个 build.js,差不多够用