vite-userscript-plugin 0.9.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/hot-reload.cjs +1 -1
- package/dist/hot-reload.js +1 -1
- package/dist/index.cjs +4 -4
- package/dist/index.js +4 -4
- package/package.json +20 -5
package/dist/hot-reload.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";function n(){let e=new WebSocket("__WS__");e.addEventListener("open",()=>{let{script:o}=GM_info;console.group(`${o.name}@${o.version}`),console.log(GM_info),console.groupEnd()}),e.addEventListener("close",()=>{setTimeout(n,1e3)}),e.addEventListener("error",()=>{e.close()}),e.addEventListener("message",()=>{location.reload()})}n();
|
package/dist/hot-reload.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function n(){let e=new WebSocket("__WS__");e.addEventListener("open",()=>{let{script:o}=GM_info;console.group(`${o.name}@${o.version}`),console.log(GM_info),console.groupEnd()}),e.addEventListener("close",()=>{setTimeout(n,1e3)}),e.addEventListener("error",()=>{e.close()}),e.addEventListener("message",()=>{location.reload()})}n();
|
package/dist/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use strict";var
|
|
2
|
-
`)}var
|
|
3
|
-
`,"")),""}inject(){return this.styles.size?`GM_addStyle(\`${[...this.styles.values()].join("")}\`)`:void 0}merge(t){let r=[];for(let n of t){let o=this.styles.get(n);!o||r.push([n,o])}this.styles.clear(),r.forEach(n=>this.styles.set(...n))}},x=new
|
|
1
|
+
"use strict";var A=Object.create;var G=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var z=Object.getPrototypeOf,K=Object.prototype.hasOwnProperty;var Y=(e,t)=>{for(var r in t)G(e,r,{get:t[r],enumerable:!0})},P=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of N(t))!K.call(e,o)&&o!==r&&G(e,o,{get:()=>t[o],enumerable:!(n=B(t,o))||n.enumerable});return e};var R=(e,t,r)=>(r=e!=null?A(z(e)):{},P(t||!e||!e.__esModule?G(r,"default",{value:e,enumerable:!0}):r,e)),I=e=>P(G({},"__esModule",{value:!0}),e);var H={};Y(H,{UserscriptPlugin:()=>F,default:()=>J});module.exports=I(H);var U=R(require("get-port"),1),p=require("fs"),L=require("http"),m=require("path"),v=require("url"),k=R(require("sanitize-filename"),1),q=require("websocket");function S(e){let t=[],r=Object.keys(e),n=Math.max(...r.map(a=>a.length))+1,o=a=>" ".repeat(n-a.length),g=(a,i)=>{let s=typeof i=="boolean";s&&!i||(i=s?"":o(a)+i.toString(),t.push(`// @${a}${i}`))};for(let[a,i]of Object.entries(e))if(Array.isArray(i))i.forEach(s=>g(a,s));else{if(i===void 0)continue;g(a,i)}return["// ==UserScript==",...t,"// ==/UserScript=="].join(`
|
|
2
|
+
`)}var C=new RegExp(/.(t|j)sx?/),$=new RegExp(/\.(s?css|sass)$/),w=["unsafeWindow","window.onurlchange","window.focus","window.close","GM_setValue","GM_getValue","GM_deleteValue","GM_listValues","GM_setClipboard","GM_addStyle","GM_addElement","GM_addValueChangeListener","GM_removeValueChangeListener","GM_registerMenuCommand","GM_unregisterMenuCommand","GM_download","GM_getTab","GM_getTabs","GM_saveTab","GM_openInTab","GM_notification","GM_getResourceURL","GM_getResourceText","GM_xmlhttpRequest","GM_webRequest","GM_log","GM_info"];var T=require("vite");function c(e){return[...new Set(Array.isArray(e)?e:e?[e]:[])]}async function h({file:e,name:t,loader:r}){let{code:n}=await(0,T.transformWithEsbuild)(e,t,{loader:r,minify:!0});return n}function O(e){let t=[];for(let r of w)e.indexOf(r)!==-1&&t.push(r);return t}var j=class{styles=new Map;async add(t,r){let n=await h({file:t,name:r,loader:"css"});return this.styles.set(r,n.replace(`
|
|
3
|
+
`,"")),""}inject(){return this.styles.size?`GM_addStyle(\`${[...this.styles.values()].join("")}\`)`:void 0}merge(t){let r=[];for(let n of t){let o=this.styles.get(n);!o||r.push([n,o])}this.styles.clear(),r.forEach(n=>this.styles.set(...n))}},x=new j;var E={};function F(e){let t,r,n=null,o=null,g=(0,L.createServer)(),a=q.server;return new a({httpServer:g}).on("request",s=>{o=s.accept(null,s.origin)}),{name:"vite-userscript-plugin",apply:"build",config(){return{build:{lib:{entry:e.entry,name:e.metadata.name,formats:["iife"],fileName:()=>`${e.metadata.name}.js`},rollupOptions:{output:{extend:!0}}}}},configResolved(s){t=s,r=s.build.watch??!1;let{name:d,match:l,require:f,include:y,exclude:_,resource:M,connect:b}=e.metadata;e.entry=(0,m.resolve)(s.root,e.entry),e.metadata.name=(0,k.default)(d),e.metadata.match=c(l),e.metadata.require=c(f),e.metadata.include=c(y),e.metadata.exclude=c(_),e.metadata.resource=c(M),e.metadata.connect=c(b)},async transform(s,d){let l=s;return $.test(d)&&(l=await x.add(s,d)),d.includes(e.entry)&&(l=s+"__STYLE__"),{code:l,map:null}},generateBundle(s,d){for(let[l,f]of Object.entries(d)){let y=Object.keys(f.modules);x.merge(y)}},async writeBundle(s,d){!n&&r&&(n=await(0,U.default)(),g.listen(n));for(let[l]of Object.entries(d))if(C.test(l)){let f=t.root,y=t.build.outDir||"dist",_=(0,m.resolve)(f,y,l),M=(0,m.resolve)((0,m.dirname)((0,v.fileURLToPath)(E.url)),`hot-reload-${e.metadata.name}.js`),b=(0,m.resolve)(f,y,`${e.metadata.name}.proxy.user.js`),V=(0,m.resolve)(f,y,`${e.metadata.name}.user.js`);try{let u=(0,p.readFileSync)(_,"utf8");if(e.metadata.grant=c(r?w:e.autoGrants??!0?O(u):[...e.metadata.grant??[],"GM_addStyle","GM_info"]),r){let D=(0,p.readFileSync)((0,m.resolve)((0,m.dirname)((0,v.fileURLToPath)(E.url)),"hot-reload.js"),"utf8"),W=await h({file:D.replace("__WS__",`ws://localhost:${n}`),name:M,loader:"js"});(0,p.writeFileSync)(M,W),(0,p.writeFileSync)(b,S({...e.metadata,require:[...e.metadata.require,"file://"+M,"file://"+_]}))}u=u.replace("__STYLE__",`${x.inject()}`),u=await h({file:u,name:l,loader:"js"}),(0,p.writeFileSync)(_,u),(0,p.writeFileSync)(V,`${S(e.metadata)}
|
|
4
4
|
|
|
5
|
-
${u}`)}catch(u){console.log(u)}}r||(g.close(),process.exit(0))},buildEnd(){o&&o.sendUTF(JSON.stringify({message:"reload"}))}}}var
|
|
5
|
+
${u}`)}catch(u){console.log(u)}}r||(g.close(),process.exit(0))},buildEnd(){o&&o.sendUTF(JSON.stringify({message:"reload"}))}}}var J=F;0&&(module.exports={UserscriptPlugin});
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
`)}var
|
|
3
|
-
`,"")),""}inject(){return this.styles.size?`GM_addStyle(\`${[...this.styles.values()].join("")}\`)`:void 0}merge(n){let t=[];for(let s of n){let d=this.styles.get(s);!d||t.push([s,d])}this.styles.clear(),t.forEach(s=>this.styles.set(...s))}},G=new S;function
|
|
1
|
+
import L from"get-port";import{readFileSync as R,writeFileSync as w}from"fs";import{createServer as k}from"http";import{dirname as C,resolve as y}from"path";import{fileURLToPath as $}from"url";import q from"sanitize-filename";import{server as F}from"websocket";function b(e){let n=[],t=Object.keys(e),s=Math.max(...t.map(o=>o.length))+1,d=o=>" ".repeat(s-o.length),f=(o,a)=>{let r=typeof a=="boolean";r&&!a||(a=r?"":d(o)+a.toString(),n.push(`// @${o}${a}`))};for(let[o,a]of Object.entries(e))if(Array.isArray(a))a.forEach(r=>f(o,r));else{if(a===void 0)continue;f(o,a)}return["// ==UserScript==",...n,"// ==/UserScript=="].join(`
|
|
2
|
+
`)}var j=new RegExp(/.(t|j)sx?/),v=new RegExp(/\.(s?css|sass)$/),h=["unsafeWindow","window.onurlchange","window.focus","window.close","GM_setValue","GM_getValue","GM_deleteValue","GM_listValues","GM_setClipboard","GM_addStyle","GM_addElement","GM_addValueChangeListener","GM_removeValueChangeListener","GM_registerMenuCommand","GM_unregisterMenuCommand","GM_download","GM_getTab","GM_getTabs","GM_saveTab","GM_openInTab","GM_notification","GM_getResourceURL","GM_getResourceText","GM_xmlhttpRequest","GM_webRequest","GM_log","GM_info"];import{transformWithEsbuild as U}from"vite";function u(e){return[...new Set(Array.isArray(e)?e:e?[e]:[])]}async function M({file:e,name:n,loader:t}){let{code:s}=await U(e,n,{loader:t,minify:!0});return s}function P(e){let n=[];for(let t of h)e.indexOf(t)!==-1&&n.push(t);return n}var S=class{styles=new Map;async add(n,t){let s=await M({file:n,name:t,loader:"css"});return this.styles.set(t,s.replace(`
|
|
3
|
+
`,"")),""}inject(){return this.styles.size?`GM_addStyle(\`${[...this.styles.values()].join("")}\`)`:void 0}merge(n){let t=[];for(let s of n){let d=this.styles.get(s);!d||t.push([s,d])}this.styles.clear(),t.forEach(s=>this.styles.set(...s))}},G=new S;function V(e){let n,t,s=null,d=null,f=k(),o=F;return new o({httpServer:f}).on("request",r=>{d=r.accept(null,r.origin)}),{name:"vite-userscript-plugin",apply:"build",config(){return{build:{lib:{entry:e.entry,name:e.metadata.name,formats:["iife"],fileName:()=>`${e.metadata.name}.js`},rollupOptions:{output:{extend:!0}}}}},configResolved(r){n=r,t=r.build.watch??!1;let{name:l,match:i,require:c,include:p,exclude:g,resource:_,connect:x}=e.metadata;e.entry=y(r.root,e.entry),e.metadata.name=q(l),e.metadata.match=u(i),e.metadata.require=u(c),e.metadata.include=u(p),e.metadata.exclude=u(g),e.metadata.resource=u(_),e.metadata.connect=u(x)},async transform(r,l){let i=r;return v.test(l)&&(i=await G.add(r,l)),l.includes(e.entry)&&(i=r+"__STYLE__"),{code:i,map:null}},generateBundle(r,l){for(let[i,c]of Object.entries(l)){let p=Object.keys(c.modules);G.merge(p)}},async writeBundle(r,l){!s&&t&&(s=await L(),f.listen(s));for(let[i]of Object.entries(l))if(j.test(i)){let c=n.root,p=n.build.outDir||"dist",g=y(c,p,i),_=y(C($(import.meta.url)),`hot-reload-${e.metadata.name}.js`),x=y(c,p,`${e.metadata.name}.proxy.user.js`),T=y(c,p,`${e.metadata.name}.user.js`);try{let m=R(g,"utf8");if(e.metadata.grant=u(t?h:e.autoGrants??!0?P(m):[...e.metadata.grant??[],"GM_addStyle","GM_info"]),t){let O=R(y(C($(import.meta.url)),"hot-reload.js"),"utf8"),E=await M({file:O.replace("__WS__",`ws://localhost:${s}`),name:_,loader:"js"});w(_,E),w(x,b({...e.metadata,require:[...e.metadata.require,"file://"+_,"file://"+g]}))}m=m.replace("__STYLE__",`${G.inject()}`),m=await M({file:m,name:i,loader:"js"}),w(g,m),w(T,`${b(e.metadata)}
|
|
4
4
|
|
|
5
|
-
${m}`)}catch(m){console.log(m)}}t||(f.close(),process.exit(0))},buildEnd(){d&&d.sendUTF(JSON.stringify({message:"reload"}))}}}var
|
|
5
|
+
${m}`)}catch(m){console.log(m)}}t||(f.close(),process.exit(0))},buildEnd(){d&&d.sendUTF(JSON.stringify({message:"reload"}))}}}var se=V;export{V as UserscriptPlugin,se as default};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vite-userscript-plugin",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -20,7 +20,9 @@
|
|
|
20
20
|
"vite",
|
|
21
21
|
"vite-plugin",
|
|
22
22
|
"userscript",
|
|
23
|
-
"tampermonkey"
|
|
23
|
+
"tampermonkey",
|
|
24
|
+
"greasemonkey",
|
|
25
|
+
"violentmonkey"
|
|
24
26
|
],
|
|
25
27
|
"author": {
|
|
26
28
|
"name": "Vitalij Ryndin",
|
|
@@ -32,18 +34,31 @@
|
|
|
32
34
|
"url": "https://github.com/crashmax-dev/vite-userscript-plugin/issues"
|
|
33
35
|
},
|
|
34
36
|
"dependencies": {
|
|
37
|
+
"@types/tampermonkey": "^4.0.5",
|
|
35
38
|
"get-port": "^6.1.2",
|
|
36
39
|
"sanitize-filename": "^1.6.3",
|
|
37
40
|
"websocket": "^1.0.34"
|
|
38
41
|
},
|
|
39
42
|
"devDependencies": {
|
|
40
|
-
"@
|
|
43
|
+
"@crashmax/prettier-config": "^2.0.3",
|
|
44
|
+
"@crashmax/tsconfig": "^1.0.2",
|
|
45
|
+
"@types/node": "^18.7.13",
|
|
46
|
+
"@types/websocket": "^1.0.5",
|
|
47
|
+
"tsup": "^6.2.2",
|
|
48
|
+
"turbo": "^1.4.3",
|
|
49
|
+
"typescript": "^4.7.4",
|
|
50
|
+
"vite": "^3.0.9",
|
|
51
|
+
"vite-plugin-dts": "^1.4.1"
|
|
41
52
|
},
|
|
42
53
|
"peerDependencies": {
|
|
43
|
-
"@types/tampermonkey": ">=4.0.0"
|
|
54
|
+
"@types/tampermonkey": ">=4.0.0",
|
|
55
|
+
"vite": ">=2.9.0"
|
|
44
56
|
},
|
|
45
57
|
"scripts": {
|
|
46
58
|
"dev": "tsup --watch",
|
|
47
|
-
"build": "tsup"
|
|
59
|
+
"build": "tsup",
|
|
60
|
+
"examples:dev": "turbo run dev --filter='./examples/*'",
|
|
61
|
+
"examples:build": "turbo run build --filter='./examples/*'",
|
|
62
|
+
"format": "prettier --write --ignore-unknown **"
|
|
48
63
|
}
|
|
49
64
|
}
|