vite-userscript-plugin 1.7.2 → 1.8.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/index.cjs +4 -4
- package/dist/index.js +4 -4
- package/package.json +1 -1
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))}}
|
|
1
|
+
"use strict";var te=Object.create;var b=Object.defineProperty;var re=Object.getOwnPropertyDescriptor;var ne=Object.getOwnPropertyNames;var se=Object.getPrototypeOf,oe=Object.prototype.hasOwnProperty;var ie=(e,t)=>{for(var r in t)b(e,r,{get:t[r],enumerable:!0})},_=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ne(t))!oe.call(e,o)&&o!==r&&b(e,o,{get:()=>t[o],enumerable:!(n=re(t,o))||n.enumerable});return e};var v=(e,t,r)=>(r=e!=null?te(se(e)):{},_(t||!e||!e.__esModule?b(r,"default",{value:e,enumerable:!0}):r,e)),ae=e=>_(b({},"__esModule",{value:!0}),e);var me={};ie(me,{default:()=>B});module.exports=ae(me);var c=require("fs"),N=require("http"),p=require("path"),V=v(require("get-port"),1),H=v(require("open"),1),S=v(require("picocolors"),1),W=v(require("serve-handler"),1),q=require("vite"),z=require("websocket");var f=class{constructor(t){this.config=t;this.addHomepageMeta(),this.maxKeyLength=Math.max(...Object.keys(this.config).map(r=>r.length))+1}header=[];maxKeyLength;addHomepageMeta(){let t=this.config.homepage??this.config.homepageURL;t&&(this.config.updateURL=new URL(`${this.config.name}.meta.js`,t).href,this.config.downloadURL=new URL(`${this.config.name}.user.js`,t).href)}addSpaces(t){return" ".repeat(this.maxKeyLength-t.length)}addMetadata(t,r){r=Array.isArray(r)?r.join(" "):r===!0?"":r,this.header.push(`// @${t}${this.addSpaces(t)}${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
|
+
`)}};var O=require("path"),E=require("url"),pe={},L=(0,O.dirname)((0,E.fileURLToPath)(pe.url)),j="vite-userscript-plugin",R='console.warn("__STYLE__")',D=new RegExp(/\.(t|j)sx?$/),C=new RegExp(/\.(s[ac]|c|le)ss$/),le=["setValue","getValue","deleteValue","listValues","setClipboard","addStyle","addElement","addValueChangeListener","removeValueChangeListener","registerMenuCommand","unregisterMenuCommand","download","getTab","getTabs","saveTab","openInTab","notification","getResourceURL","getResourceText","xmlhttpRequest","log","info"],ce=["unsafeWindow","window.onurlchange","window.focus","window.close"],g=le.map(e=>[`GM_${e}`,`GM.${e}`]).flat();g.push(...ce);var k=require("vite");function U(e){return[...new Set(Array.isArray(e)?e:e?[e]:[])]}async function h({file:e,name:t,loader:r}){let{code:n}=await(0,k.transformWithEsbuild)(e,t,{loader:r,minify:!0,sourcemap:!1,legalComments:"none"});return n}function A(e){let t=[];for(let r of g)e.indexOf(r)!==-1&&t.push(r);return t}var G=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))}},$=new G;function B(e){try{let t,r,n=null,o=(0,q.createLogger)("info",{prefix:`[${j}]`,allowClearScreen:!0}),y=(0,N.createServer)((s,i)=>(0,W.default)(s,i,{public:t.build.outDir})),K=z.server;return new K({httpServer:y}).on("request",s=>{n=s.accept(null,s.origin)}),{name:j,apply:"build",config(){return{build:{minify:!1,lib:{entry:e.entry,name:e.header.name,formats:["iife"],fileName:()=>`${e.header.name}.js`},rollupOptions:{output:{extend:!0}}}}},async configResolved(s){t=s,r=s.build.watch??!1,e.entry=(0,p.resolve)(s.root,e.entry),Array.from(["match","require","include","exclude","resource","connect"]).forEach(i=>{let a=e.header[i];e.header[i]=U(a)}),e.server={port:await(0,V.default)(),open:!1,...e.server}},async transform(s,i){let a=s;return C.test(i)&&(a=await $.add(s,i)),i.includes(e.entry)&&(a=s+R),{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(u=>C.test(u));m.length&&$.merge(m)}},async writeBundle(s,i){let{open:a,port:m}=e.server,u=s.sanitizeFileName(e.header.name),I=`${u}.user.js`,F=`${u}.proxy.user.js`,J=`${u}.meta.js`;for(let[d]of Object.entries(i))if(D.test(d)){let w=t.root,x=t.build.outDir,M=(0,p.resolve)(w,x,d),Y=(0,p.resolve)(w,x,I),Q=(0,p.resolve)(w,x,F),X=(0,p.resolve)(w,x,J),P=(0,p.resolve)(L,`ws-${u}.js`);try{let l=(0,c.readFileSync)(M,"utf8");if(l=l.replace(R,`${$.inject()}`),l=await h({file:l,name:d,loader:"js"}),e.header.grant=U(r?g:[...A(l),...e.header.grant??[]]),r){let Z=(0,c.readFileSync)((0,p.resolve)(L,"ws.js"),"utf8"),ee=await h({file:Z.replace("__WS__",`ws://localhost:${m}`),name:P,loader:"js"});(0,c.writeFileSync)(P,ee),(0,c.writeFileSync)(Q,new f({...e.header,require:[...e.header.require??[],"file://"+P,"file://"+M]}).generate())}let T=new f(e.header).generate();(0,c.writeFileSync)(M,l),(0,c.writeFileSync)(X,T),(0,c.writeFileSync)(Y,`${T}
|
|
4
4
|
|
|
5
|
-
${
|
|
5
|
+
${l}`)}catch(l){console.log(l)}}if(r&&!y.listening){let d=`http://localhost:${m}`;y.listen(m,()=>{o.clearScreen("info"),o.info(S.default.bold(`${S.default.cyan(">>> [vite-userscript-plugin]")} ${S.default.gray(d)}`))}),a&&await(0,H.default)(`${d}/${F}`)}else r||(y.close(),process.exit(0))},buildEnd(){r&&(o.clearScreen("info"),n&&n.sendUTF(JSON.stringify({message:"reload"})))}}}catch(t){return console.error(t),{name:j}}}0&&(module.exports={});
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
`)}};var b='console.warn("__STYLE__")',
|
|
3
|
-
`,"")),""}inject(){return this.styles.size?`GM_addStyle(\`${[...this.styles.values()].join("")}\`)`:void 0}merge(r){let t=[];for(let
|
|
1
|
+
import{readFileSync as _,writeFileSync as h}from"fs";import{createServer as I}from"http";import{resolve as l}from"path";import J from"get-port";import Y from"open";import C from"picocolors";import Q from"serve-handler";import{createLogger as X}from"vite";import{server as Z}from"websocket";var d=class{constructor(r){this.config=r;this.addHomepageMeta(),this.maxKeyLength=Math.max(...Object.keys(this.config).map(t=>t.length))+1}header=[];maxKeyLength;addHomepageMeta(){let r=this.config.homepage??this.config.homepageURL;r&&(this.config.updateURL=new URL(`${this.config.name}.meta.js`,r).href,this.config.downloadURL=new URL(`${this.config.name}.user.js`,r).href)}addSpaces(r){return" ".repeat(this.maxKeyLength-r.length)}addMetadata(r,t){t=Array.isArray(t)?t.join(" "):t===!0?"":t,this.header.push(`// @${r}${this.addSpaces(r)}${t}`)}generate(){for(let[r,t]of Object.entries(this.config))if(Array.isArray(t))t.forEach(s=>this.addMetadata(r,s));else{if(t===void 0)continue;this.addMetadata(r,t)}return["// ==UserScript==",...this.header,"// ==/UserScript=="].join(`
|
|
2
|
+
`)}};import{dirname as W}from"path";import{fileURLToPath as q}from"url";var S=W(q(import.meta.url)),b="vite-userscript-plugin",M='console.warn("__STYLE__")',F=new RegExp(/\.(t|j)sx?$/),P=new RegExp(/\.(s[ac]|c|le)ss$/),z=["setValue","getValue","deleteValue","listValues","setClipboard","addStyle","addElement","addValueChangeListener","removeValueChangeListener","registerMenuCommand","unregisterMenuCommand","download","getTab","getTabs","saveTab","openInTab","notification","getResourceURL","getResourceText","xmlhttpRequest","log","info"],B=["unsafeWindow","window.onurlchange","window.focus","window.close"],f=z.map(e=>[`GM_${e}`,`GM.${e}`]).flat();f.push(...B);import{transformWithEsbuild as K}from"vite";function L(e){return[...new Set(Array.isArray(e)?e:e?[e]:[])]}async function g({file:e,name:r,loader:t}){let{code:s}=await K(e,r,{loader:t,minify:!0,sourcemap:!1,legalComments:"none"});return s}function T(e){let r=[];for(let t of f)e.indexOf(t)!==-1&&r.push(t);return r}var R=class{styles=new Map;async add(r,t){let s=await g({file:r,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(r){let t=[];for(let s of r){let c=this.styles.get(s);c&&t.push([s,c])}this.styles.clear(),t.forEach(s=>this.styles.set(...s))}},v=new R;function ee(e){try{let r,t,s=null,c=X("info",{prefix:`[${b}]`,allowClearScreen:!0}),y=I((n,o)=>Q(n,o,{public:r.build.outDir})),O=Z;return new O({httpServer:y}).on("request",n=>{s=n.accept(null,n.origin)}),{name:b,apply:"build",config(){return{build:{minify:!1,lib:{entry:e.entry,name:e.header.name,formats:["iife"],fileName:()=>`${e.header.name}.js`},rollupOptions:{output:{extend:!0}}}}},async configResolved(n){r=n,t=n.build.watch??!1,e.entry=l(n.root,e.entry),Array.from(["match","require","include","exclude","resource","connect"]).forEach(o=>{let i=e.header[o];e.header[o]=L(i)}),e.server={port:await J(),open:!1,...e.server}},async transform(n,o){let i=n;return P.test(o)&&(i=await v.add(n,o)),o.includes(e.entry)&&(i=n+M),{code:i,map:null}},generateBundle(n,o){for(let i of Object.values(o)){if(i.type==="asset")continue;let p=Object.keys(i.modules).filter(m=>P.test(m));p.length&&v.merge(p)}},async writeBundle(n,o){let{open:i,port:p}=e.server,m=n.sanitizeFileName(e.header.name),E=`${m}.user.js`,U=`${m}.proxy.user.js`,D=`${m}.meta.js`;for(let[u]of Object.entries(o))if(F.test(u)){let w=r.root,x=r.build.outDir,j=l(w,x,u),k=l(w,x,E),A=l(w,x,U),N=l(w,x,D),$=l(S,`ws-${m}.js`);try{let a=_(j,"utf8");if(a=a.replace(M,`${v.inject()}`),a=await g({file:a,name:u,loader:"js"}),e.header.grant=L(t?f:[...T(a),...e.header.grant??[]]),t){let V=_(l(S,"ws.js"),"utf8"),H=await g({file:V.replace("__WS__",`ws://localhost:${p}`),name:$,loader:"js"});h($,H),h(A,new d({...e.header,require:[...e.header.require??[],"file://"+$,"file://"+j]}).generate())}let G=new d(e.header).generate();h(j,a),h(N,G),h(k,`${G}
|
|
4
4
|
|
|
5
|
-
${
|
|
5
|
+
${a}`)}catch(a){console.log(a)}}if(t&&!y.listening){let u=`http://localhost:${p}`;y.listen(p,()=>{c.clearScreen("info"),c.info(C.bold(`${C.cyan(">>> [vite-userscript-plugin]")} ${C.gray(u)}`))}),i&&await Y(`${u}/${U}`)}else t||(y.close(),process.exit(0))},buildEnd(){t&&(c.clearScreen("info"),s&&s.sendUTF(JSON.stringify({message:"reload"})))}}}catch(r){return console.error(r),{name:b}}}export{ee as default};
|