Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/linlin00000000/usbuild
一个基于 esbuild 的油猴脚本(UserScript)构建工具
https://github.com/linlin00000000/usbuild
build-tool esbuild greasemonkey tampermonkey userscript violentmonkey
Last synced: 4 months ago
JSON representation
一个基于 esbuild 的油猴脚本(UserScript)构建工具
- Host: GitHub
- URL: https://github.com/linlin00000000/usbuild
- Owner: LinLin00000000
- License: mit
- Created: 2023-11-29T02:33:13.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-10T02:49:09.000Z (10 months ago)
- Last Synced: 2024-10-14T00:44:43.160Z (4 months ago)
- Topics: build-tool, esbuild, greasemonkey, tampermonkey, userscript, violentmonkey
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/@linlin00/usbuild
- Size: 162 KB
- Stars: 19
- Watchers: 1
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# usbuild
🚀 一个基于 [esbuild](https://esbuild.github.io/) 的 [油猴](https://www.tampermonkey.net/) 脚本(UserScript)构建工具,让你的脚本开发像坐火箭一样快!
## 🪄 功能
- 🧙♂️ **变戏法般的 UserScript 头部注释** - 你写代码,我变魔术!自动将你的配置变成闪亮的 [UserScript 头部注释](https://www.tampermonkey.net/documentation.php)。忘记繁琐的格式吧,让这个魔法帮你搞定一切!
- 🔍 **侦探式的智能 GM_API 探测** - 我们的构建过程中有个侦探,它会悄悄检查你的代码,寻找那些GM_API的踪迹,并且像发现宝藏一样自动生成 [grant](https://www.tampermonkey.net/documentation.php#meta:grant) 属性。配置再也不是什么难题,全部交给这个侦探吧!
- 🚀 **忍者般的热重载与开发服务器** - 开启 dev 模式,就像召唤了一位忍者,他不仅偷偷启动了开发服务器,还能在源文件一有风吹草动时,迅速做出反应,实现热重载。手动刷新?那是过去式!
- 🌐 **本地文件的秘密通道(可选功能)** - 想绕过 CSP?没问题!启用 `enableLocalFileRequireInDev`,就像打开了一个秘密通道,让你在本地自由穿梭,不受束缚。但记住,这可是个双刃剑,虽然强大,但要小心使用,我们默认是关着的哦!
## 🛠️ 安装
🔮 在 01 世界里敲入这个神秘的咒语,神奇的工具就到手啦!
```shell
npm i -D @linlin00/usbuild
```## 🚀 快速开始
想要成为 UserScript 的大师吗?来吧,跟着我一起开始这段奇妙之旅!
首先,创建一个神秘的文件,取名为 `MyUserScript.mjs`(当然,名字可以随你的心意变换哦)。
接着,用你那魔法般的双手在文件里施展这样的咒语:
```javascript
import { build } from '@linlin00/usbuild'
await build({
match: ['https://*.bilibili.com/*']
})const 超大声 = alert
超大声('番茄炒蛋拳!')
```完成这一切后,只需轻轻一挥你的魔杖(直接使用 `node` 命令运行该文件),神奇的事情就会发生:脚本自动构建,并且浏览器会如同被施了魔法般自动打开安装!
## 🌟 参数详解
准备好深入探索 usbuild 的神秘力量了吗?让我们一起解锁这些魔法参数的秘密!
`build` 函数是你施法的核心,它有两个神秘的参数:一个是 UserScript 配置的魔法盒子,另一个是可选的魔法选项。
- [UserScript 配置](https://www.tampermonkey.net/)
一个对象,其中的🔑键名就像法术的名称,值则是充满魔力的字符串或字符串数组。
- name🎩 name 字段可以选择性消失,如果消失,它会像魔术师一样从文件名中变出来。
- ~~grant~~
不需要书写该咒语。
🕵️♂️ 在非 dev 模式下,grant 属性会像智能侦探一样自动进行检测并生成,免去了手动配置的繁琐。
🚀 而在 dev 模式下,为了让开发更加方便快捷,我们直接授予所有权限,就像给开发者提供了一把万能钥匙!
- [...](https://www.tampermonkey.net/)
- 构建选项一个对象。这些是定制你的构建过程的小小工具。
- `dev`
默认值 `false`
🌆 这个模式就像是间谍黄昏,会偷偷监听源文件的变动,实现神奇的热重载。- `outdir`
默认值 `'dist'`
🏠 outdir 会在指定目录下藏起构建后的文件。- `host`
默认值 `'127.0.0.1'`
🏡 host 设定了我们的服务地址,就像定下了我们神秘小屋的地点,确保它既安全又容易找到。
- `port`
默认值 `7100`
🚪 port 就像是我们小屋的门牌号,指定了访客应该敲哪扇门来找到我们的宝藏。
- `autoReload`
默认值 `true`
🔄 控制是否开启自动刷新的魔法开关(也就是实时热重载)。当源文件变化时,它就像灵巧的小精灵,自动更新网页,让变化瞬间呈现,免去了手动刷新的麻烦。
- `autoReloadMode`
默认值 `refresh`
🧶 控制自动重载的模式,可选值为 `refresh` 和 `reinstall`。`refresh` 以刷新网页的方式自动重载,`reinstall` 以重新安装脚本的方式自动重载。
- `autoReloadDelay`
默认值 `1000`
⏱️ autoReloadDelay 是自动重载的等待时间(毫秒),像是小精灵准备魔法的时间。
- `enableLocalFileRequireInDev`
默认值 `false`
📂 控制在开发模式下是否启用加载本地文件来绕过内容安全策略(CSP)。启用这个功能时,你需要在浏览器的油猴扩展中设置允许访问本地文件。这就像是给你的脚本赋予了额外的力量,让它在本地环境中自由翱翔,但别忘了,这需要在你的浏览器扩展中额外开启相应的权限。
## 💬 社区
作者的闲聊吹水(QQ)群: 733165997