vite-userscript-plugin 0.8.3 → 0.9.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/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: resolve(__dirname, 'src/index.ts'),
41
+ entry: 'src/index.ts',
43
42
  metadata: {
44
43
  name,
45
44
  version,
@@ -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"),u=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),y=(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=>y(a,s));else{if(i===void 0)continue;y(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,y=(0,q.createServer)(),a=L.server;return new a({httpServer:y}).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:m,match:l,require:f,include:g,exclude:_,resource:M,connect:b}=e.metadata;e.metadata.name=(0,F.default)(m),e.metadata.match=c(l),e.metadata.require=c(f),e.metadata.include=c(g),e.metadata.exclude=c(_),e.metadata.resource=c(M),e.metadata.connect=c(b)},async transform(s,m){let l=s;return T.test(m)&&(l=await x.add(s,m)),m.includes(e.entry)&&(l=s+S),{code:l,map:null}},generateBundle(s,m){for(let[l,f]of Object.entries(m)){let g=Object.keys(f.modules);x.merge(g)}},async writeBundle(s,m){!n&&r&&(n=await(0,k.default)(),y.listen(n));for(let[l]of Object.entries(m))if($.test(l)){let f=t.root,g=t.build.outDir||"dist",_=(0,u.resolve)(f,g,l),M=(0,u.resolve)((0,u.dirname)((0,P.fileURLToPath)(U.url)),`hot-reload-${e.metadata.name}.js`),b=(0,u.resolve)(f,g,`${e.metadata.name}.proxy.user.js`),A=(0,u.resolve)(f,g,`${e.metadata.name}.user.js`);try{let d=(0,p.readFileSync)(_,"utf8");if(e.metadata.grant=c(r?w:e.autoGrants??!0?E(d):[...e.metadata.grant??[],"GM_addStyle","GM_info"]),r){let D=(0,p.readFileSync)((0,u.resolve)((0,u.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://"+_]}))}d=d.replace(S,`${x.inject()}`),d=await h({file:d,name:l,loader:"js"}),(0,p.writeFileSync)(_,d),(0,p.writeFileSync)(A,`${j(e.metadata)}
1
+ "use strict";var A=Object.create;var G=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)G(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&&G(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?G(r,"default",{value:e,enumerable:!0}):r,e)),I=e=>R(G({},"__esModule",{value:!0}),e);var H={};Y(H,{UserscriptPlugin:()=>F,default:()=>J});module.exports=I(H);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)$/),x=["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 M({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 x)e.indexOf(r)!==-1&&t.push(r);return t}var v=class{styles=new Map;async add(t,r){let s=await M({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))}},w=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:d,match:l,require:g,include:h,exclude:c,resource:y,connect:b}=e.metadata;e.entry=(0,m.resolve)(n.root,e.entry),e.metadata.name=(0,k.default)(d),e.metadata.match=p(l),e.metadata.require=p(g),e.metadata.include=p(h),e.metadata.exclude=p(c),e.metadata.resource=p(y),e.metadata.connect=p(b)},async transform(n,d){let l=n;return j.test(d)&&(l=await w.add(n,d)),d.includes(e.entry)&&(l=n+"__STYLE__"),{code:l,map:null}},generateBundle(n,d){for(let[l,g]of Object.entries(d)){let c=Object.keys(g.modules).filter(y=>j.test(y));c.length>0&&w.merge(c)}},async writeBundle(n,d){!s&&r&&(s=await(0,U.default)(),_.listen(s));for(let[l]of Object.entries(d))if($.test(l)){let g=t.root,h=t.build.outDir||"dist",c=(0,m.resolve)(g,h,l),y=(0,m.resolve)((0,m.dirname)((0,P.fileURLToPath)(E.url)),`hot-reload-${e.metadata.name}.js`),b=(0,m.resolve)(g,h,`${e.metadata.name}.proxy.user.js`),V=(0,m.resolve)(g,h,`${e.metadata.name}.user.js`);try{let u=(0,f.readFileSync)(c,"utf8");if(e.metadata.grant=p(r?x:e.autoGrants??!0?O(u):[...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 M({file:D.replace("__WS__",`ws://localhost:${s}`),name:y,loader:"js"});(0,f.writeFileSync)(y,W),(0,f.writeFileSync)(b,S({...e.metadata,require:[...e.metadata.require,"file://"+y,"file://"+c]}))}u=u.replace("__STYLE__",`${w.inject()}`),u=await M({file:u,name:l,loader:"js"}),(0,f.writeFileSync)(c,u),(0,f.writeFileSync)(V,`${S(e.metadata)}
4
4
 
5
- ${d}`)}catch(d){console.log(d)}}r||(y.close(),process.exit(0))},buildEnd(){o&&o.sendUTF(JSON.stringify({message:"reload"}))}}}var Q=V;0&&(module.exports={UserscriptPlugin});
5
+ ${u}`)}catch(u){console.log(u)}}r||(_.close(),process.exit(0))},buildEnd(){o&&o.sendUTF(JSON.stringify({message:"reload"}))}}}var J=F;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 M}from"path";import{fileURLToPath as T}from"url";import L from"sanitize-filename";import{server as V}from"websocket";function b(e){let r=[],t=Object.keys(e),s=Math.max(...t.map(o=>o.length))+1,d=o=>" ".repeat(s-o.length),f=(o,a)=>{let n=typeof a=="boolean";n&&!a||(a=n?"":d(o)+a.toString(),r.push(`// @${o}${a}`))};for(let[o,a]of Object.entries(e))if(Array.isArray(a))a.forEach(n=>f(o,n));else{if(a===void 0)continue;f(o,a)}return["// ==UserScript==",...r,"// ==/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 _({file:e,name:r,loader:t}){let{code:s}=await k(e,r,{loader:t,minify:!0});return s}function R(e){let r=[];for(let t of h)e.indexOf(t)!==-1&&r.push(t);return r}var S=class{styles=new Map;async add(r,t){let s=await _({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 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 r,t,s=null,d=null,f=F(),o=V;return new o({httpServer:f}).on("request",n=>{d=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){r=n,t=n.build.watch??!1;let{name:l,match:i,require:c,include:p,exclude:g,resource:y,connect:x}=e.metadata;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(y),e.metadata.connect=u(x)},async transform(n,l){let i=n;return P.test(l)&&(i=await G.add(n,l)),l.includes(e.entry)&&(i=n+j),{code:i,map:null}},generateBundle(n,l){for(let[i,c]of Object.entries(l)){let p=Object.keys(c.modules);G.merge(p)}},async writeBundle(n,l){!s&&t&&(s=await q(),f.listen(s));for(let[i]of Object.entries(l))if(v.test(i)){let c=r.root,p=r.build.outDir||"dist",g=M(c,p,i),y=M($(T(import.meta.url)),`hot-reload-${e.metadata.name}.js`),x=M(c,p,`${e.metadata.name}.proxy.user.js`),O=M(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(M($(T(import.meta.url)),"hot-reload.js"),"utf8"),U=await _({file:E.replace("__WS__",`ws://localhost:${s}`),name:y,loader:"js"});w(y,U),w(x,b({...e.metadata,require:[...e.metadata.require,"file://"+y,"file://"+g]}))}m=m.replace(j,`${G.inject()}`),m=await _({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 x}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,d=o=>" ".repeat(n-o.length),g=(o,a)=>{let r=typeof a=="boolean";r&&!a||(a=r?"":d(o)+a.toString(),s.push(`// @${o}${a}`))};for(let[o,a]of Object.entries(e))if(Array.isArray(a))a.forEach(r=>g(o,r));else{if(a===void 0)continue;g(o,a)}return["// ==UserScript==",...s,"// ==/UserScript=="].join(`
2
+ `)}var v=new RegExp(/.(t|j)sx?/),S=new RegExp(/\.(s?css|sass)$/),M=["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 M)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 d=this.styles.get(n);!d||t.push([n,d])}this.styles.clear(),t.forEach(n=>this.styles.set(...n))}},G=new j;function V(e){let s,t,n=null,d=null,g=k(),o=F;return new o({httpServer:g}).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){s=r,t=r.build.watch??!1;let{name:l,match:i,require:p,include:y,exclude:u,resource:f,connect:w}=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(y),e.metadata.exclude=c(u),e.metadata.resource=c(f),e.metadata.connect=c(w)},async transform(r,l){let i=r;return S.test(l)&&(i=await G.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 u=Object.keys(p.modules).filter(f=>S.test(f));u.length>0&&G.merge(u)}},async writeBundle(r,l){!n&&t&&(n=await L(),g.listen(n));for(let[i]of Object.entries(l))if(v.test(i)){let p=s.root,y=s.build.outDir||"dist",u=_(p,y,i),f=_(C($(import.meta.url)),`hot-reload-${e.metadata.name}.js`),w=_(p,y,`${e.metadata.name}.proxy.user.js`),T=_(p,y,`${e.metadata.name}.user.js`);try{let m=R(u,"utf8");if(e.metadata.grant=c(t?M: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"});x(f,E),x(w,b({...e.metadata,require:[...e.metadata.require,"file://"+f,"file://"+u]}))}m=m.replace("__STYLE__",`${G.inject()}`),m=await h({file:m,name:i,loader:"js"}),x(u,m),x(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||(g.close(),process.exit(0))},buildEnd(){d&&d.sendUTF(JSON.stringify({message:"reload"}))}}}var ne=V;export{V as UserscriptPlugin,ne as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vite-userscript-plugin",
3
- "version": "0.8.3",
3
+ "version": "0.9.2",
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
  }