diff --git a/injector/browserwindow.js b/injector/browserwindow.js index a898ccae..42879b7c 100644 --- a/injector/browserwindow.js +++ b/injector/browserwindow.js @@ -28,18 +28,24 @@ try { module.exports = class PatchedBrowserWindow extends BrowserWindow { constructor (opts) { let originalPreload; + /** + * General purpose popout windows used by Discord. + */ if (opts.webContents) { - // General purpose popout windows used by Discord + /** + * Startup splash screen. + */ } else if (opts.webPreferences && (opts.webPreferences.nodeIntegration || opts.webPreferences.preload?.endsWith('splashScreenPreload.js'))) { - // Splash Screen originalPreload = opts.webPreferences.preload; - // opts.webPreferences.preload = join(__dirname, 'preload', 'splash.js'); + /** + * Game overlay. + */ } else if (opts.webPreferences && opts.webPreferences.offscreen) { - // Overlay originalPreload = opts.webPreferences.preload; - // opts.webPreferences.preload = join(__dirname, '..', 'preload', 'main.js'); + /** + * Discord client. + */ } else if (opts.webPreferences && opts.webPreferences.preload?.endsWith('mainScreenPreload.js')) { - // Discord Client originalPreload = opts.webPreferences.preload; opts.webPreferences.preload = join(__dirname, 'preload.js'); // Transparent window enabled @@ -69,12 +75,9 @@ module.exports = class PatchedBrowserWindow extends BrowserWindow { /* * The following code was given by Lighty, thanks Lighty! Ugly, but it works. - * We use this force set some default developer tool settings: - * --- - * Automatically pretty print sources - This is important, because without it, it is very - * slow to load JavaScript sources in dev tools. - * --- - * Turn off JS and CSS source maps - Unneeded. + * We use this force the "automatically pretty print sources" dev tools setting. + * This is important, because without it, it is very slow to load JavaScript sources + * in dev tools. */ win.webContents.on('devtools-opened', async () => { const dtwc = win.webContents.devToolsWebContents; diff --git a/injector/index.js b/injector/index.js index 49c61bb4..e4dee42b 100644 --- a/injector/index.js +++ b/injector/index.js @@ -3,6 +3,8 @@ const { join, dirname, normalize, sep } = require('path'); const electron = require('electron'); const Module = require('module'); +require('./ipc'); + let reactDeveloperTools = false; let smoothScrolling = true; let settings = {}; @@ -18,8 +20,6 @@ if (smoothScrolling === false) { electron.app.commandLine.appendSwitch('disable-smooth-scrolling'); } -require('./ipc'); - let fakeAppSettings; Object.defineProperty(global, 'appSettings', { get () { @@ -119,7 +119,7 @@ electron.app.once('ready', () => { } else if (type === 'plugins' || type === 'themes') { return callback({ path: join(__dirname, '..', 'addons', type, path) }); } else if (type === 'builtins') { - return callback({ path: join(__dirname, '..', 'src', 'core', 'builtins', path) }); + return callback({ path: join(__dirname, '..', 'renderer', 'src', 'builtins', path) }); } }); }); diff --git a/injector/preload.js b/injector/preload.js index cb5b0d94..207e0709 100644 --- a/injector/preload.js +++ b/injector/preload.js @@ -57,9 +57,9 @@ require('./renderer'); for (const ext of extensions) { const oldRequireExt = Module._extensions[ext]; Module._extensions[ext] = (module, filename) => { - const coreDir = join(__dirname, '..', 'src', 'core'); + const srcDir = join(__dirname, '..', 'renderer', 'src'); const addonsDir = join(__dirname, '..', 'addons'); - if ((filename.indexOf(coreDir) && + if ((filename.indexOf(srcDir) && filename.indexOf(addonsDir)) || filename.indexOf('node_modules') !== -1 ) { @@ -72,15 +72,10 @@ require('./renderer'); } })(); -/** - * @note This needs to be after module-alias is registered and compilation is set up. - */ -const { Events } = require('@vizality/constants'); - /** * Instantiate Vizality. */ -const Vizality = require('../src/core/Core').default; +const Vizality = require('../renderer/src').default; window.vizality = new Vizality(); /** @@ -109,12 +104,3 @@ if (preload) { } /* @todo Add debug logging. */ - -/** - * Open overlay dev tools. - */ -vizality.once(Events.VIZALITY_SETTINGS_READY, () => { - if (window.__OVERLAY__ && vizality.settings.get('openOverlayDevTools', false)) { - vizality.native.app.openDevTools({}, true); - } -}); diff --git a/jsconfig.json b/jsconfig.json index 4ebde6d2..7ff87e96 100644 --- a/jsconfig.json +++ b/jsconfig.json @@ -1,23 +1,23 @@ { "exclude": [ "node_modules" ], "compilerOptions": { - "baseUrl": "./src/", + "baseUrl": "./renderer/", "paths": { "@vizality/root/*": [ "./../*" ], "@vizality/src/*": [ "./*" ], - "@vizality/*": [ "./core/modules/*" ], - "@vizality/compilers": [ "./core/compilers" ], - "@vizality/entities": [ "./core/entities" ], - "@vizality/builtins": [ "./core/builtins" ], - "@vizality/modules": [ "./core/modules" ], - "@vizality/typedefs": [ "./core/Typedefs" ], - "@vizality/api": [ "./core/api" ], - "@discord/*": [ "./core/modules/discord/*" ], - "moment": [ "./core/modules/packages/Moment" ], - "react": [ "./core/modules/packages/React" ], - "react-dom": [ "./core/modules/packages/ReactDOM" ], - "react-spring": [ "./core/modules/packages/ReactSpring" ], - "react-router": [ "./core/modules/packages/Router" ] + "@vizality/*": [ "./src/modules/*" ], + "@vizality/compilers": [ "./src/compilers" ], + "@vizality/entities": [ "./src/entities" ], + "@vizality/builtins": [ "./src/builtins" ], + "@vizality/modules": [ "./src/modules" ], + "@vizality/typedefs": [ "./src/Typedefs" ], + "@vizality/api": [ "./src/api" ], + "@discord/*": [ "./src/modules/discord/*" ], + "moment": [ "./src/modules/packages/Moment" ], + "react": [ "./src/modules/packages/React" ], + "react-dom": [ "./src/modules/packages/ReactDOM" ], + "react-spring": [ "./src/modules/packages/ReactSpring" ], + "react-router": [ "./src/modules/packages/Router" ] } } } diff --git a/package.json b/package.json index 24d9ff23..b890436f 100644 --- a/package.json +++ b/package.json @@ -32,50 +32,50 @@ "setup": "node scripts/setup --no-exit-codes" }, "_moduleAliases": { - "@vizality/components": "src/core/modules/components", - "@vizality/constants": "src/core/modules/constants", - "@vizality/settings": "src/core/modules/settings", - "@vizality/patcher": "src/core/modules/patcher", - "@vizality/webpack": "src/core/modules/webpack", - "@vizality/compilers": "src/core/compilers", - "@vizality/entities": "src/core/entities", - "@vizality/builtins": "src/core/builtins", - "@vizality/typedefs": "src/core/Typedefs", - "@vizality/http": "src/core/modules/http", - "@vizality/i18n": "src/core/modules/i18n", - "@vizality/modules": "src/core/modules", - "@vizality/api": "src/core/api", - "@vizality": "src/core/modules", - "@vizality/src": "src", + "@vizality/components": "renderer/src/modules/components", + "@vizality/constants": "renderer/src/modules/constants", + "@vizality/settings": "renderer/src/modules/settings", + "@vizality/patcher": "renderer/src/modules/patcher", + "@vizality/webpack": "renderer/src/modules/webpack", + "@vizality/compilers": "renderer/src/compilers", + "@vizality/entities": "renderer/src/entities", + "@vizality/builtins": "renderer/src/builtins", + "@vizality/typedefs": "renderer/src/Typedefs", + "@vizality/http": "renderer/src/modules/http", + "@vizality/i18n": "renderer/src/modules/i18n", + "@vizality/modules": "renderer/src/modules", + "@vizality/api": "renderer/src/api", + "@vizality": "renderer/src/modules", + "@vizality/src": "renderer", "@vizality/root": ".", - "@vizality/api/settings": "src/core/api/Settings/Alias", - "@vizality/util/performance": "src/core/modules/util/Performance", - "@vizality/util/security": "src/core/modules/util/Security", - "@vizality/util/logger": "src/core/modules/util/Logger", - "@vizality/util/filter": "src/core/modules/util/Filter", - "@vizality/util/number": "src/core/modules/util/Number", - "@vizality/util/object": "src/core/modules/util/Object", - "@vizality/util/string": "src/core/modules/util/String", - "@vizality/util/window": "src/core/modules/util/Window", - "@vizality/util/array": "src/core/modules/util/Array", - "@vizality/util/color": "src/core/modules/util/Color", - "@vizality/util/react": "src/core/modules/util/React", - "@vizality/util/file": "src/core/modules/util/File", - "@vizality/util/time": "src/core/modules/util/Time", - "@vizality/util/dom": "src/core/modules/util/DOM", - "@vizality/util": "src/core/modules/util", - "@discord/components": "src/core/modules/discord/Components", - "@discord/snowflake": "src/core/modules/discord/Snowflake", - "@discord/constants": "src/core/modules/discord/Constants", - "@discord/modules": "src/core/modules/discord/Modules", - "@discord/util": "src/core/modules/discord/Util", - "@discord/user": "src/core/modules/discord/User", - "@discord": "src/core/modules/discord", - "react-spring": "src/core/modules/packages/ReactSpring", - "react-router": "src/core/modules/packages/ReactRouter", - "react-dom": "src/core/modules/packages/ReactDOM", - "moment": "src/core/modules/packages/Moment", - "react": "src/core/modules/packages/React" + "@vizality/api/settings": "renderer/src/api/Settings/Alias", + "@vizality/util/performance": "renderer/src/modules/util/Performance", + "@vizality/util/security": "renderer/src/modules/util/Security", + "@vizality/util/logger": "renderer/src/modules/util/Logger", + "@vizality/util/filter": "renderer/src/modules/util/Filter", + "@vizality/util/number": "renderer/src/modules/util/Number", + "@vizality/util/object": "renderer/src/modules/util/Object", + "@vizality/util/string": "renderer/src/modules/util/String", + "@vizality/util/window": "renderer/src/modules/util/Window", + "@vizality/util/array": "renderer/src/modules/util/Array", + "@vizality/util/color": "renderer/src/modules/util/Color", + "@vizality/util/react": "renderer/src/modules/util/React", + "@vizality/util/file": "renderer/src/modules/util/File", + "@vizality/util/time": "renderer/src/modules/util/Time", + "@vizality/util/dom": "renderer/src/modules/util/DOM", + "@vizality/util": "renderer/src/modules/util", + "@discord/components": "renderer/src/modules/discord/Components", + "@discord/snowflake": "renderer/src/modules/discord/Snowflake", + "@discord/constants": "renderer/src/modules/discord/Constants", + "@discord/modules": "renderer/src/modules/discord/Modules", + "@discord/util": "renderer/src/modules/discord/Util", + "@discord/user": "renderer/src/modules/discord/User", + "@discord": "renderer/src/modules/discord", + "react-spring": "renderer/src/modules/packages/ReactSpring", + "react-router": "renderer/src/modules/packages/ReactRouter", + "react-dom": "renderer/src/modules/packages/ReactDOM", + "moment": "renderer/src/modules/packages/Moment", + "react": "renderer/src/modules/packages/React" }, "dependencies": { "@monaco-editor/react": "^4.3.1", diff --git a/renderer/src/modules/constants/index.js b/renderer/src/modules/constants/index.js index 49df5e43..77740bdd 100644 --- a/renderer/src/modules/constants/index.js +++ b/renderer/src/modules/constants/index.js @@ -1,4 +1,3 @@ -import { readdirSync } from 'fs'; import { join } from 'path'; export const HTTP = Object.freeze({ @@ -18,24 +17,19 @@ export const Repositories = Object.freeze({ export const Directories = Object.freeze({ ROOT: join(__dirname, '..', '..', '..', '..'), - get SRC () { return join(this.ROOT, 'src'); }, - get VIZALITY () { return join(this.SRC, 'core'); }, - // --- + get SRC () { return join(this.ROOT, 'renderer', 'src'); }, get SETTINGS () { return join(this.ROOT, 'settings'); }, get ASSETS () { return join(this.ROOT, 'assets'); }, get CACHE () { return join(this.ROOT, '.cache'); }, get LOGS () { return join(this.ROOT, '.logs'); }, - // --- get ADDONS () { return join(this.ROOT, 'addons'); }, get PLUGINS () { return join(this.ADDONS, 'plugins'); }, - get BUILTINS () { return join(this.VIZALITY, 'builtins'); }, + get BUILTINS () { return join(this.SRC, 'builtins'); }, get THEMES () { return join(this.ADDONS, 'themes'); }, - // --- - get API () { return join(this.VIZALITY, 'api'); }, - get LIB () { return join(this.VIZALITY, 'lib'); }, - get LOCALES () { return join(this.VIZALITY, 'locales'); }, - get MANAGERS () { return join(this.VIZALITY, 'managers'); }, - get STYLES () { return join(this.VIZALITY, 'styles'); }, + get API () { return join(this.SRC, 'api'); }, + get LOCALES () { return join(this.SRC, 'locales'); }, + get MANAGERS () { return join(this.SRC, 'managers'); }, + get STYLES () { return join(this.SRC, 'styles'); }, get MODULES () { return join(__dirname, '..'); } });