vite-userscript-plugin 0.8.3 → 0.9.0
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/README.md +1 -2
- package/dist/index.cjs +3 -3
- package/dist/index.js +3 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -31,7 +31,6 @@ pnpm add vite-userscript-plugin -D
|
|
|
31
31
|
### `vite.config.ts`
|
|
32
32
|
|
|
33
33
|
```js
|
|
34
|
-
import { resolve } from 'path'
|
|
35
34
|
import { defineConfig } from 'vite'
|
|
36
35
|
import { UserscriptPlugin } from 'vite-userscript-plugin'
|
|
37
36
|
import { name, version } from './package.json'
|
|
@@ -39,7 +38,7 @@ import { name, version } from './package.json'
|
|
|
39
38
|
export default defineConfig({
|
|
40
39
|
plugins: [
|
|
41
40
|
UserscriptPlugin({
|
|
42
|
-
entry:
|
|
41
|
+
entry: 'src/index.ts',
|
|
43
42
|
metadata: {
|
|
44
43
|
name,
|
|
45
44
|
version,
|
package/dist/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use strict";var B=Object.create;var G=Object.defineProperty;var N=Object.getOwnPropertyDescriptor;var z=Object.getOwnPropertyNames;var K=Object.getPrototypeOf,I=Object.prototype.hasOwnProperty;var J=(e,t)=>{for(var r in t)G(e,r,{get:t[r],enumerable:!0})},R=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of z(t))!I.call(e,o)&&o!==r&&G(e,o,{get:()=>t[o],enumerable:!(n=N(t,o))||n.enumerable});return e};var C=(e,t,r)=>(r=e!=null?B(K(e)):{},R(t||!e||!e.__esModule?G(r,"default",{value:e,enumerable:!0}):r,e)),H=e=>R(G({},"__esModule",{value:!0}),e);var X={};J(X,{UserscriptPlugin:()=>V,default:()=>Q});module.exports=H(X);var k=C(require("get-port"),1),p=require("fs"),q=require("http"),
|
|
1
|
+
"use strict";var B=Object.create;var G=Object.defineProperty;var N=Object.getOwnPropertyDescriptor;var z=Object.getOwnPropertyNames;var K=Object.getPrototypeOf,I=Object.prototype.hasOwnProperty;var J=(e,t)=>{for(var r in t)G(e,r,{get:t[r],enumerable:!0})},R=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of z(t))!I.call(e,o)&&o!==r&&G(e,o,{get:()=>t[o],enumerable:!(n=N(t,o))||n.enumerable});return e};var C=(e,t,r)=>(r=e!=null?B(K(e)):{},R(t||!e||!e.__esModule?G(r,"default",{value:e,enumerable:!0}):r,e)),H=e=>R(G({},"__esModule",{value:!0}),e);var X={};J(X,{UserscriptPlugin:()=>V,default:()=>Q});module.exports=H(X);var k=C(require("get-port"),1),p=require("fs"),q=require("http"),m=require("path"),P=require("url"),F=C(require("sanitize-filename"),1),L=require("websocket");function j(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
2
|
`)}var $=new RegExp(/.(t|j)sx?/),T=new RegExp(/\.(s?css|sass)$/),S='console.warn("__TEMPLATE__")',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 O=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,O.transformWithEsbuild)(e,t,{loader:r,minify:!0});return n}function E(e){let t=[];for(let r of w)e.indexOf(r)!==-1&&t.push(r);return t}var v=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 v;var U={};function V(e){let t,r,n=null,o=null,
|
|
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 v;var U={};function V(e){let t,r,n=null,o=null,g=(0,q.createServer)(),a=L.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,F.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 T.test(d)&&(l=await x.add(s,d)),d.includes(e.entry)&&(l=s+S),{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,k.default)(),g.listen(n));for(let[l]of Object.entries(d))if($.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,P.fileURLToPath)(U.url)),`hot-reload-${e.metadata.name}.js`),b=(0,m.resolve)(f,y,`${e.metadata.name}.proxy.user.js`),A=(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?E(u):[...e.metadata.grant??[],"GM_addStyle","GM_info"]),r){let D=(0,p.readFileSync)((0,m.resolve)((0,m.dirname)((0,P.fileURLToPath)(U.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,j({...e.metadata,require:[...e.metadata.require,"file://"+M,"file://"+_]}))}u=u.replace(S,`${x.inject()}`),u=await h({file:u,name:l,loader:"js"}),(0,p.writeFileSync)(_,u),(0,p.writeFileSync)(A,`${j(e.metadata)}
|
|
4
4
|
|
|
5
|
-
${
|
|
5
|
+
${u}`)}catch(u){console.log(u)}}r||(g.close(),process.exit(0))},buildEnd(){o&&o.sendUTF(JSON.stringify({message:"reload"}))}}}var Q=V;0&&(module.exports={UserscriptPlugin});
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import q from"get-port";import{readFileSync as C,writeFileSync as w}from"fs";import{createServer as F}from"http";import{dirname as $,resolve as
|
|
2
|
-
`)}var v=new RegExp(/.(t|j)sx?/),P=new RegExp(/\.(s?css|sass)$/),j='console.warn("__TEMPLATE__")',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 k}from"vite";function u(e){return[...new Set(Array.isArray(e)?e:e?[e]:[])]}async function
|
|
3
|
-
`,"")),""}inject(){return this.styles.size?`GM_addStyle(\`${[...this.styles.values()].join("")}\`)`:void 0}merge(
|
|
1
|
+
import q from"get-port";import{readFileSync as C,writeFileSync as w}from"fs";import{createServer as F}from"http";import{dirname as $,resolve as y}from"path";import{fileURLToPath as T}from"url";import L from"sanitize-filename";import{server as V}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 v=new RegExp(/.(t|j)sx?/),P=new RegExp(/\.(s?css|sass)$/),j='console.warn("__TEMPLATE__")',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 k}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 k(e,n,{loader:t,minify:!0});return s}function R(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 A(e){let n,t,s=null,d=null,f=F(),o=V;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=L(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 P.test(l)&&(i=await G.add(r,l)),l.includes(e.entry)&&(i=r+j),{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 q(),f.listen(s));for(let[i]of Object.entries(l))if(v.test(i)){let c=n.root,p=n.build.outDir||"dist",g=y(c,p,i),_=y($(T(import.meta.url)),`hot-reload-${e.metadata.name}.js`),x=y(c,p,`${e.metadata.name}.proxy.user.js`),O=y(c,p,`${e.metadata.name}.user.js`);try{let m=C(g,"utf8");if(e.metadata.grant=u(t?h:e.autoGrants??!0?R(m):[...e.metadata.grant??[],"GM_addStyle","GM_info"]),t){let E=C(y($(T(import.meta.url)),"hot-reload.js"),"utf8"),U=await M({file:E.replace("__WS__",`ws://localhost:${s}`),name:_,loader:"js"});w(_,U),w(x,b({...e.metadata,require:[...e.metadata.require,"file://"+_,"file://"+g]}))}m=m.replace(j,`${G.inject()}`),m=await M({file:m,name:i,loader:"js"}),w(g,m),w(O,`${b(e.metadata)}
|
|
4
4
|
|
|
5
5
|
${m}`)}catch(m){console.log(m)}}t||(f.close(),process.exit(0))},buildEnd(){d&&d.sendUTF(JSON.stringify({message:"reload"}))}}}var oe=A;export{A as UserscriptPlugin,oe as default};
|