vite-userscript-plugin 1.7.1 → 1.7.2

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