mirror of https://github.com/vizality/vizality
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.4 KiB
51 lines
1.4 KiB
const { ipcRenderer } = require('electron');
|
|
const { join } = require('path');
|
|
// Discord's preload
|
|
const preload = ipcRenderer.sendSync('VIZALITY_GET_PRELOAD');
|
|
if (preload) {
|
|
require(preload);
|
|
}
|
|
|
|
window.__SPLASH__ = true;
|
|
|
|
require('module-alias/register');
|
|
require('@vizality/compilers');
|
|
require('../ipc/renderer');
|
|
|
|
(() => {
|
|
const { Module } = require('module');
|
|
const extensions = [ '.jsx', '.js', '.ts', '.tsx' ];
|
|
for (const ext of extensions) {
|
|
const oldRequireExt = Module._extensions[ext];
|
|
Module._extensions[ext] = (module, filename) => {
|
|
const coreDir = join(__dirname, '..', 'core');
|
|
const addonsDir = join(__dirname, '..', '..', 'addons');
|
|
if ((filename.indexOf(coreDir) &&
|
|
filename.indexOf(addonsDir)) ||
|
|
filename.indexOf('node_modules') !== -1
|
|
) {
|
|
return oldRequireExt(module, filename);
|
|
}
|
|
|
|
const compiler = new (require(`@vizality/compilers/${ext.substring(1).toUpperCase()}`))(filename);
|
|
const compiled = compiler.compile();
|
|
module._compile(compiled, filename);
|
|
};
|
|
}
|
|
})();
|
|
|
|
/*
|
|
* Theme injection
|
|
*/
|
|
const initialize = () => {
|
|
document.documentElement.setAttribute('vizality', '');
|
|
const ThemeManager = require('../core/managers/Theme').default;
|
|
new ThemeManager();
|
|
};
|
|
|
|
if (document.readyState === 'loading') {
|
|
document.addEventListener('DOMContentLoaded', initialize);
|
|
} else {
|
|
initialize();
|
|
}
|