From 567eee126f2fab6d7504335e1b9bdb45688e9d92 Mon Sep 17 00:00:00 2001 From: nomyTx Date: Fri, 15 Jul 2022 15:07:53 +0200 Subject: [PATCH] Run prettier + un-gitignore dist --- .gitignore | 1 - dist/build.js | 17 ++++++++++++ package.json | 23 ++++++++-------- rollup.config.js | 70 ++++++++++++++++++++++++++++-------------------- 4 files changed, 69 insertions(+), 42 deletions(-) create mode 100644 dist/build.js diff --git a/.gitignore b/.gitignore index ff8123c..3701fcb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,2 @@ node_modules/ -dist/ pnpm-lock.yaml \ No newline at end of file diff --git a/dist/build.js b/dist/build.js new file mode 100644 index 0000000..bdf0351 --- /dev/null +++ b/dist/build.js @@ -0,0 +1,17 @@ +!function(){"use strict";function getModules(){let a={};return window.webpackChunkdiscord_app?window.webpackChunkdiscord_app.push([[Math.random().toString(36)],{},b=>{a=b}]):a=webpackJsonp([],[(a,b,c)=>{a.exports=c}]),a.c}let webpack={modules:getModules(),filter:function(a,b){let c=[];for(let d in b){let e=b[d].exports;e&&(e.default&&e.__esModule&&a(e.default)?c.push(e.default):a(e)&&c.push(e))}return c},find:a=>webpack.filter(a,webpack.modules)[0],findAll:a=>webpack.filter(a,webpack.modules),findByProps:(...a)=>webpack.find(b=>a.every(a=>void 0!==b[a])),findByPropsAll:(...a)=>webpack.findAll(b=>a.every(a=>void 0!==b[a])),findByDisplayName:a=>webpack.find(b=>b?.displayName===a),findByStrings:(...a)=>webpack.find(b=>a.every(a=>b.toString().contains(a))),reloadModules(){webpack.modules=getModules()}};function promisifyRequest(a){return new Promise((b,c)=>{a.oncomplete=a.onsuccess=()=>b(a.result),a.onabort=a.onerror=()=>c(a.error)})}function createStore(a,b){let c=indexedDB.open(a);c.onupgradeneeded=()=>c.result.createObjectStore(b);let d=promisifyRequest(c);return(a,c)=>d.then(d=>c(d.transaction(b,a).objectStore(b)))}let defaultGetStoreFunc;function defaultGetStore(){return defaultGetStoreFunc||(defaultGetStoreFunc=createStore("keyval-store","keyval")),defaultGetStoreFunc}function get(a,b=defaultGetStore()){return b("readonly",b=>promisifyRequest(b.get(a)))}function set(a,b,c=defaultGetStore()){return c("readwrite",c=>(c.put(b,a),promisifyRequest(c.transaction)))}function eachCursor(a,b){return a.openCursor().onsuccess=function(){this.result&&(b(this.result),this.result.continue())},promisifyRequest(a.transaction)}var idb=Object.freeze({__proto__:null,clear:function(a=defaultGetStore()){return a("readwrite",a=>(a.clear(),promisifyRequest(a.transaction)))},createStore:createStore,del:function(a,b=defaultGetStore()){return b("readwrite",b=>(b.delete(a),promisifyRequest(b.transaction)))},delMany:function(a,b=defaultGetStore()){return b("readwrite",b=>(a.forEach(a=>b.delete(a)),promisifyRequest(b.transaction)))},entries:function(a=defaultGetStore()){return a("readonly",b=>{if(b.getAll&&b.getAllKeys)return Promise.all([promisifyRequest(b.getAllKeys()),promisifyRequest(b.getAll()),]).then(([a,b])=>a.map((a,c)=>[a,b[c]]));let c=[];return a("readonly",a=>eachCursor(a,a=>c.push([a.key,a.value])).then(()=>c))})},get:get,getMany:function(a,b=defaultGetStore()){return b("readonly",b=>Promise.all(a.map(a=>promisifyRequest(b.get(a)))))},keys:function(a=defaultGetStore()){return a("readonly",a=>{if(a.getAllKeys)return promisifyRequest(a.getAllKeys());let b=[];return eachCursor(a,a=>b.push(a.key)).then(()=>b)})},promisifyRequest:promisifyRequest,set:set,setMany:function(a,b=defaultGetStore()){return b("readwrite",b=>(a.forEach(a=>b.put(a[1],a[0])),promisifyRequest(b.transaction)))},update:function(a,b,c=defaultGetStore()){return c("readwrite",c=>new Promise((d,e)=>{c.get(a).onsuccess=function(){try{c.put(b(this.result),a),d(promisifyRequest(c.transaction))}catch(f){e(f)}}}))},values:function(a=defaultGetStore()){return a("readonly",a=>{if(a.getAll)return promisifyRequest(a.getAll());let b=[];return eachCursor(a,a=>b.push(a.value)).then(()=>b)})}}),Events=Object.freeze({GET:"GET",SET:"SET",DELETE:"DELETE",UPDATE:"UPDATE"});class EventEmitter{constructor(){for(let a of(this.listeners=Object.values(Events).reduce((a,b)=>(a[b]=new Set,a),{}),this.on=function(a,b){if(this.listeners[a].has(b))throw Error(`This listener on ${a} already exists.`);this.listeners[a].add(b)},this.once=function(a,b){let c=(a,d)=>{this.off(a,c),b(a,d)};this.on(a,c)},this.off=function(a,b){this.listeners[a].delete(b)},this.emit=function(a,b){for(let c of this.listeners[a])c(a,b)},Object.values(Events)))this[a.toLowerCase()]=b=>{this.emit(a,b)}}}function make(a={},{nestArrays:b=!0}={}){let c=new EventEmitter;function d(a,e,f){return new Proxy(a,{get(a,g){let h=[...f,g],i=a[g];return null!=i?(c.get({path:h,value:i}),!b&&Array.isArray(i))?i:"object"==typeof i?d(i,e,h):i:d(a[g]={},e,h)},set:(a,b,d)=>(a[b]=d,c.set({path:[...f,b],value:d}),!0),deleteProperty:(a,b)=>!!delete a[b]&&(c.delete({path:[...f,b]}),!0),has:(a,b)=>("object"!=typeof a[b]||0!==Object.keys(a[b]).length)&&b in a})}return Object.assign({store:d(a,a,[]),ghost:a},c)}var nests=Object.freeze({__proto__:null,Events:Events,make:make});let React$1=webpack.findByProps("createElement"),{useRef,useReducer,useEffect}=React$1;function useNest(a,b=!1,c=()=>!0){useRef(a.ghost);let[,d]=useReducer(a=>~a,0);return useEffect(()=>{function e(a,b){c(a,b)&&d()}return a.on(Events.UPDATE,e),b||(a.on(Events.SET,e),a.on(Events.DELETE,e)),()=>{a.off(Events.UPDATE,e),b||(a.off(Events.SET,e),a.off(Events.DELETE,e))}},[]),a.ghost}let{findByProps}=webpack,React=findByProps("createElement");var common={React,ReactDOM:findByProps("hydrate"),dispatch:findByProps("dirtyDispatch").__proto__,idb,nests};let styleBase=` +@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@700&display=swap'); +font-family: 'IBM Plex Mono', monospace; +`,styleBg=` +${styleBase} +color: #1d1131; +background-color: #aa8dd8; +font-weight: 600; +font-size: 0.9em; +padding: 0px 5px 1px 5px; +border-radius: 5px; +`,styleTxt=` +${styleBase} +color: #E2EECE; +font-weight: 500; +font-size: 0.9em; +`;function makeLogger(a,b=!1){return function(c,...d){d=d.join(""),void 0===c&&(c=["Default"],makeLogger("warn")("Requested hierarchy has not been passed to logger function, defaulting to default string",["Logger"])),"string"==typeof c&&(d=c,c=["Default"]);let e=["Demoncord",...c,d],f=[],g="";b&&e.splice(0,1);for(let h=0;h{let plug=currdemon.plugins[key],exports=(0,eval)(plug.initialize),ret=exports.onStart();nest.store[plug.meta.name].ctx=ret,currdemon.status[plug.meta.name]={running:!0}}),extNest.store.pluginsList=currdemon.plugins,extNest.store.pluginsStatus=currdemon.status,await set("demon",currdemon)}async function add(iife,meta){let extNest=demon.summon("internal/nest"),currdemon=await get("demon"),exports=(0,eval)(iife);exports.meta&&(meta=exports.meta),currdemon.plugins[meta.name]={initialize:iife,meta:meta},extNest.store.pluginsList=currdemon.plugins,extNest.store.pluginsStatus=currdemon.status,await set("demon",currdemon)}async function del(name){let extNest=demon.summon("internal/nest"),currdemon=await get("demon");if(currdemon.plugins[name]&&currdemon.status[name].running){let ctx=nest.store[name].ctx;(0,eval)(currdemon.plugins[name].initialize).onStop(ctx)}delete currdemon.status[name],delete currdemon.plugins[name],extNest.store.pluginsList=currdemon.plugins,extNest.store.pluginsStatus=currdemon.status,await set("demon",currdemon)}async function toggle(name){let extNest=demon.summon("internal/nest"),currdemon=await get("demon");if(currdemon.plugins[name]){if(currdemon.status[name]?.running){console.log(currdemon.status[name].ctx);let ctx=nest.store[name].ctx;(0,eval)(currdemon.plugins[name].initialize).onStop(ctx),currdemon.status[name].running=!1}else{let ret=(0,eval)(currdemon.plugins[name].initialize).onStart();nest.store[name].ctx=ret,currdemon.status[name]={running:!0}}}extNest.store.pluginsList=currdemon.plugins,extNest.store.pluginsStatus=currdemon.status,await set("demon",currdemon)}var plugins$1={init:init$1,add,del,toggle};let patchTypes=["a","b","i"],patchedObjects=new Map;function unpatch(a,b,c,d){let e=patchedObjects.get(a),f=e?.[b];if(!f?.[d].has(c))return!1;if(f[d].delete(c),patchTypes.every(a=>0===f[a].size)){let g=Reflect.defineProperty(a,b,{value:f.o,writable:!0,configurable:!0});g||(a[b]=f.o),delete e[b]}return 0==Object.keys(e).length&&patchedObjects.delete(a),!0}var getPatchFunc=a=>(b,c,d,e=!1)=>{if("function"!=typeof c[b])throw Error(`${b} is not a function in ${c.constructor.name}`);patchedObjects.has(c)||patchedObjects.set(c,{});let f=patchedObjects.get(c);if(!f[b]){let g=c[b];f[b]={o:g,b:new Map,i:new Map,a:new Map};let h=(a,d,f)=>{let g=function(a,b,c,d,e){let f=patchedObjects.get(b)?.[a];if(!f)return e?Reflect.construct(b[a],c,d):b[a].apply(d,c);for(let g of f.b.values()){let h=g.call(d,c);Array.isArray(h)&&(c=h)}let i=(...a)=>e?Reflect.construct(f.o,a,d):f.o.apply(d,a);for(let j of f.i.values()){let k=i;i=(...a)=>j.call(d,a,k)}let l=i(...c);for(let m of f.a.values())l=m.call(d,c,l)??l;return l}(b,c,d,a,f);return e&&l(),g},i=new Proxy(g,{apply:(a,b,c)=>h(b,c,!1),construct:(a,b)=>h(g,b,!0),get:(a,b,c)=>"toString"==b?g.toString.bind(g):Reflect.get(a,b,c)}),j=Reflect.defineProperty(c,b,{value:i,configurable:!0,writable:!0});j||(c[b]=i)}let k=Symbol(),l=()=>unpatch(c,b,k,a);return f[b][a].set(k,d),l};let before=getPatchFunc("b"),instead=getPatchFunc("i"),after=getPatchFunc("a");var spitroast=Object.freeze({__proto__:null,instead:instead,before:before,after:after,unpatchAll:function(){for(let[a,b]of patchedObjects.entries())for(let c in b)for(let d of patchTypes)for(let e of b[c]?.[d].keys()??[])unpatch(a,c,e,d)}});let Header$1=webpack.findByProps("Sizes","Tags"),Card=webpack.findByDisplayName("Card");webpack.findByDisplayName("Flex");let FormText=webpack.findByDisplayName("FormText");webpack.findByProps("BorderColors","Colors"),webpack.findByDisplayName("FormDivider");let Switch=webpack.findByDisplayName("Switch");var PlugCard=a=>(useNest(a.nest),a.nest.ghost.pluginsList[a.name]&&a.nest.ghost.pluginsStatus[a.name])?React.createElement(React.Fragment,null,React.createElement(Card,{type:"cardPrimary",className:"demon-settings-card-base",outline:!1,editable:!1},React.createElement(Header$1,{className:"demon-settings-card-header",size:Header$1.Sizes.SIZE_20},a.name),React.createElement("hr",{className:"demon-settings-card-divider"}),React.createElement(FormText,{className:"demon-settings-card-desc"},a.nest.ghost.pluginsList[a.name].meta.desc),React.createElement("svg",{position:"top",async onClick(){del(a.name)},className:"demon-settings-card-delete",viewBox:"0 0 24 24"},React.createElement("path",{fill:"var(--text-muted)",d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zm2.46-7.12 1.41-1.41L12 12.59l2.12-2.12 1.41 1.41L13.41 14l2.12 2.12-1.41 1.41L12 15.41l-2.12 2.12-1.41-1.41L10.59 14l-2.13-2.12zM15.5 4l-1-1h-5l-1 1H5v2h14V4z"})),React.createElement(Switch,{className:"demon-settings-card-switch",checked:a.nest.ghost.pluginsStatus[a.name].running,async onChange(){toggle(a.name)}}))):null;let Header=webpack.findByProps("Sizes","Tags");webpack.findByDisplayName("FormTitle"),webpack.findByDisplayName("FormSection");let FormDivider=webpack.findByDisplayName("FormDivider");var plugins=()=>{let a=demon.summon("internal/nest");return useNest(a),React.createElement(React.Fragment,null,React.createElement(Header,{size:"demon-settings-header-size30"},"Plugins"),React.createElement(FormDivider,{className:"demon-settings-divider"}),Object.keys(a.ghost.pluginsList).map(b=>React.createElement(React.Fragment,null,React.createElement(PlugCard,{name:b,nest:a}))))};let Checkbox=webpack.findByDisplayName("Checkbox");class HummusUI extends React.Component{constructor(a){super(a),this.state={tg:0}}render(){let a=demon.summon("internal/nest");return React.createElement("div",{className:"control-group demon-settings-card-header"},React.createElement("label",{className:"demon-settings-header-size30 "},"Plugins"),Object.keys(a.ghost.pluginsList).map(b=>React.createElement("div",{className:"demon-settings-card-base"},React.createElement("span",null,React.createElement(Checkbox,{className:`demon-stub-plugin-checkbox-${b}`,checked:a.ghost.pluginsStatus[b].running,onChange:async()=>{toggle(b);let c=document.getElementsByClassName(`demon-stub-plugin-checkbox-${b}`)[0];a.ghost.pluginsStatus[b].running?c.value="off":c.value="on",this.setState({tg:!this.state.tg})}},b)))))}}function injectCSS(a){let b=document.createElement("style");b.className="demon-element-css",b.innerHTML=a,document.head.appendChild(b)}var css={injectCSS,createClass:function(a,b){let c=Object.entries(b).map(([a,b])=>`${a}:${b}`).join(";");injectCSS(`.${a} {${c}}`)}};let SettingsView=webpack.findByDisplayName("SettingsView"),demon$1={modules:{webpack,common},utils:{logger:{log,warn,error,trace,makeLogger}},plugins:plugins$1,internal:{nest:common.nests.make()},css,patcher:spitroast,stolas:{monologue:()=>_.sample(["When I'm lonely, I become hungry. And when I become hungry, I want to choke on that red **** of yours... **** your ***** and lick all of your *****, before taking out your *****, and **** with more teeth until you're screaming ********** like a FUCKING baby--!","Ohhh, Blitzo! I'm so excited! I cannot wait to feel your slimy c**k inside of my ****. To ***** the— ...**** use while you and I and **** and jelly sandwiches all night...!"])}};window.demon={summon:function(a){let b=a.split("/"),c=demon$1;return b.forEach(a=>{if(a in c)c=c[a];else throw Error("Module does not exist!")}),c}},plugins$1.init(),({init:function(){if(css.createClass("demon-settings-divider",{"margin-top":"10px","margin-bottom":"10px",height:"1px"}),css.createClass("demon-settings-card-divider",{"margin-top":"5px","margin-bottom":"5px","margin-left":"10px","margin-right":"10px",height:"1px",border:"thin solid var(--background-modifier-accent)"}),css.createClass("demon-settings-card-base",{"margin-bottom":"10px"}),css.createClass("demon-settings-card-header",{"margin-left":"10px","margin-top":"10px"}),css.createClass("demon-settings-card-desc",{color:"var(--header-secondary)",display:"inline-block","font-size":"15px","line-height":"15px","margin-left":"10px","margin-top":"5px","margin-bottom":"10px"}),css.createClass("demon-settings-card-switch",{"margin-right":"10px","margin-top":"0px","margin-bottom":"10px",float:"right"}),css.createClass("demon-settings-card-delete",{"margin-right":"5px",float:"right",width:"24px",cursor:"pointer"}),css.createClass("demon-settings-header-size30",{"font-size":"30px","line-height":"34px"}),window.webpackChunkdiscord_app)after("getPredicateSections",SettingsView.prototype,(a,b)=>(b.unshift({section:"HEADER",label:"Demoncord"},{section:"demoncord",label:"Plugins",element:plugins},{section:"DIVIDER"}),b));else{let a=webpack.findByProps("getUserSettingsModalSections"),b=webpack.findByProps("TabBarItem");after("render",a.default.prototype,(a,c)=>{c.props.children[0].props.children.props.children[1].push(React.createElement(b.TabBarItem,{key:"demoncord"},"Plugins")),"demoncord"===c.props.children[0].props.children.props.selectedItem&&(c.props.children[1].props.children[0].props.children=React.createElement(HummusUI,{},""))})}}}).init()}() diff --git a/package.json b/package.json index cd5a4eb..1df3618 100644 --- a/package.json +++ b/package.json @@ -4,22 +4,21 @@ "description": "A client mod for sinners.", "main": "src/index.js", "scripts": { - "build": "rollup --config rollup.config.js", - "watch": "rollup --config rollup.config.js --watch" + "build": "rollup --config rollup.config.js", + "watch": "rollup --config rollup.config.js --watch" }, "author": "Drake", "license": "BSD-3-Clause", "dependencies": { - "idb-keyval": "^6.1.0", - "nests": "^2.3.1", - "spitroast": "^1.4.2" + "idb-keyval": "^6.1.0", + "nests": "^2.3.1", + "spitroast": "^1.4.2" }, "devDependencies": { - "@rollup/plugin-alias": "^3.1.9", - "@rollup/plugin-node-resolve": "^13.3.0", - "@swc/core": "^1.2.215", - "rollup": "^2.73.0", - "rollup-plugin-swc3": "^0.3.0" + "@rollup/plugin-alias": "^3.1.9", + "@rollup/plugin-node-resolve": "^13.3.0", + "@swc/core": "^1.2.215", + "rollup": "^2.73.0", + "rollup-plugin-swc3": "^0.3.0" } - } - \ No newline at end of file +} diff --git a/rollup.config.js b/rollup.config.js index d56f25d..703ce31 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -3,36 +3,48 @@ import { defineConfig } from "rollup"; import { nodeResolve } from "@rollup/plugin-node-resolve"; import alias from "@rollup/plugin-alias"; import { swc } from "rollup-plugin-swc3"; -import { resolve as resolvePath } from "path"; +import { resolve as resolvePath } from "path"; const projectRootDir = resolvePath(__dirname); export default defineConfig({ - input: pkjs.main, - output: { - file: "dist/build.js", - format: "iife", - }, - external: ["React"], - plugins: [ - alias({ - entries: [ - { find: "nests", replacement: resolvePath(projectRootDir, "node_modules/nests/esm/") }, - { find: "react", replacement: resolvePath(projectRootDir, "src/shim_react.js") } - ], - }), - nodeResolve(), - swc({ - jsc: { - minify: { - "compress": true - }, - parser: { - "syntax": "ecmascript", - "jsx": true - }, - "target": "es2022", - "baseUrl": "./src" - } - }) - ], + input: pkjs.main, + output: { + file: "dist/build.js", + format: "iife" + }, + external: ["React"], + plugins: [ + alias({ + entries: [ + { + find: "nests", + replacement: resolvePath( + projectRootDir, + "node_modules/nests/esm/" + ) + }, + { + find: "react", + replacement: resolvePath( + projectRootDir, + "src/shim_react.js" + ) + } + ] + }), + nodeResolve(), + swc({ + jsc: { + minify: { + compress: true + }, + parser: { + syntax: "ecmascript", + jsx: true + }, + target: "es2022", + baseUrl: "./src" + } + }) + ] });