Remove newlines in webpack chunks
This commit is contained in:
parent
b1d3f5e52f
commit
9bf28c0e7a
3 changed files with 11 additions and 8 deletions
|
@ -7,7 +7,7 @@ export default definePlugin({
|
|||
patches: [{
|
||||
find: "setDevtoolsCallbacks",
|
||||
replacement: {
|
||||
match: /\.default=function.+$/s,
|
||||
match: /\.default=function.+$/,
|
||||
replace: ".default=function(){}}"
|
||||
}
|
||||
}]
|
||||
|
|
|
@ -16,7 +16,7 @@ export default definePlugin({
|
|||
}
|
||||
},
|
||||
{
|
||||
match: /\w\.createElement.+?["']Host ["'].+?\):null/s,
|
||||
match: /\w\.createElement.+?["']Host ["'].+?\):null/,
|
||||
replace: m => {
|
||||
const idx = m.indexOf("Host") - 1;
|
||||
const template = m.slice(0, idx);
|
||||
|
|
|
@ -9,11 +9,7 @@ const logger = new Logger("WebpackInterceptor", "#8caaee");
|
|||
Object.defineProperty(window, WEBPACK_CHUNK, {
|
||||
get: () => webpackChunk,
|
||||
set: (v) => {
|
||||
// There are two possible values for push.
|
||||
// - Native push with toString result of function push() { [native code] }
|
||||
// - Webpack's push with toString result of function() { [native code] }
|
||||
// We don't want to override the native one, so check for "push"
|
||||
if (v && !v.push.toString().includes("push")) {
|
||||
if (v?.push !== Array.prototype.push) {
|
||||
logger.info(`Patching ${WEBPACK_CHUNK}.push`);
|
||||
_initWebpack(v);
|
||||
patchPush();
|
||||
|
@ -35,7 +31,14 @@ function patchPush() {
|
|||
|
||||
for (const id in modules) {
|
||||
let mod = modules[id];
|
||||
let code = mod.toString();
|
||||
// Discords Webpack chunks for some ungodly reason contain random
|
||||
// newlines. Cyn recommended this workaround and it seems to work fine,
|
||||
// however this could potentially break code, so if anything goes weird,
|
||||
// this is probably why.
|
||||
// Additionally, `[actual newline]` is one less char than "\n", so if Discord
|
||||
// ever targets newer browsers, the minifier could potentially use this trick and
|
||||
// cause issues.
|
||||
let code = mod.toString().replaceAll("\n", "");
|
||||
const originalMod = mod;
|
||||
const patchedBy = new Set();
|
||||
|
||||
|
|
Loading…
Reference in a new issue