honestly this changes so much stuff that i cant

write a commit message, but a summary of the Changes
- Added flow types
- Move to rollup (mostly to support flow types)
master
Drake 2 years ago
parent db20d53d5a
commit 531bcb65d0

@ -0,0 +1,11 @@
[ignore]
[include]
[libs]
[lints]
[options]
[strict]

@ -1,10 +0,0 @@
import esbuild from 'esbuild'
import flow from 'esbuild-plugin-flow'
esbuild.build({
entryPoints: ['src/index.js'],
outfile: 'dist/build.js',
bundle: true,
minify: true,
plugins: [flow(/\.flow\.jsx\.js?$/)]
})

2
dist/build.js vendored

@ -1 +1 @@
(()=>{var B=Object.create;var c=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var A=Object.getPrototypeOf,M=Object.prototype.hasOwnProperty;var N=e=>c(e,"__esModule",{value:!0});var T=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports);var D=(e,n,o,d)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of P(n))!M.call(e,t)&&(o||t!=="default")&&c(e,t,{get:()=>n[t],enumerable:!(d=I(n,t))||d.enumerable});return e},L=(e,n)=>D(N(c(e!=null?B(A(e)):{},"default",!n&&e&&e.__esModule?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var h=T((z,w)=>{function u(e,n,o){let d=Symbol(),t=o.before,m=o.instead,l=o.after,S={apply:(y,K,[i,s])=>(t!==void 0&&t.apply(i,s),res=o.instead!==void 0?m.apply(i,[y.bind(i),...s]):y.apply(i,s),l===void 0?res:l.apply(i,[res].concat(s)))},b=new Proxy(n[e],S),p=n[e];n[e]=function(){return b(this,arguments)};let _=()=>{n[e]=p};return n[d]={name:e,orig:p,unpatch:_},_}function O(e,n,o){return u(e,n,{before:o})}function x(e,n,o){return u(e,n,{instead:o})}function U(e,n,o){return u(e,n,{after:o})}w.exports={monkeyPatch:u,before:O,instead:x,after:U}});var R=L(h());function C(){let e;return webpackChunkdiscord_app.push([[Math.random().toString(36)],{},n=>{e=n}]),e.c}function v(e,n){let o=[];for(let d in n){let t=n[d].exports;t&&(t.default&&t.__esModule&&e(t.default)?o.push(t.default):e(t)&&o.push(t))}return o}var r={modules:C(),filter:v,find:e=>r.filter(e,r.modules)[0],findAll:e=>r.filter(e,r.modules),findByProps:(...e)=>r.find(n=>e.every(o=>n[o]!==void 0)),findByPropsAll:(...e)=>r.findAll(n=>e.every(o=>n[o]!==void 0))},f=r;var F={React:f.findByProps("__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","createElement"),ReactDOM:f.findByProps("__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","hydrate")},E=F;function W(e){e.demon.__commands={},demon.patcher.after("sendMessage",demon.webpack.findByProps("sendMessage"),(n,o)=>{let d;for(let t of Reflect.ownKeys(e.demon.__commands)){let m=e.demon.__commands[t];if(o[1].content.split(" ")[0]===">"+m.name){d=m.callback(o);break}}return d!==void 0&&(o[1].content=d),o})}function Y(e){let n=Symbol(e.name);return window.demon.__commands[n]=e,()=>{delete window.demon.__commands[n]}}var a={add:Y,init:W};async function g(e){e.demon={patcher:R.default,webpack:f,common:E,commands:{add:a.add}},a.init(e)}var k=g;window.demon&&delete window.demon;k(window);})();
!function(){"use strict";function t(e,n,d){var o=Symbol();const r=d.before,a=d.instead,i=d.after,t=new Proxy(n[e],{apply:(e,n,[o,t])=>(void 0!==r&&r.apply(o,t),res=void 0!==d.instead?a.apply(o,[e.bind(o),...t]):e.apply(o,t),void 0===i?res:i.apply(o,[res].concat(t)))}),c=n[e];n[e]=function(){return t(this,arguments)};var s=()=>{n[e]=c};return n[o]={name:e,orig:c,unpatch:s},s}var n={monkeyPatch:t,before:function(e,n,o){return t(e,n,{before:o})},instead:function(e,n,o){return t(e,n,{instead:o})},after:function(e,n,o){return t(e,n,{after:o})}};let o={modules:function(){let n={};return window.webpackChunkdiscord_app.push([[Math.random().toString(36)],{},e=>{n=e}]),n.c}(),filter:function(e,n){let o=[];for(const d in n){var t=n[d].exports;t&&(t.default&&t.__esModule&&e(t.default)?o.push(t.default):e(t)&&o.push(t))}return o},find:e=>o.filter(e,o.modules)[0],findAll:e=>o.filter(e,o.modules),findByProps:(...e)=>o.find(n=>e.every(e=>void 0!==n[e])),findByPropsAll:(...e)=>o.findAll(n=>e.every(e=>void 0!==n[e]))};const d={React:o.findByProps("__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","createElement"),ReactDOM:o.findByProps("__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","hydrate")};var r={add:function(e){let n=Symbol(e.name);return window.demon.__commands[n]=e,()=>{delete window.demon.__commands[n]}},init:function(d){d.demon.__commands={},d.demon.patcher.after("sendMessage",d.demon.webpack.findByProps("sendMessage"),(e,n)=>{let o;for(const t of Reflect.ownKeys(d.demon.__commands)){let e=d.demon.__commands[t];if(n[1].content.split(" ")[0]===">"+e.name){o=e.callback(n);break}}return void 0!==o&&(n[1].content=o),n})}};window.demon&&delete window.demon,async function(e){e.demon={patcher:n,webpack:o,common:d,commands:{add:r.add}},r.init(e)}(window)}();

@ -4,15 +4,20 @@
"description": "a devilesque client mod 😈",
"main": "src/index.js",
"scripts": {
"build": "node build.mjs"
"build": "node build.mjs",
"flow": "flow"
},
"author": "Drake",
"license": "BSD-3-Clause",
"devDependencies": {
"@rollup/plugin-commonjs": "^21.0.1",
"@rollup/plugin-node-resolve": "^13.1.3",
"demonpatcher": "^0.0.5",
"esbuild": "^0.14.10",
"esbuild-plugin-flow": "github:dalcib/esbuild-plugin-flow",
"flow-bin": "^0.169.0",
"idb-keyval": "^6.0.3"
"flow-remove-types": "^2.169.0",
"idb-keyval": "^6.0.3",
"rollup": "^2.63.0",
"rollup-plugin-flow": "^1.1.1",
"rollup-plugin-uglify": "^6.0.4"
}
}

@ -1,192 +1,190 @@
lockfileVersion: 5.3
specifiers:
'@rollup/plugin-commonjs': ^21.0.1
'@rollup/plugin-node-resolve': ^13.1.3
demonpatcher: ^0.0.5
esbuild: ^0.14.10
esbuild-plugin-flow: github:dalcib/esbuild-plugin-flow
flow-bin: ^0.169.0
flow-remove-types: ^2.169.0
idb-keyval: ^6.0.3
rollup: ^2.63.0
rollup-plugin-flow: ^1.1.1
rollup-plugin-uglify: ^6.0.4
devDependencies:
'@rollup/plugin-commonjs': 21.0.1_rollup@2.63.0
'@rollup/plugin-node-resolve': 13.1.3_rollup@2.63.0
demonpatcher: 0.0.5
esbuild: 0.14.10
esbuild-plugin-flow: github.com/dalcib/esbuild-plugin-flow/56171dea9250e707880a90582f73a82f69af64fb
flow-bin: 0.169.0
flow-remove-types: 2.169.0
idb-keyval: 6.0.3
rollup: 2.63.0
rollup-plugin-flow: 1.1.1
rollup-plugin-uglify: 6.0.4_rollup@2.63.0
packages:
/demonpatcher/0.0.5:
resolution: {integrity: sha512-mpxUOSGl9A1UDyDfXi9PQJbLAMNRP00sUD67nMt7AntzPzYsHVF8hsfOBXlBkVU7CQTDjYPb6i592GXi6NJrpA==}
/@babel/code-frame/7.16.7:
resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/highlight': 7.16.7
dev: true
/esbuild-android-arm64/0.14.10:
resolution: {integrity: sha512-vzkTafHKoiMX4uIN1kBnE/HXYLpNT95EgGanVk6DHGeYgDolU0NBxjO7yZpq4ZGFPOx8384eAdDrBYhO11TAlQ==}
cpu: [arm64]
os: [android]
requiresBuild: true
/@babel/helper-validator-identifier/7.16.7:
resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==}
engines: {node: '>=6.9.0'}
dev: true
optional: true
/esbuild-darwin-64/0.14.10:
resolution: {integrity: sha512-DJwzFVB95ZV7C3PQbf052WqaUuuMFXJeZJ0LKdnP1w+QOU0rlbKfX0tzuhoS//rOXUj1TFIwRuRsd0FX6skR7A==}
cpu: [x64]
os: [darwin]
requiresBuild: true
/@babel/highlight/7.16.7:
resolution: {integrity: sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/helper-validator-identifier': 7.16.7
chalk: 2.4.2
js-tokens: 4.0.0
dev: true
optional: true
/esbuild-darwin-arm64/0.14.10:
resolution: {integrity: sha512-RNaaoZDg3nsqs5z56vYCjk/VJ76npf752W0rOaCl5lO5TsgV9zecfdYgt7dtUrIx8b7APhVaNYud+tGsDOVC9g==}
cpu: [arm64]
os: [darwin]
requiresBuild: true
/@rollup/plugin-commonjs/21.0.1_rollup@2.63.0:
resolution: {integrity: sha512-EA+g22lbNJ8p5kuZJUYyhhDK7WgJckW5g4pNN7n4mAFUM96VuwUnNT3xr2Db2iCZPI1pJPbGyfT5mS9T1dHfMg==}
engines: {node: '>= 8.0.0'}
peerDependencies:
rollup: ^2.38.3
dependencies:
'@rollup/pluginutils': 3.1.0_rollup@2.63.0
commondir: 1.0.1
estree-walker: 2.0.2
glob: 7.2.0
is-reference: 1.2.1
magic-string: 0.25.7
resolve: 1.21.0
rollup: 2.63.0
dev: true
optional: true
/esbuild-freebsd-64/0.14.10:
resolution: {integrity: sha512-10B3AzW894u6bGZZhWiJOHw1uEHb4AFbUuBdyml1Ht0vIqd+KqWW+iY/yMwQAzILr2WJZqEhbOXRkJtY8aRqOw==}
cpu: [x64]
os: [freebsd]
requiresBuild: true
/@rollup/plugin-node-resolve/13.1.3_rollup@2.63.0:
resolution: {integrity: sha512-BdxNk+LtmElRo5d06MGY4zoepyrXX1tkzX2hrnPEZ53k78GuOMWLqmJDGIIOPwVRIFZrLQOo+Yr6KtCuLIA0AQ==}
engines: {node: '>= 10.0.0'}
peerDependencies:
rollup: ^2.42.0
dependencies:
'@rollup/pluginutils': 3.1.0_rollup@2.63.0
'@types/resolve': 1.17.1
builtin-modules: 3.2.0
deepmerge: 4.2.2
is-module: 1.0.0
resolve: 1.21.0
rollup: 2.63.0
dev: true
optional: true
/esbuild-freebsd-arm64/0.14.10:
resolution: {integrity: sha512-mSQrKB7UaWvuryBTCo9leOfY2uEUSimAvcKIaUWbk5Hth9Sg+Try+qNA/NibPgs/vHkX0KFo/Rce6RPea+P15g==}
cpu: [arm64]
os: [freebsd]
requiresBuild: true
/@rollup/pluginutils/3.1.0_rollup@2.63.0:
resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==}
engines: {node: '>= 8.0.0'}
peerDependencies:
rollup: ^1.20.0||^2.0.0
dependencies:
'@types/estree': 0.0.39
estree-walker: 1.0.1
picomatch: 2.3.1
rollup: 2.63.0
dev: true
optional: true
/esbuild-linux-32/0.14.10:
resolution: {integrity: sha512-lktF09JgJLZ63ANYHIPdYe339PDuVn19Q/FcGKkXWf+jSPkn5xkYzAabboNGZNUgNqSJ/vY7VrOn6UrBbJjgYA==}
cpu: [ia32]
os: [linux]
requiresBuild: true
/@types/estree/0.0.39:
resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==}
dev: true
optional: true
/esbuild-linux-64/0.14.10:
resolution: {integrity: sha512-K+gCQz2oLIIBI8ZM77e9sYD5/DwEpeYCrOQ2SYXx+R4OU2CT9QjJDi4/OpE7ko4AcYMlMW7qrOCuLSgAlEj4Wg==}
cpu: [x64]
os: [linux]
requiresBuild: true
/@types/estree/0.0.50:
resolution: {integrity: sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==}
dev: true
optional: true
/esbuild-linux-arm/0.14.10:
resolution: {integrity: sha512-BYa60dZ/KPmNKYxtHa3LSEdfKWHcm/RzP0MjB4AeBPhjS0D6/okhaBesZIY9kVIGDyeenKsJNOmnVt4+dhNnvQ==}
cpu: [arm]
os: [linux]
requiresBuild: true
/@types/node/17.0.8:
resolution: {integrity: sha512-YofkM6fGv4gDJq78g4j0mMuGMkZVxZDgtU0JRdx6FgiJDG+0fY0GKVolOV8WqVmEhLCXkQRjwDdKyPxJp/uucg==}
dev: true
optional: true
/esbuild-linux-arm64/0.14.10:
resolution: {integrity: sha512-+qocQuQvcp5wo/V+OLXxqHPc+gxHttJEvbU/xrCGE03vIMqraL4wMua8JQx0SWEnJCWP+Nhf//v8OSwz1Xr5kA==}
cpu: [arm64]
os: [linux]
requiresBuild: true
/@types/resolve/1.17.1:
resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==}
dependencies:
'@types/node': 17.0.8
dev: true
optional: true
/esbuild-linux-mips64le/0.14.10:
resolution: {integrity: sha512-nmUd2xoBXpGo4NJCEWoaBj+n4EtDoLEvEYc8Z3aSJrY0Oa6s04czD1flmhd0I/d6QEU8b7GQ9U0g/rtBfhtxBg==}
cpu: [mips64el]
os: [linux]
requiresBuild: true
/ansi-styles/3.2.1:
resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
engines: {node: '>=4'}
dependencies:
color-convert: 1.9.3
dev: true
optional: true
/esbuild-linux-ppc64le/0.14.10:
resolution: {integrity: sha512-vsOWZjm0rZix7HSmqwPph9arRVCyPtUpcURdayQDuIhMG2/UxJxpbdRaa//w4zYqcJzAWwuyH2PAlyy0ZNuxqQ==}
cpu: [ppc64]
os: [linux]
requiresBuild: true
/babylon/6.18.0:
resolution: {integrity: sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==}
hasBin: true
dev: true
optional: true
/esbuild-linux-s390x/0.14.10:
resolution: {integrity: sha512-knArKKZm0ypIYWOWyOT7+accVwbVV1LZnl2FWWy05u9Tyv5oqJ2F5+X2Vqe/gqd61enJXQWqoufXopvG3zULOg==}
cpu: [s390x]
os: [linux]
requiresBuild: true
/balanced-match/1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
dev: true
optional: true
/esbuild-netbsd-64/0.14.10:
resolution: {integrity: sha512-6Gg8neVcLeyq0yt9bZpReb8ntZ8LBEjthxrcYWVrBElcltnDjIy1hrzsujt0+sC2rL+TlSsE9dzgyuvlDdPp2w==}
cpu: [x64]
os: [netbsd]
requiresBuild: true
/brace-expansion/1.1.11:
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
dependencies:
balanced-match: 1.0.2
concat-map: 0.0.1
dev: true
optional: true
/esbuild-openbsd-64/0.14.10:
resolution: {integrity: sha512-9rkHZzp10zI90CfKbFrwmQjqZaeDmyQ6s9/hvCwRkbOCHuto6RvMYH9ghQpcr5cUxD5OQIA+sHXi0zokRNXjcg==}
cpu: [x64]
os: [openbsd]
requiresBuild: true
/builtin-modules/3.2.0:
resolution: {integrity: sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==}
engines: {node: '>=6'}
dev: true
optional: true
/esbuild-sunos-64/0.14.10:
resolution: {integrity: sha512-mEU+pqkhkhbwpJj5DiN3vL0GUFR/yrL3qj8ER1amIVyRibKbj02VM1QaIuk1sy5DRVIKiFXXgCaHvH3RNWCHIw==}
cpu: [x64]
os: [sunos]
requiresBuild: true
/chalk/2.4.2:
resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
engines: {node: '>=4'}
dependencies:
ansi-styles: 3.2.1
escape-string-regexp: 1.0.5
supports-color: 5.5.0
dev: true
optional: true
/esbuild-windows-32/0.14.10:
resolution: {integrity: sha512-Z5DieUL1N6s78dOSdL95KWf8Y89RtPGxIoMF+LEy8ChDsX+pZpz6uAVCn+YaWpqQXO+2TnrcbgBIoprq2Mco1g==}
cpu: [ia32]
os: [win32]
requiresBuild: true
/color-convert/1.9.3:
resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
dependencies:
color-name: 1.1.3
dev: true
optional: true
/esbuild-windows-64/0.14.10:
resolution: {integrity: sha512-LE5Mm62y0Bilu7RDryBhHIX8rK3at5VwJ6IGM3BsASidCfOBTzqcs7Yy0/Vkq39VKeTmy9/66BAfVoZRNznoDw==}
cpu: [x64]
os: [win32]
requiresBuild: true
/color-name/1.1.3:
resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=}
dev: true
optional: true
/esbuild-windows-arm64/0.14.10:
resolution: {integrity: sha512-OJOyxDtabvcUYTc+O4dR0JMzLBz6G9+gXIHA7Oc5d5Fv1xiYa0nUeo8+W5s2e6ZkPRdIwOseYoL70rZz80S5BA==}
cpu: [arm64]
os: [win32]
requiresBuild: true
/commondir/1.0.1:
resolution: {integrity: sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=}
dev: true
optional: true
/esbuild/0.14.10:
resolution: {integrity: sha512-ibZb+NwFqBwHHJlpnFMtg4aNmVK+LUtYMFC9CuKs6lDCBEvCHpqCFZFEirpqt1jOugwKGx8gALNGvX56lQyfew==}
hasBin: true
requiresBuild: true
optionalDependencies:
esbuild-android-arm64: 0.14.10
esbuild-darwin-64: 0.14.10
esbuild-darwin-arm64: 0.14.10
esbuild-freebsd-64: 0.14.10
esbuild-freebsd-arm64: 0.14.10
esbuild-linux-32: 0.14.10
esbuild-linux-64: 0.14.10
esbuild-linux-arm: 0.14.10
esbuild-linux-arm64: 0.14.10
esbuild-linux-mips64le: 0.14.10
esbuild-linux-ppc64le: 0.14.10
esbuild-linux-s390x: 0.14.10
esbuild-netbsd-64: 0.14.10
esbuild-openbsd-64: 0.14.10
esbuild-sunos-64: 0.14.10
esbuild-windows-32: 0.14.10
esbuild-windows-64: 0.14.10
esbuild-windows-arm64: 0.14.10
/concat-map/0.0.1:
resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=}
dev: true
/deepmerge/4.2.2:
resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==}
engines: {node: '>=0.10.0'}
dev: true
/demonpatcher/0.0.5:
resolution: {integrity: sha512-mpxUOSGl9A1UDyDfXi9PQJbLAMNRP00sUD67nMt7AntzPzYsHVF8hsfOBXlBkVU7CQTDjYPb6i592GXi6NJrpA==}
dev: true
/escape-string-regexp/1.0.5:
resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=}
engines: {node: '>=0.8.0'}
dev: true
/estree-walker/0.2.1:
resolution: {integrity: sha1-va/oCVOD2EFNXcLs9MkXO225QS4=}
dev: true
/estree-walker/1.0.1:
resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==}
dev: true
/estree-walker/2.0.2:
resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
dev: true
/flow-bin/0.169.0:
@ -200,6 +198,14 @@ packages:
engines: {node: '>=0.4.0'}
dev: true
/flow-remove-types/1.2.3:
resolution: {integrity: sha512-ypq/U3V+t9atYiOuSJd40tekCra03EHKoRsiK/wXGrsZimuum0kdwVY7Yv0HTaoXgHW1WiayomYd+Q3kkvPl9Q==}
hasBin: true
dependencies:
babylon: 6.18.0
vlq: 0.2.3
dev: true
/flow-remove-types/2.169.0:
resolution: {integrity: sha512-j0ThzmK2gyCc77MokOTgUMB7k1t5QqvN9yoeQcUyWQ+lmIbQBiJlOVgw1IyrI//4OZ4s73qrfKA73pqozEirzQ==}
engines: {node: '>=4'}
@ -210,17 +216,131 @@ packages:
vlq: 0.2.3
dev: true
/fs.realpath/1.0.0:
resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=}
dev: true
/fsevents/2.3.2:
resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin]
requiresBuild: true
dev: true
optional: true
/function-bind/1.1.1:
resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
dev: true
/glob/7.2.0:
resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==}
dependencies:
fs.realpath: 1.0.0
inflight: 1.0.6
inherits: 2.0.4
minimatch: 3.0.4
once: 1.4.0
path-is-absolute: 1.0.1
dev: true
/has-flag/3.0.0:
resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=}
engines: {node: '>=4'}
dev: true
/has/1.0.3:
resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
engines: {node: '>= 0.4.0'}
dependencies:
function-bind: 1.1.1
dev: true
/idb-keyval/6.0.3:
resolution: {integrity: sha512-yh8V7CnE6EQMu9YDwQXhRxwZh4nv+8xm/HV4ZqK4IiYFJBWYGjJuykADJbSP+F/GDXUBwCSSNn/14IpGL81TuA==}
dependencies:
safari-14-idb-fix: 3.0.0
dev: true
/inflight/1.0.6:
resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=}
dependencies:
once: 1.4.0
wrappy: 1.0.2
dev: true
/inherits/2.0.4:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
dev: true
/is-core-module/2.8.1:
resolution: {integrity: sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==}
dependencies:
has: 1.0.3
dev: true
/is-module/1.0.0:
resolution: {integrity: sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=}
dev: true
/is-reference/1.2.1:
resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==}
dependencies:
'@types/estree': 0.0.50
dev: true
/jest-worker/24.9.0:
resolution: {integrity: sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==}
engines: {node: '>= 6'}
dependencies:
merge-stream: 2.0.0
supports-color: 6.1.0
dev: true
/js-tokens/4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
dev: true
/magic-string/0.25.7:
resolution: {integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==}
dependencies:
sourcemap-codec: 1.4.8
dev: true
/merge-stream/2.0.0:
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
dev: true
/minimatch/3.0.4:
resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==}
dependencies:
brace-expansion: 1.1.11
dev: true
/node-modules-regexp/1.0.0:
resolution: {integrity: sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=}
engines: {node: '>=0.10.0'}
dev: true
/once/1.4.0:
resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=}
dependencies:
wrappy: 1.0.2
dev: true
/path-is-absolute/1.0.1:
resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=}
engines: {node: '>=0.10.0'}
dev: true
/path-parse/1.0.7:
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
dev: true
/picomatch/2.3.1:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
engines: {node: '>=8.6'}
dev: true
/pirates/3.0.2:
resolution: {integrity: sha512-c5CgUJq6H2k6MJz72Ak1F5sN9n9wlSlJyEnwvpm9/y3WB4E3pHBDT2c6PEiS1vyJvq2bUxUAIu0EGf8Cx4Ic7Q==}
engines: {node: '>= 4'}
@ -228,18 +348,90 @@ packages:
node-modules-regexp: 1.0.0
dev: true
/resolve/1.21.0:
resolution: {integrity: sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA==}
hasBin: true
dependencies:
is-core-module: 2.8.1
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
dev: true
/rollup-plugin-flow/1.1.1:
resolution: {integrity: sha1-bOVo8d1Vlma3erdrS64lFAdSjbY=}
dependencies:
flow-remove-types: 1.2.3
rollup-pluginutils: 1.5.2
dev: true
/rollup-plugin-uglify/6.0.4_rollup@2.63.0:
resolution: {integrity: sha512-ddgqkH02klveu34TF0JqygPwZnsbhHVI6t8+hGTcYHngPkQb5MIHI0XiztXIN/d6V9j+efwHAqEL7LspSxQXGw==}
peerDependencies:
rollup: '>=0.66.0 <2'
dependencies:
'@babel/code-frame': 7.16.7
jest-worker: 24.9.0
rollup: 2.63.0
serialize-javascript: 2.1.2
uglify-js: 3.14.5
dev: true
/rollup-pluginutils/1.5.2:
resolution: {integrity: sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg=}
dependencies:
estree-walker: 0.2.1
minimatch: 3.0.4
dev: true
/rollup/2.63.0:
resolution: {integrity: sha512-nps0idjmD+NXl6OREfyYXMn/dar3WGcyKn+KBzPdaLecub3x/LrId0wUcthcr8oZUAcZAR8NKcfGGFlNgGL1kQ==}
engines: {node: '>=10.0.0'}
hasBin: true
optionalDependencies:
fsevents: 2.3.2
dev: true
/safari-14-idb-fix/3.0.0:
resolution: {integrity: sha512-eBNFLob4PMq8JA1dGyFn6G97q3/WzNtFK4RnzT1fnLq+9RyrGknzYiM/9B12MnKAxuj1IXr7UKYtTNtjyKMBog==}
dev: true
/serialize-javascript/2.1.2:
resolution: {integrity: sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==}
dev: true
/sourcemap-codec/1.4.8:
resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
dev: true
/supports-color/5.5.0:
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
engines: {node: '>=4'}
dependencies:
has-flag: 3.0.0
dev: true
/supports-color/6.1.0:
resolution: {integrity: sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==}
engines: {node: '>=6'}
dependencies:
has-flag: 3.0.0
dev: true
/supports-preserve-symlinks-flag/1.0.0:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
dev: true
/uglify-js/3.14.5:
resolution: {integrity: sha512-qZukoSxOG0urUTvjc2ERMTcAy+BiFh3weWAkeurLwjrCba73poHmG3E36XEjd/JGukMzwTL7uCxZiAexj8ppvQ==}
engines: {node: '>=0.8.0'}
hasBin: true
dev: true
/vlq/0.2.3:
resolution: {integrity: sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==}
dev: true
github.com/dalcib/esbuild-plugin-flow/56171dea9250e707880a90582f73a82f69af64fb:
resolution: {tarball: https://codeload.github.com/dalcib/esbuild-plugin-flow/tar.gz/56171dea9250e707880a90582f73a82f69af64fb}
name: esbuild-plugin-flow
version: 0.3.2
dependencies:
flow-remove-types: 2.169.0
/wrappy/1.0.2:
resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=}
dev: true

@ -0,0 +1,13 @@
import flow from 'rollup-plugin-flow'
import { uglify } from 'rollup-plugin-uglify'
import { nodeResolve } from '@rollup/plugin-node-resolve';
import commonjs from '@rollup/plugin-commonjs';
export default {
input: 'src/index.js',
plugins: [flow(), commonjs(), nodeResolve(), uglify()],
output: {
file: 'dist/build.js',
format: "iife"
}
}

@ -1,6 +1,7 @@
function init(obj) {
// @flow
function init(obj: Object) {
obj.demon.__commands = {}
demon.patcher.after("sendMessage", demon.webpack.findByProps("sendMessage"),
obj.demon.patcher.after("sendMessage", obj.demon.webpack.findByProps("sendMessage"),
(otherRes, args) => {
let res;
for (const key of Reflect.ownKeys(obj.demon.__commands)) {
@ -20,7 +21,7 @@ function init(obj) {
// name: "name",
// callback: (args)=>"Hello, world!"
// }
function add(command) {
function add(command: {name: string, callback: (args: Array<any>) => string}): ()=>void {
let sym = Symbol(command.name);
window.demon.__commands[sym] = command;
return () => {

@ -1,6 +1,7 @@
// @flow
import webpack from "./webpack.js"
const common = {
const common: {React: Object, ReactDOM: Object} = {
React: webpack.findByProps(
"__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED",
"createElement"

@ -1,7 +1,11 @@
function getModules() {
let modules;
// @flow
type ModuleType = {[symbol]: any};
type FilterFunc = (module: ModuleType) => boolean
webpackChunkdiscord_app.push([
function getModules(): any {
let modules: {c: mixed[]} = {};
window.webpackChunkdiscord_app.push([
[Math.random().toString(36)],
{},
(e) => {
@ -12,8 +16,8 @@ function getModules() {
return modules.c;
}
function filter(filter, moduleList) {
let modules = [];
function filter(filter: FilterFunc, moduleList: any): Array<Object> {
let modules: Array<mixed[]> = [];
for (const mod in moduleList) {
const module = moduleList[mod].exports;
if (module) {
@ -24,17 +28,17 @@ function filter(filter, moduleList) {
return modules;
}
let webpack = {
let webpack: Object = {
modules: getModules(),
filter: filter,
find: (filter)=>webpack.filter(filter, webpack.modules)[0],
findAll: (filter)=>webpack.filter(filter, webpack.modules),
findByProps: (...props) => {
find: (filter: FilterFunc)=>webpack.filter(filter, webpack.modules)[0],
findAll: (filter: FilterFunc)=>webpack.filter(filter, webpack.modules),
findByProps: (...props: Array<string>) => {
return webpack.find((module) => {
return props.every((prop)=>module[prop]!==undefined)
})
},
findByPropsAll: (...props) => {
findByPropsAll: (...props: Array<string>) => {
return webpack.findAll((module) =>
props.every((prop)=>module[prop]!==undefined)
)

@ -1,9 +1,10 @@
// @flow
import demonpatcher from "demonpatcher"
import webpack from "./api/webpack.js"
import common from "./api/common.js"
import commands from "./api/commands.js"
async function init(obj) {
async function init(obj: Object): Promise<void> {
obj.demon = {
patcher: demonpatcher,
webpack,

Loading…
Cancel
Save