misc code cleanup stuff

pull/95/head
dperolio 2 years ago
parent 437058c18c
commit d1218026a8
No known key found for this signature in database
GPG Key ID: 4191689562D51409

@ -118,7 +118,7 @@
"no-undef": [ "warn" ],
"no-undef-init": [ "warn" ],
"no-unused-vars": [ "warn", { "argsIgnorePattern": "^_" } ],
"no-use-before-define": [ "warn" ],
"no-use-before-define": [ "warn", { "functions": false, "classes": true, "variables": true } ],
"callback-return": [ "warn" ],
"handle-callback-err": [ "warn" ],
"no-buffer-constructor": [ "warn" ],

@ -58,6 +58,7 @@ window.VizalityNative = {
* A list of node modules to be whitelisted for use in Chrome Developer Tools console.
*/
const WHITELISTED_MODULES = [
'crypto',
'lodash',
'moment',
'react',

@ -84,32 +84,34 @@ export default class Routes extends API {
* @param {VizalityRoute} route Route to register
* @emits Routes#routeAdd
*/
// registerRoute (route) {
// try {
// if (!route?.id) {
// throw new Error('Route must contain a valid ID!');
// }
// if (route.id !== 'dashboard') {
// if (!route.path) {
// throw new Error(`Route ID "${route.id}" cannot be registered without a valid path.`);
// }
// if (this.routes[route.id]) {
// throw new Error(`Route ID "${route.id}" is already registered!`);
// }
// if (Object.values(this.routes).find(r => r.path === route.path)) {
// throw new Error(`Route ID "${route.id}" tried to register an already-registered path "${route.path}"!`);
// }
// route.caller = getCaller();
// }
// this.routes[route.id] = route;
// if (Object.keys(this.routes)[Object.keys(this.routes).length - 1] !== 'dashboard') {
// this._reregisterDashboardRoutes();
// }
// this.emit('routeAdd', route);
// } catch (err) {
// return this.error(err);
// }
// }
/*
* registerRoute (route) {
* try {
* if (!route?.id) {
* throw new Error('Route must contain a valid ID!');
* }
* if (route.id !== 'dashboard') {
* if (!route.path) {
* throw new Error(`Route ID "${route.id}" cannot be registered without a valid path.`);
* }
* if (this.routes[route.id]) {
* throw new Error(`Route ID "${route.id}" is already registered!`);
* }
* if (Object.values(this.routes).find(r => r.path === route.path)) {
* throw new Error(`Route ID "${route.id}" tried to register an already-registered path "${route.path}"!`);
* }
* route.caller = getCaller();
* }
* this.routes[route.id] = route;
* if (Object.keys(this.routes)[Object.keys(this.routes).length - 1] !== 'dashboard') {
* this._reregisterDashboardRoutes();
* }
* this.emit('routeAdd', route);
* } catch (err) {
* return this.error(err);
* }
* }
*/
/**
* Registers a route.
@ -347,6 +349,7 @@ export default class Routes extends API {
plugins: '/vizality/plugins',
themes: '/vizality/themes',
snippets: '/vizality/snippets',
palettes: '/vizality/palettes',
'quick-code': '/vizality/quick-code',
development: '/vizality/development',
docs: '/vizality/docs',

@ -151,39 +151,51 @@ export default class Settings extends API {
* @param {SettingsTab} settings Props of the settings tab
* @private
*/
// registerSettings (settings) {
// try {
// let { type, addonId, render } = settings;
/*
* registerSettings (settings) {
* try {
* let { type, addonId, render } = settings;
*/
// type = type || 'plugins';
// render =
// render?.__esModule
// ? render?.default
// : render?.type
// ? render.type
// : render;
/*
* render =
* render?.__esModule
* ? render?.default
* : render?.type
* ? render.type
* : render;
*/
// if (!render) {
// throw new Error(`You must specify a render component to register settings for "${addonId}"!`);
// }
/*
* if (!render) {
* throw new Error(`You must specify a render component to register settings for "${addonId}"!`);
* }
*/
// const addon = vizality.manager[type].get(addonId);
// if (!addon) {
// throw new Error(`Cannot register settings for "${addonId}" because it isn't installed!`);
// }
/*
* if (!addon) {
* throw new Error(`Cannot register settings for "${addonId}" because it isn't installed!`);
* }
*/
// addon.sections.settings = {
// component: render,
// render: this.connectStores(addonId)(render)
// };
/*
* addon.sections.settings = {
* component: render,
* render: this.connectStores(addonId)(render)
* };
*/
// this.emit(Events.VIZALITY_SETTINGS_REGISTER, addonId);
// } catch (err) {
// return this.error(err);
// }
// }
/*
* this.emit(Events.VIZALITY_SETTINGS_REGISTER, addonId);
* } catch (err) {
* return this.error(err);
* }
* }
*/
/**
* Unregisters a settings tab.
@ -206,9 +218,9 @@ export default class Settings extends API {
}
}
/**
/**
* @private
* @param {...any} props
* @param {...any} props
*/
_registerBuiltinSection (props) {
try {
@ -243,7 +255,7 @@ export default class Settings extends API {
* A hook that allows you to easily update settings values using states, automatically
* rerendering your component for you.
* @param {string} settingKey Setting key
* @param {...any} defaultValue Default setting value
* @param {any} defaultValue Default setting value
* @example
* ```
* import { useSetting } from '@vizality/settings';
@ -271,7 +283,7 @@ export default class Settings extends API {
const [ settingValue, setSettingValue ] = useState(settings.getSetting(settingKey, defaultValue));
/**
* Updates the setting value.
* @param {...any} newValue Updated setting value
* @param {any} newValue Updated setting value
* @returns {void}
*/
const setSetting = newValue => {
@ -280,13 +292,12 @@ export default class Settings extends API {
};
return [ settingValue, setSetting ];
} catch (err) {
console.log('this-out', this);
return this.error(err);
}
}
/**
*
*
* @private
* @param {string} [addonId] Addon ID
*/
@ -305,23 +316,23 @@ export default class Settings extends API {
}
return {
/**
*
*
*/
settings: store.getSettings(addonId),
/**
*
* @param {*} setting
* @param {*} defaultValue
*
* @param {*} setting
* @param {*} defaultValue
*/
getSetting: (setting, defaultValue) => {
return store.getSetting(addonId, setting, defaultValue);
},
/**
*
* @param {*} setting
* @param {*} value
*
* @param {*} setting
* @param {*} value
*/
updateSetting: (setting, value) => {
if (addonId === 'settings') {
@ -333,9 +344,9 @@ export default class Settings extends API {
},
/**
*
* @param {*} setting
* @param {*} defaultValue
*
* @param {*} setting
* @param {*} defaultValue
*/
toggleSetting: (setting, defaultValue) => {
if (addonId === 'settings') {

@ -12,9 +12,11 @@ import React from 'react';
import SettingsPage from './components/Settings';
// From Strencher#1044 load all context menus (Causes error spam tho in console)
/**
* Contributed by DoggyBootsy, originally written by Strencher.
*/
{
const modules = Object.values(instance.m).filter(e => e.toString().search(/openContextMenuLazy[\)\(]/) > -1);
const modules = Object.values(instance.m).filter(e => e.toString().search(/openContextMenuLazy[)(]/) > -1);
const regex = [
{
regex: /return Promise\.all\(\[(.*?)\]\)\.then\(\D+(.+?)\)\)/,
@ -46,8 +48,8 @@ import SettingsPage from './components/Settings';
];
function matchAll (regex, input, parent = false) {
const output = [];
let matches,
output = [],
lastIndex = 0;
while (matches = regex.exec(input.slice(lastIndex))) {
if (!regex.global) lastIndex += matches.index + matches[0].length;
@ -80,11 +82,11 @@ import SettingsPage from './components/Settings';
const imports = item.imports.map(i => instance.e(i));
return Promise.all(imports).then(instance.bind(instance, item.main)).catch(() => void 0);
} catch (error) {
console.error(error);
return Promise.resolve();
}
}));
}
/**
* The settings page categories.
*/

@ -95,8 +95,8 @@ export default class Plugin extends Updatable {
}
/**
*
* @param {*} render
*
* @param {*} render
*/
registerSettings (render) {
vizality.api.settings.registerSettings({
@ -107,8 +107,8 @@ export default class Plugin extends Updatable {
}
/**
*
* @param {...any} message
*
* @param {...any} message
*/
log (...message) {
// In case the addon wants to provide their own labels
@ -121,8 +121,8 @@ export default class Plugin extends Updatable {
}
/**
*
* @param {...any} message
*
* @param {...any} message
*/
warn (...message) {
// In case the addon wants to provide their own labels
@ -135,8 +135,8 @@ export default class Plugin extends Updatable {
}
/**
*
* @param {...any} message
*
* @param {...any} message
*/
error (...message) {
// In case the addon wants to provide their own labels
@ -215,16 +215,16 @@ export default class Plugin extends Updatable {
const ignored = [];
/**
*
*
*/
if (this.manifest?.hotReload?.ignore) {
/**
*
*
*/
if (isArray(this.manifest.hotReload.ignore)) {
for (const ign of this.manifest.hotReload.ignore) {
/**
*
*
*/
if (ign.startsWith('*')) {
ignored.push(ign);
@ -234,7 +234,7 @@ export default class Plugin extends Updatable {
}
} else {
/**
*
*
*/
if (this.manifest.hotReload.ignore.startsWith('*')) {
ignored.push(this.manifest.hotReload.ignore);
@ -245,7 +245,7 @@ export default class Plugin extends Updatable {
}
/**
*
*
*/
this._watcher = watch(this.path, {
ignored: [ /node_modules/, /.git/, /manifest.json/, /.scss/, /.css/ ].concat(ignored),
@ -258,7 +258,7 @@ export default class Plugin extends Updatable {
const watcherLabels = this._labels.concat({ text: 'Watcher', color: MODULES.watcher.toString() });
/**
*
*
*/
this._watcher
.on('add', path => this.log(watcherLabels, `File "${path.replace(this.path + sep, '')}" has been added.`))
@ -276,7 +276,7 @@ export default class Plugin extends Updatable {
async _load (showLogs = true) {
try {
/**
*
*
*/
if (typeof this.start === 'function') {
const before = performance.now();
@ -312,7 +312,7 @@ export default class Plugin extends Updatable {
});
/**
*
*
*/
await this._registerSettings();
} else {
@ -337,13 +337,13 @@ export default class Plugin extends Updatable {
}
/**
*
*
* @private
*/
async _registerSettings () {
try {
/**
*
*
*/
if (!this.sections.settings && this.type !== 'builtin') {
let Render;
@ -356,7 +356,7 @@ export default class Plugin extends Updatable {
}
/**
*
*
*/
if (Render) {
vizality.api.settings.registerSettings({
@ -372,14 +372,14 @@ export default class Plugin extends Updatable {
}
/**
*
*
* @private
*/
async _registerSections () {
try {
[ 'readme', 'changelog' ].forEach(section => {
/**
*
*
*/
let sectionPath;
if (this.sections && !this.sections[section]) {
@ -404,7 +404,7 @@ export default class Plugin extends Updatable {
return;
/**
*
*
*/
let changelogPath;
if (!this.sections.changelog) {
@ -443,10 +443,10 @@ export default class Plugin extends Updatable {
}
/**
*
*
* @private
* @param {*} settings
* @returns
* @param {*} settings
* @returns
*/
_mapSettings (settings) {
return settings.map(setting => {

@ -53,8 +53,6 @@ export default class Vizality extends Updatable {
*/
this._labels = [ 'Vizality', 'Core' ];
this._initialized = false;
/**
* Wait for the document to be loaded and then initialize Vizality.
* @todo There should be a better way to do this, look into it more in the future.
@ -239,7 +237,6 @@ export default class Vizality extends Updatable {
this.manager.themes.initialize();
this.manager.plugins.initialize();
this.manager.community.initialize();
this._initialized = true;
}
/**
@ -255,7 +252,6 @@ export default class Vizality extends Updatable {
this.manager.plugins.stop();
await this.manager.builtins.stop();
await this.manager.apis.stop();
this._initialized = false;
}
/**
@ -295,7 +291,7 @@ export default class Vizality extends Updatable {
}
/**
*
*
*/
_patchWebSocket () {
const _this = this;
@ -310,7 +306,7 @@ export default class Vizality extends Updatable {
}
/**
*
*
* @param {boolean} [force=false] Whether to
* @returns {Promise<boolean>}
*/

@ -1,5 +1,5 @@
/**
*
*
*/
import { toKebabCase, toTitleCase, toHash, toPlural } from '@vizality/util/string';
@ -41,67 +41,67 @@ export default class AddonManager extends Events {
}
/**
*
*
*/
get count () {
return this._items.size;
}
/**
*
*
*/
get values () {
return this._items.values();
}
/**
*
* @returns
*
* @returns
*/
get keys () {
return [ ...this._items.keys() ];
}
/**
*
*
* @param {string} addonId Addon ID
* @returns
* @returns
*/
has (addonId) {
return this._items.has(addonId);
}
/**
*
*
* @param {string} addonId Addon ID
* @returns
* @returns
*/
get (addonId) {
return this._items.get(addonId);
}
/**
*
* @returns
*/
/**
*
* @returns
*/
getAll () {
return this._items;
}
/**
*
* @param {string} addonId Addon ID
* @returns
*/
/**
*
* @param {string} addonId Addon ID
* @returns
*/
isInstalled (addonId) {
return this.has(addonId);
}
/**
*
* @param {string} addonId Addon ID
* @returns
*/
/**
*
* @param {string} addonId Addon ID
* @returns
*/
isEnabled (addonId) {
return !vizality.settings.get(`disabled${toTitleCase(toPlural(this.type))}`, [])
.filter(addon => this.isInstalled(addon))
@ -109,18 +109,18 @@ export default class AddonManager extends Events {
}
/**
*
*
* @param {string} addonId Addon ID
* @returns
* @returns
*/
isDisabled (addonId) {
return !this.isEnabled(addonId);
}
/**
*
*
* @param {string} addonId Addon ID
* @returns
* @returns
*/
hasSettings (addonId) {
try {
@ -132,9 +132,9 @@ export default class AddonManager extends Events {
}
/**
*
*
* @param {string} addonId Addon ID
* @returns
* @returns
*/
hasScreenshots (addonId) {
try {
@ -146,9 +146,9 @@ export default class AddonManager extends Events {
}
/**
*
*
* @param {string} addonId Addon ID
* @returns
* @returns
*/
hasReadme (addonId) {
try {
@ -160,9 +160,9 @@ export default class AddonManager extends Events {
}
/**
*
*
* @param {string} addonId Addon ID
* @returns
* @returns
*/
hasChangelog (addonId) {
try {
@ -174,8 +174,8 @@ export default class AddonManager extends Events {
}
/**
*
* @returns
*
* @returns
*/
getEnabledKeys () {
const addons = this.keys;
@ -183,8 +183,8 @@ export default class AddonManager extends Events {
}
/**
*
* @returns
*
* @returns
*/
getEnabled () {
const enabled = new Map();
@ -197,8 +197,8 @@ export default class AddonManager extends Events {
}
/**
*
* @returns
*
* @returns
*/
getDisabledKeys () {
const addons = this.keys;
@ -206,8 +206,8 @@ export default class AddonManager extends Events {
}
/**
*
* @returns
*
* @returns
*/
getDisabled () {
const disabled = new Map();
@ -399,39 +399,39 @@ export default class AddonManager extends Events {
* Toggles an addon with a given ID.
* @param {string} addonId Addon ID
*/
async toggle (addonId, sendEvent = true) {
try {
const addon = this.get(addonId);
async toggle (addonId, sendEvent = true) {
try {
const addon = this.get(addonId);
/**
* Make sure the addon is installed.
*/
if (!addon) {
throw new Error(`Tried to toggle a non-installed ${this.type}: "${addonId}"!`);
}
/**
* Toggle the addon.
*/
let enabled;
if (this.isEnabled(addonId)) {
await this.disable(addonId, false);
enabled = false;
} else if (this.isDisabled(addonId, false)) {
await this.enable(addonId);
enabled = true;
}
/**
* Make sure the addon is installed.
*/
if (!addon) {
throw new Error(`Tried to toggle a non-installed ${this.type}: "${addonId}"!`);
}
/**
* Toggle the addon.
*/
let enabled;
if (this.isEnabled(addonId)) {
await this.disable(addonId, false);
enabled = false;
} else if (this.isDisabled(addonId, false)) {
await this.enable(addonId);
enabled = true;
}
/**
* Check if we should send the event.
*/
if (sendEvent) {
this.emit(_Events.VIZALITY_ADDON_TOGGLE, { addonId, type: this.type, enabled });
}
} catch (err) {
return this._error(err);
if (sendEvent) {
this.emit(_Events.VIZALITY_ADDON_TOGGLE, { addonId, type: this.type, enabled });
}
} catch (err) {
return this._error(err);
}
}
/**
* Enables an addon with a given ID.
@ -569,7 +569,7 @@ export default class AddonManager extends Events {
* The addonId supplied might be a GitHub repository URL
*/
if (!git) {
git = addonId
git = addonId;
}
/**
@ -791,7 +791,7 @@ export default class AddonManager extends Events {
}
/**
*
*
* @param {string} addonId Addon ID
* @param {AddonManifest} manifest Addon manifest
* @returns {void}
@ -890,17 +890,17 @@ export default class AddonManager extends Events {
};
/**
*
*
*/
this._watcher
/**
*
*
*/
.on('addDir', (path, stat) => {
setTimeout(checkAddDirComplete, 2000, path, stat);
})
/**
*
*
*/
.on('unlinkDir', path => {
const addonId = path.replace(this.dir + sep, '');
@ -914,7 +914,7 @@ export default class AddonManager extends Events {
}
/**
*
*
* @param {string} addonId Addon ID
* @returns {void}
*/
@ -948,7 +948,7 @@ export default class AddonManager extends Events {
}
}
/**
/**
* @private
*/
_warn (...message) {
@ -961,7 +961,7 @@ export default class AddonManager extends Events {
}
}
/**
/**
* @private
*/
_error (...message) {

@ -6,7 +6,7 @@ import AddonManager from './Addon';
export default class BuiltinManager extends AddonManager {
constructor (type, dir) {
type = 'builtins';
type = 'builtin';
dir = Directories.BUILTINS;
super(type, dir);
delete this._requiredManifestKeys;

@ -1,7 +1,7 @@
import { getModule, getModuleByDisplayName } from '@vizality/webpack';
import AsyncComponent from './AsyncComponent';
import { Icons } from './Icon';
import AsyncComponent from './AsyncComponent';
export const ImageCarouselModal = AsyncComponent.fromDisplayName('componentDispatchSubscriber(ModalCarousel)');
export const GIFPickerSearchResults = AsyncComponent.fromDisplayName('GIFPickerSearchResults');
@ -248,3 +248,4 @@ getModule('ModalRoot', true, true).then(Modal => {
this.Icon.Icons = Icons;
this.Icon.Names = Object.keys(Icons);
export default this;

Loading…
Cancel
Save