vite-userscript-plugin 1.6.6 → 1.6.7
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/index.cjs +4 -4
- package/dist/index.d.ts +2 -2
- package/dist/index.js +3 -3
- package/package.json +12 -11
package/dist/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use strict";var re=Object.create;var u=Object.defineProperty;var ne=Object.getOwnPropertyDescriptor;var se=Object.getOwnPropertyNames;var oe=Object.getPrototypeOf,ie=Object.prototype.hasOwnProperty;var ae=(e,t,r)=>t in e?u(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var le=(e,t)=>{for(var r in t)u(e,r,{get:t[r],enumerable:!0})},O=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of se(t))!ie.call(e,o)&&o!==r&&u(e,o,{get:()=>t[o],enumerable:!(n=ne(t,o))||n.enumerable});return e};var g=(e,t,r)=>(r=e!=null?re(oe(e)):{},O(t||!e||!e.__esModule?u(r,"default",{value:e,enumerable:!0}):r,e)),ce=e=>O(u({},"__esModule",{value:!0}),e);var
|
|
2
|
-
`)}};function E({entry:e,header:t}){return{build:{lib:{entry:e,name:t.name,formats:["iife"],fileName:()=>`${t.name}.js`},rollupOptions:{output:{extend:!0}}}}}var j="vite-userscript-plugin",U='console.warn("__STYLE__")',k=new RegExp(/\.(t|j)sx?$/),L=new RegExp(/\.(s[ac]|c|le)ss$/),pe=["setValue","getValue","deleteValue","listValues","setClipboard","addStyle","addElement","addValueChangeListener","removeValueChangeListener","registerMenuCommand","unregisterMenuCommand","download","getTab","getTabs","saveTab","openInTab","notification","getResourceURL","getResourceText","xmlhttpRequest","log","info"],me=["unsafeWindow","window.onurlchange","window.focus","window.close"],y=pe.map(e=>[`GM_${e}`,`GM.${e}`]).flat();y.push(...me);var V=require("vite");function M(e){return[...new Set(Array.isArray(e)?e:e?[e]:[])]}async function w({file:e,name:t,loader:r}){let{code:n}=await(0,V.transformWithEsbuild)(e,t,{loader:r,minify:!0,sourcemap:!1,legalComments:"none"});return n}function
|
|
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))}},$=new G;var
|
|
1
|
+
"use strict";var re=Object.create;var u=Object.defineProperty;var ne=Object.getOwnPropertyDescriptor;var se=Object.getOwnPropertyNames;var oe=Object.getPrototypeOf,ie=Object.prototype.hasOwnProperty;var ae=(e,t,r)=>t in e?u(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var le=(e,t)=>{for(var r in t)u(e,r,{get:t[r],enumerable:!0})},O=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of se(t))!ie.call(e,o)&&o!==r&&u(e,o,{get:()=>t[o],enumerable:!(n=ne(t,o))||n.enumerable});return e};var g=(e,t,r)=>(r=e!=null?re(oe(e)):{},O(t||!e||!e.__esModule?u(r,"default",{value:e,enumerable:!0}):r,e)),ce=e=>O(u({},"__esModule",{value:!0}),e);var f=(e,t,r)=>(ae(e,typeof t!="symbol"?t+"":t,r),r);var de={};le(de,{default:()=>I});module.exports=ce(de);var p=require("fs"),D=require("http"),l=require("path"),K=require("url"),H=g(require("get-port"),1),N=g(require("open"),1),T=g(require("picocolors"),1),W=g(require("sanitize-filename"),1),q=g(require("serve-handler"),1),B=require("vite"),z=require("websocket");var h=class{constructor(t){this.config=t;f(this,"header",[]);f(this,"configKeys");f(this,"maxKeyLength");this.downloadMeta(),this.configKeys=Object.keys(this.config),this.maxKeyLength=Math.max(...this.configKeys.map(r=>r.length))+1}downloadMeta(){let{name:t,homepage:r,updateURL:n,downloadURL:o}=this.config;r&&!n&&!o&&(this.config.updateURL=new URL(`${t}.meta.js`,r).href,this.config.downloadURL=new URL(`${t}.user.js`,r).href)}addSpaces(t){return" ".repeat(this.maxKeyLength-t.length)}addMetadata(t,r){r=Array.isArray(r)?r.join(" "):r===!0?"":r;let n=this.addSpaces(t);this.header.push(`// @${t}${n}${r}`)}generate(){for(let[t,r]of Object.entries(this.config))if(Array.isArray(r))r.forEach(n=>this.addMetadata(t,n));else{if(r===void 0)continue;this.addMetadata(t,r)}return["// ==UserScript==",...this.header,"// ==/UserScript=="].join(`
|
|
2
|
+
`)}};function E({entry:e,header:t}){return{build:{lib:{entry:e,name:t.name,formats:["iife"],fileName:()=>`${t.name}.js`},rollupOptions:{output:{extend:!0}}}}}var j="vite-userscript-plugin",U='console.warn("__STYLE__")',k=new RegExp(/\.(t|j)sx?$/),L=new RegExp(/\.(s[ac]|c|le)ss$/),pe=["setValue","getValue","deleteValue","listValues","setClipboard","addStyle","addElement","addValueChangeListener","removeValueChangeListener","registerMenuCommand","unregisterMenuCommand","download","getTab","getTabs","saveTab","openInTab","notification","getResourceURL","getResourceText","xmlhttpRequest","log","info"],me=["unsafeWindow","window.onurlchange","window.focus","window.close"],y=pe.map(e=>[`GM_${e}`,`GM.${e}`]).flat();y.push(...me);var V=require("vite");function M(e){return[...new Set(Array.isArray(e)?e:e?[e]:[])]}async function w({file:e,name:t,loader:r}){let{code:n}=await(0,V.transformWithEsbuild)(e,t,{loader:r,minify:!0,sourcemap:!1,legalComments:"none"});return n}function A(e){let t=[];for(let r of y)e.indexOf(r)!==-1&&t.push(r);return t}var G=class{constructor(){f(this,"styles",new Map)}async add(t,r){let n=await w({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))}},$=new G;var fe={};function I(e){try{let t,r,n=null,o=(0,l.dirname)((0,K.fileURLToPath)(fe.url)),C=(0,B.createLogger)("info",{prefix:`[${j}]`,allowClearScreen:!0}),x=(0,D.createServer)((s,i)=>(0,q.default)(s,i,{public:t.build.outDir})),J=z.server;return new J({httpServer:x}).on("request",s=>{n=s.accept(null,s.origin)}),{name:j,apply:"build",config(){return E(e)},async configResolved(s){t=s,r=s.build.watch??!1,e.entry=(0,l.resolve)(s.root,e.entry),e.header.name=(0,W.default)(e.header.name),Array.from(["match","require","include","exclude","resource","connect"]).forEach(i=>{let a=e.header[i];e.header[i]=M(a)}),e.server={port:await(0,H.default)(),open:!1,...e.server}},async transform(s,i){let a=s;return L.test(i)&&(a=await $.add(s,i)),i.includes(e.entry)&&(a=s+U),{code:a,map:null}},generateBundle(s,i){for(let a of Object.values(i)){if(a.type==="asset")continue;let m=Object.keys(a.modules).filter(S=>L.test(S));m.length&&$.merge(m)}},async writeBundle(s,i){let{open:a,port:m}=e.server,S=`${e.header.name}.user.js`,_=`${e.header.name}.proxy.user.js`,Y=`${e.header.name}.meta.js`;for(let[d]of Object.entries(i))if(k.test(d)){let v=t.root,b=t.build.outDir,P=(0,l.resolve)(v,b,d),Q=(0,l.resolve)(v,b,S),X=(0,l.resolve)(v,b,_),Z=(0,l.resolve)(v,b,Y),R=(0,l.resolve)(o,`ws-${e.header.name}.js`);try{let c=(0,p.readFileSync)(P,"utf8");if(c=c.replace(U,`${$.inject()}`),c=await w({file:c,name:d,loader:"js"}),e.header.grant=M(r?y:[...A(c),...e.header.grant??[]]),r){let ee=(0,p.readFileSync)((0,l.resolve)(o,"ws.js"),"utf8"),te=await w({file:ee.replace("__WS__",`ws://localhost:${m}`),name:R,loader:"js"});(0,p.writeFileSync)(R,te),(0,p.writeFileSync)(X,new h({...e.header,require:[...e.header.require,"file://"+R,"file://"+P]}).generate())}let F=new h(e.header).generate();(0,p.writeFileSync)(P,c),(0,p.writeFileSync)(Z,F),(0,p.writeFileSync)(Q,`${F}
|
|
4
4
|
|
|
5
|
-
${c}`)}catch(c){console.log(c)}}if(r&&!x.listening){let
|
|
5
|
+
${c}`)}catch(c){console.log(c)}}if(r&&!x.listening){let d=`http://localhost:${m}`;x.listen(m,()=>{C.clearScreen("info"),C.info(T.default.blue(`Running at: ${T.default.gray(d)}`))}),a&&await(0,N.default)(`${d}/${_}`)}else r||(x.close(),process.exit(0))},buildEnd(){r&&(C.clearScreen("info"),n&&n.sendUTF(JSON.stringify({message:"reload"})))}}}catch(t){return console.error(t),{name:j}}}0&&(module.exports={});
|
package/dist/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ type GMLiterals<T extends string> = [`GM_${T}` | `GM.${T}`];
|
|
|
8
8
|
type GMWindow = typeof GMwindow[number];
|
|
9
9
|
type Grants = GMWindow | GMLiterals<typeof GM[number]>[number];
|
|
10
10
|
type HeaderConfig = {
|
|
11
|
-
[property: string]:
|
|
11
|
+
[property: string]: any;
|
|
12
12
|
/**
|
|
13
13
|
* The name of the script.
|
|
14
14
|
* Internationalization is done by adding an appendix naming the locale.
|
|
@@ -121,7 +121,7 @@ type HeaderConfig = {
|
|
|
121
121
|
* Preloads resources that can by accessed
|
|
122
122
|
* via `GM_getResourceURL` and `GM_getResourceText` by the script.
|
|
123
123
|
*/
|
|
124
|
-
resource?: string[]
|
|
124
|
+
resource?: [string, string][];
|
|
125
125
|
/**
|
|
126
126
|
* This tag defines the domains (no top-level domains) including subdomains
|
|
127
127
|
* which are allowed to be retrieved by `GM_xmlhttpRequest`
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
var W=Object.defineProperty;var q=(e,r,t)=>r in e?W(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var
|
|
2
|
-
`)}};function T({entry:e,header:r}){return{build:{lib:{entry:e,name:r.name,formats:["iife"],fileName:()=>`${r.name}.js`},rollupOptions:{output:{extend:!0}}}}}var v="vite-userscript-plugin",P='console.warn("__STYLE__")',_=new RegExp(/\.(t|j)sx?$/),R=new RegExp(/\.(s[ac]|c|le)ss$/),B=["setValue","getValue","deleteValue","listValues","setClipboard","addStyle","addElement","addValueChangeListener","removeValueChangeListener","registerMenuCommand","unregisterMenuCommand","download","getTab","getTabs","saveTab","openInTab","notification","getResourceURL","getResourceText","xmlhttpRequest","log","info"],z=["unsafeWindow","window.onurlchange","window.focus","window.close"],u=B.map(e=>[`GM_${e}`,`GM.${e}`]).flat();u.push(...z);import{transformWithEsbuild as I}from"vite";function U(e){return[...new Set(Array.isArray(e)?e:e?[e]:[])]}async function g({file:e,name:r,loader:t}){let{code:n}=await I(e,r,{loader:t,minify:!0,sourcemap:!1,legalComments:"none"});return n}function F(e){let r=[];for(let t of u)e.indexOf(t)!==-1&&r.push(t);return r}var L=class{constructor(){
|
|
3
|
-
`,"")),""}inject(){return this.styles.size?`GM_addStyle(\`${[...this.styles.values()].join("")}\`)`:void 0}merge(r){let t=[];for(let n of r){let l=this.styles.get(n);!l||t.push([n,l])}this.styles.clear(),t.forEach(n=>this.styles.set(...n))}},b=new L;function se(e){try{let r,t,n=null,l=Y(Q(import.meta.url)),j=re("info",{prefix:`[${v}]`,allowClearScreen:!0}),y=J((s,o)=>te(s,o,{public:r.build.outDir})),k=ne;return new k({httpServer:y}).on("request",s=>{n=s.accept(null,s.origin)}),{name:v,apply:"build",config(){return T(e)},async configResolved(s){r=s,t=s.build.watch??!1,e.entry=c(s.root,e.entry),e.header.name=ee(e.header.name),Array.from(["match","require","include","exclude","resource","connect"]).forEach(o=>{let i=e.header[o];e.header[o]=U(i)}),e.server={port:await X(),open:!1,...e.server}},async transform(s,o){let i=s;return R.test(o)&&(i=await b.add(s,o)),o.includes(e.entry)&&(i=s+P),{code:i,map:null}},generateBundle(s,o){for(let i of Object.values(o)){if(i.type==="asset")continue;let p=Object.keys(i.modules).filter($=>R.test($));p.length&&b.merge(p)}},async writeBundle(s,o){let{open:i,port:p}=e.server,$=`${e.header.name}.user.js`,M=`${e.header.name}.proxy.user.js`,V=`${e.header.name}.meta.js`;for(let[m]of Object.entries(o))if(_.test(m)){let w=r.root,x=r.build.outDir,C=c(w,x,m),
|
|
1
|
+
var W=Object.defineProperty;var q=(e,r,t)=>r in e?W(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var d=(e,r,t)=>(q(e,typeof r!="symbol"?r+"":r,t),t);import{readFileSync as O,writeFileSync as h}from"fs";import{createServer as J}from"http";import{dirname as Y,resolve as c}from"path";import{fileURLToPath as Q}from"url";import X from"get-port";import Z from"open";import E from"picocolors";import ee from"sanitize-filename";import te from"serve-handler";import{createLogger as re}from"vite";import{server as ne}from"websocket";var f=class{constructor(r){this.config=r;d(this,"header",[]);d(this,"configKeys");d(this,"maxKeyLength");this.downloadMeta(),this.configKeys=Object.keys(this.config),this.maxKeyLength=Math.max(...this.configKeys.map(t=>t.length))+1}downloadMeta(){let{name:r,homepage:t,updateURL:n,downloadURL:l}=this.config;t&&!n&&!l&&(this.config.updateURL=new URL(`${r}.meta.js`,t).href,this.config.downloadURL=new URL(`${r}.user.js`,t).href)}addSpaces(r){return" ".repeat(this.maxKeyLength-r.length)}addMetadata(r,t){t=Array.isArray(t)?t.join(" "):t===!0?"":t;let n=this.addSpaces(r);this.header.push(`// @${r}${n}${t}`)}generate(){for(let[r,t]of Object.entries(this.config))if(Array.isArray(t))t.forEach(n=>this.addMetadata(r,n));else{if(t===void 0)continue;this.addMetadata(r,t)}return["// ==UserScript==",...this.header,"// ==/UserScript=="].join(`
|
|
2
|
+
`)}};function T({entry:e,header:r}){return{build:{lib:{entry:e,name:r.name,formats:["iife"],fileName:()=>`${r.name}.js`},rollupOptions:{output:{extend:!0}}}}}var v="vite-userscript-plugin",P='console.warn("__STYLE__")',_=new RegExp(/\.(t|j)sx?$/),R=new RegExp(/\.(s[ac]|c|le)ss$/),B=["setValue","getValue","deleteValue","listValues","setClipboard","addStyle","addElement","addValueChangeListener","removeValueChangeListener","registerMenuCommand","unregisterMenuCommand","download","getTab","getTabs","saveTab","openInTab","notification","getResourceURL","getResourceText","xmlhttpRequest","log","info"],z=["unsafeWindow","window.onurlchange","window.focus","window.close"],u=B.map(e=>[`GM_${e}`,`GM.${e}`]).flat();u.push(...z);import{transformWithEsbuild as I}from"vite";function U(e){return[...new Set(Array.isArray(e)?e:e?[e]:[])]}async function g({file:e,name:r,loader:t}){let{code:n}=await I(e,r,{loader:t,minify:!0,sourcemap:!1,legalComments:"none"});return n}function F(e){let r=[];for(let t of u)e.indexOf(t)!==-1&&r.push(t);return r}var L=class{constructor(){d(this,"styles",new Map)}async add(r,t){let n=await g({file:r,name:t,loader:"css"});return this.styles.set(t,n.replace(`
|
|
3
|
+
`,"")),""}inject(){return this.styles.size?`GM_addStyle(\`${[...this.styles.values()].join("")}\`)`:void 0}merge(r){let t=[];for(let n of r){let l=this.styles.get(n);!l||t.push([n,l])}this.styles.clear(),t.forEach(n=>this.styles.set(...n))}},b=new L;function se(e){try{let r,t,n=null,l=Y(Q(import.meta.url)),j=re("info",{prefix:`[${v}]`,allowClearScreen:!0}),y=J((s,o)=>te(s,o,{public:r.build.outDir})),k=ne;return new k({httpServer:y}).on("request",s=>{n=s.accept(null,s.origin)}),{name:v,apply:"build",config(){return T(e)},async configResolved(s){r=s,t=s.build.watch??!1,e.entry=c(s.root,e.entry),e.header.name=ee(e.header.name),Array.from(["match","require","include","exclude","resource","connect"]).forEach(o=>{let i=e.header[o];e.header[o]=U(i)}),e.server={port:await X(),open:!1,...e.server}},async transform(s,o){let i=s;return R.test(o)&&(i=await b.add(s,o)),o.includes(e.entry)&&(i=s+P),{code:i,map:null}},generateBundle(s,o){for(let i of Object.values(o)){if(i.type==="asset")continue;let p=Object.keys(i.modules).filter($=>R.test($));p.length&&b.merge(p)}},async writeBundle(s,o){let{open:i,port:p}=e.server,$=`${e.header.name}.user.js`,M=`${e.header.name}.proxy.user.js`,V=`${e.header.name}.meta.js`;for(let[m]of Object.entries(o))if(_.test(m)){let w=r.root,x=r.build.outDir,C=c(w,x,m),A=c(w,x,$),D=c(w,x,M),K=c(w,x,V),S=c(l,`ws-${e.header.name}.js`);try{let a=O(C,"utf8");if(a=a.replace(P,`${b.inject()}`),a=await g({file:a,name:m,loader:"js"}),e.header.grant=U(t?u:[...F(a),...e.header.grant??[]]),t){let H=O(c(l,"ws.js"),"utf8"),N=await g({file:H.replace("__WS__",`ws://localhost:${p}`),name:S,loader:"js"});h(S,N),h(D,new f({...e.header,require:[...e.header.require,"file://"+S,"file://"+C]}).generate())}let G=new f(e.header).generate();h(C,a),h(K,G),h(A,`${G}
|
|
4
4
|
|
|
5
5
|
${a}`)}catch(a){console.log(a)}}if(t&&!y.listening){let m=`http://localhost:${p}`;y.listen(p,()=>{j.clearScreen("info"),j.info(E.blue(`Running at: ${E.gray(m)}`))}),i&&await Z(`${m}/${M}`)}else t||(y.close(),process.exit(0))},buildEnd(){t&&(j.clearScreen("info"),n&&n.sendUTF(JSON.stringify({message:"reload"})))}}}catch(r){return console.error(r),{name:v}}}export{se as default};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vite-userscript-plugin",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.7",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -13,6 +13,16 @@
|
|
|
13
13
|
"dist",
|
|
14
14
|
"types"
|
|
15
15
|
],
|
|
16
|
+
"scripts": {
|
|
17
|
+
"dev": "tsup --watch",
|
|
18
|
+
"build": "tsup",
|
|
19
|
+
"test": "vitest",
|
|
20
|
+
"test:ui": "vitest --ui --watch",
|
|
21
|
+
"dev:examples": "turbo run dev --filter='./examples/*'",
|
|
22
|
+
"build:examples": "turbo run build --filter='./examples/*'",
|
|
23
|
+
"format": "prettier --write --ignore-unknown **",
|
|
24
|
+
"prepublishOnly": "pnpm build"
|
|
25
|
+
},
|
|
16
26
|
"repository": {
|
|
17
27
|
"type": "git",
|
|
18
28
|
"url": "git+https://github.com/crashmax-dev/vite-userscript-plugin.git"
|
|
@@ -58,14 +68,5 @@
|
|
|
58
68
|
},
|
|
59
69
|
"peerDependencies": {
|
|
60
70
|
"vite": ">=2.9.0"
|
|
61
|
-
},
|
|
62
|
-
"scripts": {
|
|
63
|
-
"dev": "tsup --watch",
|
|
64
|
-
"build": "tsup",
|
|
65
|
-
"test": "vitest",
|
|
66
|
-
"test:ui": "vitest --ui --watch",
|
|
67
|
-
"dev:examples": "turbo run dev --filter='./examples/*'",
|
|
68
|
-
"build:examples": "turbo run build --filter='./examples/*'",
|
|
69
|
-
"format": "prettier --write --ignore-unknown **"
|
|
70
71
|
}
|
|
71
|
-
}
|
|
72
|
+
}
|