vite-userscript-plugin 0.9.0 → 1.0.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 CHANGED
@@ -32,12 +32,12 @@ pnpm add vite-userscript-plugin -D
32
32
 
33
33
  ```js
34
34
  import { defineConfig } from 'vite'
35
- import { UserscriptPlugin } from 'vite-userscript-plugin'
35
+ import Userscript from 'vite-userscript-plugin'
36
36
  import { name, version } from './package.json'
37
37
 
38
38
  export default defineConfig({
39
39
  plugins: [
40
- UserscriptPlugin({
40
+ Userscript({
41
41
  entry: 'src/index.ts',
42
42
  metadata: {
43
43
  name,
@@ -88,4 +88,4 @@ export interface UserscriptPluginConfig {
88
88
 
89
89
  ## Example
90
90
 
91
- See the [example](https://github.com/crashmax-dev/vite-userscript-plugin/tree/master/packages/demo) folder.
91
+ See the [examples](https://github.com/crashmax-dev/vite-userscript-plugin/tree/master/examples) folder.
@@ -1 +1 @@
1
- "use strict";async 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().then(()=>console.info("Connection to ws..."));
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();
@@ -1 +1 @@
1
- async 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().then(()=>console.info("Connection to ws..."));
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 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
- `)}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,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)}
1
+ "use strict";var A=Object.create;var M=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)M(e,r,{get:t[r],enumerable:!0})},R=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of N(t))!K.call(e,o)&&o!==r&&M(e,o,{get:()=>t[o],enumerable:!(s=B(t,o))||s.enumerable});return e};var C=(e,t,r)=>(r=e!=null?A(z(e)):{},R(t||!e||!e.__esModule?M(r,"default",{value:e,enumerable:!0}):r,e)),I=e=>R(M({},"__esModule",{value:!0}),e);var J={};Y(J,{default:()=>F});module.exports=I(J);var U=C(require("get-port"),1),f=require("fs"),L=require("http"),m=require("path"),P=require("url"),k=C(require("sanitize-filename"),1),q=require("websocket");function S(e){let t=[],r=Object.keys(e),s=Math.max(...r.map(a=>a.length))+1,o=a=>" ".repeat(s-a.length),_=(a,i)=>{let n=typeof i=="boolean";n&&!i||(i=n?"":o(a)+i.toString(),t.push(`// @${a}${i}`))};for(let[a,i]of Object.entries(e))if(Array.isArray(i))i.forEach(n=>_(a,n));else{if(i===void 0)continue;_(a,i)}return["// ==UserScript==",...t,"// ==/UserScript=="].join(`
2
+ `)}var $=new RegExp(/.(t|j)sx?/),j=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 p(e){return[...new Set(Array.isArray(e)?e:e?[e]:[])]}async function G({file:e,name:t,loader:r}){let{code:s}=await(0,T.transformWithEsbuild)(e,t,{loader:r,minify:!0});return s}function O(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 s=await G({file:t,name:r,loader:"css"});return this.styles.set(r,s.replace(`
3
+ `,"")),""}inject(){return this.styles.size?`GM_addStyle(\`${[...this.styles.values()].join("")}\`)`:void 0}merge(t){let r=[];for(let s of t){let o=this.styles.get(s);!o||r.push([s,o])}this.styles.clear(),r.forEach(s=>this.styles.set(...s))}},x=new v;var E={};function F(e){let t,r,s=null,o=null,_=(0,L.createServer)(),a=q.server;return new a({httpServer:_}).on("request",n=>{o=n.accept(null,n.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(n){t=n,r=n.build.watch??!1;let{name:u,match:l,require:y,include:h,exclude:c,resource:g,connect:b}=e.metadata;e.entry=(0,m.resolve)(n.root,e.entry),e.metadata.name=(0,k.default)(u),e.metadata.match=p(l),e.metadata.require=p(y),e.metadata.include=p(h),e.metadata.exclude=p(c),e.metadata.resource=p(g),e.metadata.connect=p(b),e.autoGrants=e.autoGrants??!0},async transform(n,u){let l=n;return j.test(u)&&(l=await x.add(n,u)),u.includes(e.entry)&&(l=n+"__STYLE__"),{code:l,map:null}},generateBundle(n,u){for(let[l,y]of Object.entries(u)){let c=Object.keys(y.modules).filter(g=>j.test(g));c.length>0&&x.merge(c)}},async writeBundle(n,u){!s&&r&&(s=await(0,U.default)(),_.listen(s));for(let[l]of Object.entries(u))if($.test(l)){let y=t.root,h=t.build.outDir||"dist",c=(0,m.resolve)(y,h,l),g=(0,m.resolve)((0,m.dirname)((0,P.fileURLToPath)(E.url)),`hot-reload-${e.metadata.name}.js`),b=(0,m.resolve)(y,h,`${e.metadata.name}.proxy.user.js`),V=(0,m.resolve)(y,h,`${e.metadata.name}.user.js`);try{let d=(0,f.readFileSync)(c,"utf8");if(e.metadata.grant=p(r?w:e.autoGrants??!0?O(d):[...e.metadata.grant??[],"GM_addStyle","GM_info"]),r){let D=(0,f.readFileSync)((0,m.resolve)((0,m.dirname)((0,P.fileURLToPath)(E.url)),"hot-reload.js"),"utf8"),W=await G({file:D.replace("__WS__",`ws://localhost:${s}`),name:g,loader:"js"});(0,f.writeFileSync)(g,W),(0,f.writeFileSync)(b,S({...e.metadata,require:[...e.metadata.require,"file://"+g,"file://"+c]}))}d=d.replace("__STYLE__",`${x.inject()}`),d=await G({file:d,name:l,loader:"js"}),(0,f.writeFileSync)(c,d),(0,f.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 Q=V;0&&(module.exports={UserscriptPlugin});
5
+ ${d}`)}catch(d){console.log(d)}}r||(_.close(),process.exit(0))},buildEnd(){o&&o.sendUTF(JSON.stringify({message:"reload"}))}}}0&&(module.exports={});
package/dist/index.d.ts CHANGED
@@ -205,4 +205,4 @@ interface UserscriptPluginConfig {
205
205
 
206
206
  declare function UserscriptPlugin(config: UserscriptPluginConfig): PluginOption;
207
207
 
208
- export { UserscriptPlugin, UserscriptPluginConfig, UserscriptPlugin as default };
208
+ export { UserscriptPluginConfig, UserscriptPlugin as default };
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 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)}
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 _}from"path";import{fileURLToPath as $}from"url";import q from"sanitize-filename";import{server as F}from"websocket";function b(e){let s=[],t=Object.keys(e),n=Math.max(...t.map(o=>o.length))+1,u=o=>" ".repeat(n-o.length),y=(o,a)=>{let r=typeof a=="boolean";r&&!a||(a=r?"":u(o)+a.toString(),s.push(`// @${o}${a}`))};for(let[o,a]of Object.entries(e))if(Array.isArray(a))a.forEach(r=>y(o,r));else{if(a===void 0)continue;y(o,a)}return["// ==UserScript==",...s,"// ==/UserScript=="].join(`
2
+ `)}var v=new RegExp(/.(t|j)sx?/),S=new RegExp(/\.(s?css|sass)$/),G=["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 c(e){return[...new Set(Array.isArray(e)?e:e?[e]:[])]}async function h({file:e,name:s,loader:t}){let{code:n}=await U(e,s,{loader:t,minify:!0});return n}function P(e){let s=[];for(let t of G)e.indexOf(t)!==-1&&s.push(t);return s}var j=class{styles=new Map;async add(s,t){let n=await h({file:s,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(s){let t=[];for(let n of s){let u=this.styles.get(n);!u||t.push([n,u])}this.styles.clear(),t.forEach(n=>this.styles.set(...n))}},M=new j;function V(e){let s,t,n=null,u=null,y=k(),o=F;return new o({httpServer:y}).on("request",r=>{u=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){s=r,t=r.build.watch??!1;let{name:l,match:i,require:p,include:g,exclude:d,resource:f,connect:x}=e.metadata;e.entry=_(r.root,e.entry),e.metadata.name=q(l),e.metadata.match=c(i),e.metadata.require=c(p),e.metadata.include=c(g),e.metadata.exclude=c(d),e.metadata.resource=c(f),e.metadata.connect=c(x),e.autoGrants=e.autoGrants??!0},async transform(r,l){let i=r;return S.test(l)&&(i=await M.add(r,l)),l.includes(e.entry)&&(i=r+"__STYLE__"),{code:i,map:null}},generateBundle(r,l){for(let[i,p]of Object.entries(l)){let d=Object.keys(p.modules).filter(f=>S.test(f));d.length>0&&M.merge(d)}},async writeBundle(r,l){!n&&t&&(n=await L(),y.listen(n));for(let[i]of Object.entries(l))if(v.test(i)){let p=s.root,g=s.build.outDir||"dist",d=_(p,g,i),f=_(C($(import.meta.url)),`hot-reload-${e.metadata.name}.js`),x=_(p,g,`${e.metadata.name}.proxy.user.js`),T=_(p,g,`${e.metadata.name}.user.js`);try{let m=R(d,"utf8");if(e.metadata.grant=c(t?G:e.autoGrants??!0?P(m):[...e.metadata.grant??[],"GM_addStyle","GM_info"]),t){let O=R(_(C($(import.meta.url)),"hot-reload.js"),"utf8"),E=await h({file:O.replace("__WS__",`ws://localhost:${n}`),name:f,loader:"js"});w(f,E),w(x,b({...e.metadata,require:[...e.metadata.require,"file://"+f,"file://"+d]}))}m=m.replace("__STYLE__",`${M.inject()}`),m=await h({file:m,name:i,loader:"js"}),w(d,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 oe=A;export{A as UserscriptPlugin,oe as default};
5
+ ${m}`)}catch(m){console.log(m)}}t||(y.close(),process.exit(0))},buildEnd(){u&&u.sendUTF(JSON.stringify({message:"reload"}))}}}export{V as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vite-userscript-plugin",
3
- "version": "0.9.0",
3
+ "version": "1.0.0",
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,35 @@
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
- "@types/websocket": "^1.0.5"
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
+ "@vitest/ui": "^0.22.1",
48
+ "tsup": "^6.2.2",
49
+ "turbo": "^1.4.3",
50
+ "typescript": "^4.7.4",
51
+ "vite": "^3.0.9",
52
+ "vite-plugin-dts": "^1.4.1",
53
+ "vitest": "^0.22.1"
41
54
  },
42
55
  "peerDependencies": {
43
- "@types/tampermonkey": ">=4.0.0"
56
+ "@types/tampermonkey": ">=4.0.0",
57
+ "vite": ">=2.9.0"
44
58
  },
45
59
  "scripts": {
46
60
  "dev": "tsup --watch",
47
- "build": "tsup"
61
+ "build": "tsup",
62
+ "test": "vitest",
63
+ "test:ui": "vitest --ui",
64
+ "examples:dev": "turbo run dev --filter='./examples/*'",
65
+ "examples:build": "turbo run build --filter='./examples/*'",
66
+ "format": "prettier --write --ignore-unknown **"
48
67
  }
49
68
  }