BetterDiscordApp-rauenzi/renderer/src/polyfill/index.js

45 lines
1.5 KiB
JavaScript

import Module from "./module";
import * as vm from "./vm";
import * as fs from "./fs";
import request from "./request";
import EventEmitter from "common/events";
import * as https from "./https";
import Buffer from "./buffer";
import crypto from "./crypto";
import Remote from "./remote";
const originalFs = Object.assign({}, fs);
originalFs.writeFileSync = (path, data, options) => fs.writeFileSync(path, data, Object.assign({}, options, {originalFs: true}));
originalFs.writeFile = (path, data, options) => fs.writeFile(path, data, Object.assign({}, options, {originalFs: true}));
export const createRequire = function (path) {
return mod => {
switch (mod) {
case "request": return request;
case "https": return https;
case "original-fs": return originalFs;
case "fs": return fs;
case "path": return Remote.path;
case "events": return EventEmitter;
case "electron": return Remote.electron;
case "process": return window.process;
case "vm": return vm;
case "module": return Module;
case "buffer": return Buffer.getBuffer();
case "crypto": return crypto;
default:
return Module._load(mod, path, createRequire);
}
};
};
const require = window.require = createRequire(".");
require.cache = {};
require.resolve = (path) => {
for (const key of Object.keys(require.cache)) {
if (key.startsWith(path)) return require.cache[key];
}
};
export default require;