搞定rollup插件
终于搞定了,欢迎大家使用,有啥问题请联系https://www.npmjs.com/package/rollup-plugin-tampermonkey-auto-meta 不会rollup...
看文档使用方式哥哥这个是做代码解析把使用的api自动推到顶部生成header头了?
牛逼 @王一之 哥哥来围观 李恒道 发表于 2022-9-8 11:11
不会rollup...
看文档使用方式哥哥这个是做代码解析把使用的api自动推到顶部生成header头了?
牛逼 ...
我也不会rollup
我之前写过一个webpack的,原理也差不多 https://github.com/scriptscat/scriptcat-webpack-plugin 李恒道 发表于 2022-9-8 11:11
不会rollup...
看文档使用方式哥哥这个是做代码解析把使用的api自动推到顶部生成header头了?
牛逼 ...
是使用的api和注释,这样以后就可以把注释(仅限于可以多个的)写到代码那一行而不必写在头部。
处理的方式比较简单,只判断了是否是GM_开头,如果有人写b.GM_c也会把GM_c提到头,不过还好应该没人会给自己的变量起名GM_开头。至于window和unsafeWindow也是类似的处理,所以也会有类似的问题。
还有就是多个的同名注释处理方式,之前是全部合并去重,后来加入了文件名作为分割,再去重就有些不合适了,所以暂时选择的是全部都有不再去重,可以让你知道哪个文件提出来的对应是啥 李恒道 发表于 2022-9-8 11:11
不会rollup...
看文档使用方式哥哥这个是做代码解析把使用的api自动推到顶部生成header头了?
牛逼 ...
不要怂,上去就是干,里面专门留了个例子,你可以参考来用 笑尘天雨 发表于 2022-9-8 12:11
是使用的api和注释,这样以后就可以把注释(仅限于可以多个的)写到代码那一行而不必写在头部。
处理的方式 ...
学到了...
牛逼! 可以用正则匹配,因为信息头格式是固定的
// ==UserScript==
// ...
// ==/UserScript==
我直接用正则提取放到输出文件了
const REGEXP_STR_HEAD_END = `\\/\\/[\\t ]*==\\/UserScript==(\\r\\n|\\r|\\n)`
const REGEXP_USER_HEADER = new RegExp(
`\\/\\/[\\t ]*==UserScript==(\\r\\n|\\r|\\n)((?!${REGEXP_STR_HEAD_END}).)*` +
REGEXP_STR_HEAD_END, "gms");
const userHeader = source_data.match(REGEXP_USER_HEADER)?.at(0) || "";
voeoc 发表于 2022-9-13 17:40
可以用正则匹配,因为信息头格式是固定的
我直接用正则提取放到输出文件了
我用的rollup自带的ast拿到注释块并且分析组合的。好处就是可以不用管啥格式直接写就行