From b3ae64b37ac155196fac3576af147fdc20f96f22 Mon Sep 17 00:00:00 2001 From: kckckc Date: Wed, 15 Sep 2021 12:46:32 -0700 Subject: [PATCH 01/21] Send paths of client components and wait for them to load --- src/client/js/components/components.js | 124 ++++++++++-------- src/client/js/main.js | 6 +- .../clientComponents}/animation.js | 0 .../clientComponents}/attackAnimation.js | 0 .../clientComponents}/bumpAnimation.js | 0 .../clientComponents}/chatter.js | 0 .../clientComponents}/chest.js | 0 .../clientComponents}/dialogue.js | 0 .../clientComponents}/effects.js | 0 .../clientComponents}/events.js | 0 .../clientComponents}/explosion.js | 0 .../clientComponents}/fadeInOut.js | 0 .../clientComponents}/flash.js | 0 .../clientComponents}/gatherer.js | 0 .../clientComponents}/inventory.js | 0 .../clientComponents}/keyboardMover.js | 0 .../clientComponents}/light.js | 0 .../clientComponents}/lightPatch.js | 0 .../clientComponents}/lightningEffect.js | 0 .../clientComponents}/mouseMover.js | 0 .../clientComponents}/moveAnimation.js | 0 .../clientComponents}/particles.js | 0 .../clientComponents}/passives.js | 0 .../clientComponents}/pather.js | 0 .../clientComponents}/player.js | 0 .../clientComponents}/projectile.js | 0 .../clientComponents}/quests.js | 0 .../clientComponents}/reputation.js | 0 .../clientComponents}/resourceNode.js | 0 .../clientComponents}/serverActions.js | 0 .../clientComponents}/social.js | 0 .../clientComponents}/sound.js | 0 .../clientComponents}/spellbook.js | 0 .../clientComponents}/stash.js | 0 .../clientComponents}/stats.js | 0 .../clientComponents}/touchMover.js | 0 .../clientComponents}/trade.js | 0 .../clientComponents}/whirlwind.js | 0 src/server/config/clientConfig.js | 12 ++ src/server/server/requestHandlers.js | 14 +- 40 files changed, 93 insertions(+), 63 deletions(-) rename src/{client/js/components => server/clientComponents}/animation.js (100%) rename src/{client/js/components => server/clientComponents}/attackAnimation.js (100%) rename src/{client/js/components => server/clientComponents}/bumpAnimation.js (100%) rename src/{client/js/components => server/clientComponents}/chatter.js (100%) rename src/{client/js/components => server/clientComponents}/chest.js (100%) rename src/{client/js/components => server/clientComponents}/dialogue.js (100%) rename src/{client/js/components => server/clientComponents}/effects.js (100%) rename src/{client/js/components => server/clientComponents}/events.js (100%) rename src/{client/js/components => server/clientComponents}/explosion.js (100%) rename src/{client/js/components => server/clientComponents}/fadeInOut.js (100%) rename src/{client/js/components => server/clientComponents}/flash.js (100%) rename src/{client/js/components => server/clientComponents}/gatherer.js (100%) rename src/{client/js/components => server/clientComponents}/inventory.js (100%) rename src/{client/js/components => server/clientComponents}/keyboardMover.js (100%) rename src/{client/js/components => server/clientComponents}/light.js (100%) rename src/{client/js/components => server/clientComponents}/lightPatch.js (100%) rename src/{client/js/components => server/clientComponents}/lightningEffect.js (100%) rename src/{client/js/components => server/clientComponents}/mouseMover.js (100%) rename src/{client/js/components => server/clientComponents}/moveAnimation.js (100%) rename src/{client/js/components => server/clientComponents}/particles.js (100%) rename src/{client/js/components => server/clientComponents}/passives.js (100%) rename src/{client/js/components => server/clientComponents}/pather.js (100%) rename src/{client/js/components => server/clientComponents}/player.js (100%) rename src/{client/js/components => server/clientComponents}/projectile.js (100%) rename src/{client/js/components => server/clientComponents}/quests.js (100%) rename src/{client/js/components => server/clientComponents}/reputation.js (100%) rename src/{client/js/components => server/clientComponents}/resourceNode.js (100%) rename src/{client/js/components => server/clientComponents}/serverActions.js (100%) rename src/{client/js/components => server/clientComponents}/social.js (100%) rename src/{client/js/components => server/clientComponents}/sound.js (100%) rename src/{client/js/components => server/clientComponents}/spellbook.js (100%) rename src/{client/js/components => server/clientComponents}/stash.js (100%) rename src/{client/js/components => server/clientComponents}/stats.js (100%) rename src/{client/js/components => server/clientComponents}/touchMover.js (100%) rename src/{client/js/components => server/clientComponents}/trade.js (100%) rename src/{client/js/components => server/clientComponents}/whirlwind.js (100%) diff --git a/src/client/js/components/components.js b/src/client/js/components/components.js index 04535e62..0e5b5985 100644 --- a/src/client/js/components/components.js +++ b/src/client/js/components/components.js @@ -1,50 +1,51 @@ -let components = [ - 'keyboardMover', - 'mouseMover', - 'touchMover', - 'player', - 'pather', - 'attackAnimation', - 'lightningEffect', - 'moveAnimation', - 'bumpAnimation', - 'animation', - 'light', - 'lightPatch', - 'projectile', - 'particles', - 'explosion', - 'spellbook', - 'inventory', - 'stats', - 'chest', - 'effects', - 'quests', - 'events', - 'resourceNode', - 'gatherer', - 'stash', - 'flash', - 'chatter', - 'dialogue', - 'trade', - 'reputation', - 'serverActions', - 'social', - 'passives', - 'sound', - 'whirlwind', - 'fadeInOut' -].map(function (c) { - return 'js/components/' + c; -}); +// let components = [ +// 'keyboardMover', +// 'mouseMover', +// 'touchMover', +// 'player', +// 'pather', +// 'attackAnimation', +// 'lightningEffect', +// 'moveAnimation', +// 'bumpAnimation', +// 'animation', +// 'light', +// 'lightPatch', +// 'projectile', +// 'particles', +// 'explosion', +// 'spellbook', +// 'inventory', +// 'stats', +// 'chest', +// 'effects', +// 'quests', +// 'events', +// 'resourceNode', +// 'gatherer', +// 'stash', +// 'flash', +// 'chatter', +// 'dialogue', +// 'trade', +// 'reputation', +// 'serverActions', +// 'social', +// 'passives', +// 'sound', +// 'whirlwind', +// 'fadeInOut' +// ].map(function (c) { +// return 'js/components/' + c; +// }); define([ - ...components, - '../system/events' -], function () { - const events = arguments[arguments.length - 1]; - + 'js/system/events', + 'js/system/globals' +], function ( + events, + globals +) { const hookEvent = function (e, cb) { if (!this.eventList[e]) this.eventList[e] = []; @@ -59,26 +60,35 @@ define([ }); }; - let templates = {}; + return { + templates: {}, + + init: function () { + let cpns = globals.clientConfig.clientComponents; + return Promise.all(cpns.map(c => this.getComponent(c))); + }, - [].forEach.call(arguments, function (t, i) { - //Don't do this for the events module - if (i === arguments[2].length - 1) - return; + getComponent: function (cpn) { + return new Promise(resolve => { + require([cpn.path], this.onGetComponent.bind(this, resolve, cpn)); + }); + }, - t.eventList = {}; - t.hookEvent = hookEvent; - t.unhookEvents = unhookEvents; + onGetComponent: function (resolve, cpn, template) { + template.eventList = {}; + template.hookEvent = hookEvent; + template.unhookEvents = unhookEvents; - templates[t.type] = t; - }); + this.templates[cpn.type] = template; - return { + resolve(); + }, + getTemplate: function (type) { if (type === 'lightpatch') type = 'lightPatch'; - let template = templates[type] || { + let template = this.templates[type] || { type: type }; diff --git a/src/client/js/main.js b/src/client/js/main.js index 6c76dde9..25120e9c 100644 --- a/src/client/js/main.js +++ b/src/client/js/main.js @@ -10,6 +10,7 @@ define([ 'js/resources', 'js/sound/sound', 'js/system/globals', + 'js/components/components', 'ui/templates/online/online', 'ui/templates/tooltips/tooltips' ], function ( @@ -23,7 +24,8 @@ define([ events, resources, sound, - globals + globals, + components ) { let fnQueueTick = null; const getQueueTick = updateMethod => { @@ -69,6 +71,8 @@ define([ globals.clientConfig = config; await resources.init(); + await components.init(); + events.emit('onResourcesLoaded'); this.start(); diff --git a/src/client/js/components/animation.js b/src/server/clientComponents/animation.js similarity index 100% rename from src/client/js/components/animation.js rename to src/server/clientComponents/animation.js diff --git a/src/client/js/components/attackAnimation.js b/src/server/clientComponents/attackAnimation.js similarity index 100% rename from src/client/js/components/attackAnimation.js rename to src/server/clientComponents/attackAnimation.js diff --git a/src/client/js/components/bumpAnimation.js b/src/server/clientComponents/bumpAnimation.js similarity index 100% rename from src/client/js/components/bumpAnimation.js rename to src/server/clientComponents/bumpAnimation.js diff --git a/src/client/js/components/chatter.js b/src/server/clientComponents/chatter.js similarity index 100% rename from src/client/js/components/chatter.js rename to src/server/clientComponents/chatter.js diff --git a/src/client/js/components/chest.js b/src/server/clientComponents/chest.js similarity index 100% rename from src/client/js/components/chest.js rename to src/server/clientComponents/chest.js diff --git a/src/client/js/components/dialogue.js b/src/server/clientComponents/dialogue.js similarity index 100% rename from src/client/js/components/dialogue.js rename to src/server/clientComponents/dialogue.js diff --git a/src/client/js/components/effects.js b/src/server/clientComponents/effects.js similarity index 100% rename from src/client/js/components/effects.js rename to src/server/clientComponents/effects.js diff --git a/src/client/js/components/events.js b/src/server/clientComponents/events.js similarity index 100% rename from src/client/js/components/events.js rename to src/server/clientComponents/events.js diff --git a/src/client/js/components/explosion.js b/src/server/clientComponents/explosion.js similarity index 100% rename from src/client/js/components/explosion.js rename to src/server/clientComponents/explosion.js diff --git a/src/client/js/components/fadeInOut.js b/src/server/clientComponents/fadeInOut.js similarity index 100% rename from src/client/js/components/fadeInOut.js rename to src/server/clientComponents/fadeInOut.js diff --git a/src/client/js/components/flash.js b/src/server/clientComponents/flash.js similarity index 100% rename from src/client/js/components/flash.js rename to src/server/clientComponents/flash.js diff --git a/src/client/js/components/gatherer.js b/src/server/clientComponents/gatherer.js similarity index 100% rename from src/client/js/components/gatherer.js rename to src/server/clientComponents/gatherer.js diff --git a/src/client/js/components/inventory.js b/src/server/clientComponents/inventory.js similarity index 100% rename from src/client/js/components/inventory.js rename to src/server/clientComponents/inventory.js diff --git a/src/client/js/components/keyboardMover.js b/src/server/clientComponents/keyboardMover.js similarity index 100% rename from src/client/js/components/keyboardMover.js rename to src/server/clientComponents/keyboardMover.js diff --git a/src/client/js/components/light.js b/src/server/clientComponents/light.js similarity index 100% rename from src/client/js/components/light.js rename to src/server/clientComponents/light.js diff --git a/src/client/js/components/lightPatch.js b/src/server/clientComponents/lightPatch.js similarity index 100% rename from src/client/js/components/lightPatch.js rename to src/server/clientComponents/lightPatch.js diff --git a/src/client/js/components/lightningEffect.js b/src/server/clientComponents/lightningEffect.js similarity index 100% rename from src/client/js/components/lightningEffect.js rename to src/server/clientComponents/lightningEffect.js diff --git a/src/client/js/components/mouseMover.js b/src/server/clientComponents/mouseMover.js similarity index 100% rename from src/client/js/components/mouseMover.js rename to src/server/clientComponents/mouseMover.js diff --git a/src/client/js/components/moveAnimation.js b/src/server/clientComponents/moveAnimation.js similarity index 100% rename from src/client/js/components/moveAnimation.js rename to src/server/clientComponents/moveAnimation.js diff --git a/src/client/js/components/particles.js b/src/server/clientComponents/particles.js similarity index 100% rename from src/client/js/components/particles.js rename to src/server/clientComponents/particles.js diff --git a/src/client/js/components/passives.js b/src/server/clientComponents/passives.js similarity index 100% rename from src/client/js/components/passives.js rename to src/server/clientComponents/passives.js diff --git a/src/client/js/components/pather.js b/src/server/clientComponents/pather.js similarity index 100% rename from src/client/js/components/pather.js rename to src/server/clientComponents/pather.js diff --git a/src/client/js/components/player.js b/src/server/clientComponents/player.js similarity index 100% rename from src/client/js/components/player.js rename to src/server/clientComponents/player.js diff --git a/src/client/js/components/projectile.js b/src/server/clientComponents/projectile.js similarity index 100% rename from src/client/js/components/projectile.js rename to src/server/clientComponents/projectile.js diff --git a/src/client/js/components/quests.js b/src/server/clientComponents/quests.js similarity index 100% rename from src/client/js/components/quests.js rename to src/server/clientComponents/quests.js diff --git a/src/client/js/components/reputation.js b/src/server/clientComponents/reputation.js similarity index 100% rename from src/client/js/components/reputation.js rename to src/server/clientComponents/reputation.js diff --git a/src/client/js/components/resourceNode.js b/src/server/clientComponents/resourceNode.js similarity index 100% rename from src/client/js/components/resourceNode.js rename to src/server/clientComponents/resourceNode.js diff --git a/src/client/js/components/serverActions.js b/src/server/clientComponents/serverActions.js similarity index 100% rename from src/client/js/components/serverActions.js rename to src/server/clientComponents/serverActions.js diff --git a/src/client/js/components/social.js b/src/server/clientComponents/social.js similarity index 100% rename from src/client/js/components/social.js rename to src/server/clientComponents/social.js diff --git a/src/client/js/components/sound.js b/src/server/clientComponents/sound.js similarity index 100% rename from src/client/js/components/sound.js rename to src/server/clientComponents/sound.js diff --git a/src/client/js/components/spellbook.js b/src/server/clientComponents/spellbook.js similarity index 100% rename from src/client/js/components/spellbook.js rename to src/server/clientComponents/spellbook.js diff --git a/src/client/js/components/stash.js b/src/server/clientComponents/stash.js similarity index 100% rename from src/client/js/components/stash.js rename to src/server/clientComponents/stash.js diff --git a/src/client/js/components/stats.js b/src/server/clientComponents/stats.js similarity index 100% rename from src/client/js/components/stats.js rename to src/server/clientComponents/stats.js diff --git a/src/client/js/components/touchMover.js b/src/server/clientComponents/touchMover.js similarity index 100% rename from src/client/js/components/touchMover.js rename to src/server/clientComponents/touchMover.js diff --git a/src/client/js/components/trade.js b/src/server/clientComponents/trade.js similarity index 100% rename from src/client/js/components/trade.js rename to src/server/clientComponents/trade.js diff --git a/src/client/js/components/whirlwind.js b/src/server/clientComponents/whirlwind.js similarity index 100% rename from src/client/js/components/whirlwind.js rename to src/server/clientComponents/whirlwind.js diff --git a/src/server/config/clientConfig.js b/src/server/config/clientConfig.js index 5c401b38..9f90deca 100644 --- a/src/server/config/clientConfig.js +++ b/src/server/config/clientConfig.js @@ -1,6 +1,7 @@ const imageSize = require('image-size'); const events = require('../misc/events'); +const fileLister = require('../misc/fileLister'); const tos = require('./tos'); const config = { @@ -197,6 +198,7 @@ const config = { player: [], npc: [] }, + clientComponents: [], sounds: { ui: [] }, @@ -207,6 +209,16 @@ module.exports = { config, init: async function () { + fileLister.getFolder('./clientComponents').forEach(f => { + const type = f.split('.')[0]; + const path = 'server/clientComponents/' + f; + + config.clientComponents.push({ + type, + path + }); + }); + events.emit('onBeforeGetClientConfig', config); //Deprecated diff --git a/src/server/server/requestHandlers.js b/src/server/server/requestHandlers.js index b3a9704f..46833af1 100644 --- a/src/server/server/requestHandlers.js +++ b/src/server/server/requestHandlers.js @@ -11,13 +11,17 @@ const appFile = (req, res) => { let file = req.params[0]; file = file.replace('/' + root + '/', ''); - + const validRequest = ( root !== 'server' || - ( - file.includes('mods/') && - validModPatterns.some(v => file.includes(v)) - ) + ( + root === 'server' && + file.startsWith('clientComponents/') + ) || + ( + file.includes('mods/') && + validModPatterns.some(v => file.includes(v)) + ) ); if (!validRequest) From 677cc168ef935e7b87ffc5c19d0a89ea925d5585 Mon Sep 17 00:00:00 2001 From: kckckc Date: Wed, 15 Sep 2021 12:48:33 -0700 Subject: [PATCH 02/21] Remove comment --- src/client/js/components/components.js | 41 -------------------------- 1 file changed, 41 deletions(-) diff --git a/src/client/js/components/components.js b/src/client/js/components/components.js index 0e5b5985..945b5fca 100644 --- a/src/client/js/components/components.js +++ b/src/client/js/components/components.js @@ -1,44 +1,3 @@ -// let components = [ -// 'keyboardMover', -// 'mouseMover', -// 'touchMover', -// 'player', -// 'pather', -// 'attackAnimation', -// 'lightningEffect', -// 'moveAnimation', -// 'bumpAnimation', -// 'animation', -// 'light', -// 'lightPatch', -// 'projectile', -// 'particles', -// 'explosion', -// 'spellbook', -// 'inventory', -// 'stats', -// 'chest', -// 'effects', -// 'quests', -// 'events', -// 'resourceNode', -// 'gatherer', -// 'stash', -// 'flash', -// 'chatter', -// 'dialogue', -// 'trade', -// 'reputation', -// 'serverActions', -// 'social', -// 'passives', -// 'sound', -// 'whirlwind', -// 'fadeInOut' -// ].map(function (c) { -// return 'js/components/' + c; -// }); - define([ 'js/system/events', 'js/system/globals' From dc8fc1098a7b717f16057536e1c1b76e311122d7 Mon Sep 17 00:00:00 2001 From: kckckc Date: Wed, 15 Sep 2021 14:23:13 -0700 Subject: [PATCH 03/21] clientComponents should use the client linting rules --- src/server/clientComponents/.eslintrc | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 src/server/clientComponents/.eslintrc diff --git a/src/server/clientComponents/.eslintrc b/src/server/clientComponents/.eslintrc new file mode 100644 index 00000000..7658189f --- /dev/null +++ b/src/server/clientComponents/.eslintrc @@ -0,0 +1,3 @@ +{ + "extends": "../../client/.eslintrc" +} \ No newline at end of file From 2dceb2c0ef1dd7fd2056feb6ff1160ab1b4ca46b Mon Sep 17 00:00:00 2001 From: kckckc Date: Wed, 15 Sep 2021 15:33:10 -0700 Subject: [PATCH 04/21] Linting server needs the requirejs eslint plugin now --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3f45d484..44c31c2e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -16,7 +16,7 @@ audit: lint-server: stage: test script: - - npm install eslint eslint-plugin-prettier prettier babel-eslint + - npm install eslint eslint-plugin-prettier prettier babel-eslint eslint-plugin-requirejs - cd src/server - ../../node_modules/.bin/eslint . only: From deab4acc3d5da726d728a88eb68a66118ab4f2a5 Mon Sep 17 00:00:00 2001 From: kckckc Date: Wed, 15 Sep 2021 15:55:52 -0700 Subject: [PATCH 05/21] clientComponents can extend another component once both are loaded --- src/client/js/components/components.js | 45 +++++++++++++++++++++----- src/server/config/clientConfig.js | 2 ++ 2 files changed, 39 insertions(+), 8 deletions(-) diff --git a/src/client/js/components/components.js b/src/client/js/components/components.js index 945b5fca..397032cc 100644 --- a/src/client/js/components/components.js +++ b/src/client/js/components/components.js @@ -19,12 +19,20 @@ define([ }); }; + let cpns = []; + return { templates: {}, init: function () { - let cpns = globals.clientConfig.clientComponents; - return Promise.all(cpns.map(c => this.getComponent(c))); + cpns = globals.clientConfig.clientComponents; + + cpns = cpns.map(c => ({ + ...c, + promise: this.getComponent(c) + })); + + return Promise.all(cpns.map(c => c.promise)); }, getComponent: function (cpn) { @@ -34,15 +42,36 @@ define([ }, onGetComponent: function (resolve, cpn, template) { - template.eventList = {}; - template.hookEvent = hookEvent; - template.unhookEvents = unhookEvents; + if (cpn.type) { + template.eventList = {}; + template.hookEvent = hookEvent; + template.unhookEvents = unhookEvents; - this.templates[cpn.type] = template; + this.templates[cpn.type] = template; - resolve(); + resolve(); + } else if (cpn.extends) { + let target = cpn.extends; + + if (!this.templates[target]) { + let waitFor = cpns.find(c => c.type === target); + + if (waitFor) { + waitFor.promise.then(() => { + this.templates[target] = $.extend(true, this.templates[target], template); + resolve(); + }); + } + } else { + this.templates[target] = $.extend(true, this.templates[target], template); + resolve(); + } + } else { + // This shouldn't get reached + resolve(); + } }, - + getTemplate: function (type) { if (type === 'lightpatch') type = 'lightPatch'; diff --git a/src/server/config/clientConfig.js b/src/server/config/clientConfig.js index 9f90deca..a2f3934d 100644 --- a/src/server/config/clientConfig.js +++ b/src/server/config/clientConfig.js @@ -210,6 +210,8 @@ module.exports = { init: async function () { fileLister.getFolder('./clientComponents').forEach(f => { + if (!f.endsWith('.js')) return; + const type = f.split('.')[0]; const path = 'server/clientComponents/' + f; From 9661a902caad8840dc796beaf476555fbc989016 Mon Sep 17 00:00:00 2001 From: kckckc Date: Wed, 15 Sep 2021 15:58:42 -0700 Subject: [PATCH 06/21] Should resolve in all cases even if missing a component --- src/client/js/components/components.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/client/js/components/components.js b/src/client/js/components/components.js index 397032cc..50f94e3e 100644 --- a/src/client/js/components/components.js +++ b/src/client/js/components/components.js @@ -61,6 +61,9 @@ define([ this.templates[target] = $.extend(true, this.templates[target], template); resolve(); }); + } else { + // There's no file for that component type for us to extend + resolve(); } } else { this.templates[target] = $.extend(true, this.templates[target], template); From 7040fda936db833a336e8b86ab46896cb82a67c0 Mon Sep 17 00:00:00 2001 From: kckckc Date: Thu, 16 Sep 2021 00:32:57 -0700 Subject: [PATCH 07/21] Restructure clientComponent extensions --- src/client/js/components/components.js | 94 +++++++++++--------------- 1 file changed, 41 insertions(+), 53 deletions(-) diff --git a/src/client/js/components/components.js b/src/client/js/components/components.js index 50f94e3e..e0b343f6 100644 --- a/src/client/js/components/components.js +++ b/src/client/js/components/components.js @@ -5,6 +5,11 @@ define([ events, globals ) { + //Store templates here after loading them + const templates = []; + const extenders = []; + + //Bound Methods const hookEvent = function (e, cb) { if (!this.eventList[e]) this.eventList[e] = []; @@ -19,71 +24,54 @@ define([ }); }; - let cpns = []; - - return { - templates: {}, - - init: function () { - cpns = globals.clientConfig.clientComponents; - - cpns = cpns.map(c => ({ - ...c, - promise: this.getComponent(c) - })); + //Helpers + const loadComponent = cpn => { + return new Promise(res => { + require([cpn.path], tpl => { + if (cpn.type) + templates.push(tpl); + if (cpn.extends) + extenders.push(tpl); + + res(); + }); + }); + }; - return Promise.all(cpns.map(c => c.promise)); - }, + //Init Methods + const loadComponents = paths => { + return Promise.all( + paths.map(p => loadComponent(p)) + ); + }; + + const buildComponents = () => { + templates.forEach(t => { + const extensions = extenders.filter(e => e.extends === t.type); - getComponent: function (cpn) { - return new Promise(resolve => { - require([cpn.path], this.onGetComponent.bind(this, resolve, cpn)); - }); - }, + extensions.forEach(e => $.extend(true, t, e)); - onGetComponent: function (resolve, cpn, template) { - if (cpn.type) { - template.eventList = {}; - template.hookEvent = hookEvent; - template.unhookEvents = unhookEvents; + t.eventList = {}; + t.hookEvent = hookEvent; + t.unhookEvents = unhookEvents; + }); + }; - this.templates[cpn.type] = template; + //Export + return { + init: async function () { + const paths = globals.clientConfig.clientComponents; - resolve(); - } else if (cpn.extends) { - let target = cpn.extends; + await loadComponents(paths); - if (!this.templates[target]) { - let waitFor = cpns.find(c => c.type === target); - - if (waitFor) { - waitFor.promise.then(() => { - this.templates[target] = $.extend(true, this.templates[target], template); - resolve(); - }); - } else { - // There's no file for that component type for us to extend - resolve(); - } - } else { - this.templates[target] = $.extend(true, this.templates[target], template); - resolve(); - } - } else { - // This shouldn't get reached - resolve(); - } + buildComponents(); }, getTemplate: function (type) { if (type === 'lightpatch') type = 'lightPatch'; - let template = this.templates[type] || { - type: type - }; - - return template; + return templates.find(t => t.type === type) || { type: type }; } }; }); From 06f716eceee66487d76060352fe18e90ac081225 Mon Sep 17 00:00:00 2001 From: Shaun Date: Sat, 18 Sep 2021 13:51:49 +0200 Subject: [PATCH 08/21] feat #1835 --- src/server/components/door.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/server/components/door.js b/src/server/components/door.js index 5793a842..edc8fcf2 100644 --- a/src/server/components/door.js +++ b/src/server/components/door.js @@ -20,6 +20,11 @@ module.exports = { this.destroyKey = blueprint.destroyKey; this.autoClose = blueprint.autoClose; + if (blueprint.openSprite) + this.openSprite = blueprint.openSprite; + if (blueprint.closedSprite) + this.closedSprite = blueprint.closedSprite; + if (this.closed) { this.obj.instance.physics.setCollision(this.obj.x, this.obj.y, true); this.obj.instance.objects.notifyCollisionChange(this.obj.x, this.obj.y, true); From 9a2fd779f56ea880a38ad7de65cfa4e671e48163 Mon Sep 17 00:00:00 2001 From: Shaun Date: Sat, 18 Sep 2021 14:01:20 +0200 Subject: [PATCH 09/21] feat #1836 --- src/client/js/rendering/particles.js | 3 ++- src/client/js/rendering/renderer.js | 31 +++++++++++++++++++++------- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/src/client/js/rendering/particles.js b/src/client/js/rendering/particles.js index 3c931217..4cf7b076 100644 --- a/src/client/js/rendering/particles.js +++ b/src/client/js/rendering/particles.js @@ -28,9 +28,10 @@ define([ let options = $.extend(true, {}, particleDefaults, config); - let emitter = new PIXI.particles.Emitter(this.r.layers.particles, ['images/particles.png'], options); + let emitter = new PIXI.particles.Emitter(this.stage, ['images/particles.png'], options); emitter.obj = obj; emitter.emit = true; + emitter.particleEngine = this; this.emitters.push(emitter); diff --git a/src/client/js/rendering/renderer.js b/src/client/js/rendering/renderer.js index 69f2782d..c8ef3486 100644 --- a/src/client/js/rendering/renderer.js +++ b/src/client/js/rendering/renderer.js @@ -21,11 +21,15 @@ define([ globals, renderLoginBackground ) { - let mRandom = Math.random.bind(Math); + const mRandom = Math.random.bind(Math); + + const particleLayers = ['particlesUnder', 'particles']; + const particleEngines = {}; return { stage: null, layers: { + particlesUnder: null, objects: null, mobs: null, characters: null, @@ -115,10 +119,15 @@ define([ this.textures[t].scaleMode = PIXI.SCALE_MODES.NEAREST; }); - particles.init({ - r: this, - renderer: this.renderer, - stage: this.layers.particles + particleLayers.forEach(p => { + const engine = $.extend({}, particles); + engine.init({ + r: this, + renderer: this.renderer, + stage: this.layers[p] + }); + + particleEngines[p] = engine; }); this.buildSpritesTexture(); @@ -769,11 +778,16 @@ define([ }, buildEmitter: function (config) { - return particles.buildEmitter(config); + const { layerName = 'particles' } = config; + const particleEngine = particleEngines[layerName]; + + return particleEngine.buildEmitter(config); }, destroyEmitter: function (emitter) { - particles.destroyEmitter(emitter); + const particleEngine = emitter.particleEngine; + + particleEngine.destroyEmitter(emitter); }, setSprite: function (obj) { @@ -887,7 +901,8 @@ define([ return; effects.render(); - particles.update(); + + particleLayers.forEach(p => particleEngines[p].update()); this.renderer.render(this.stage); } From e0c0408e24ba3f23ded298f4c2398db6c0952194 Mon Sep 17 00:00:00 2001 From: Shaun Date: Fri, 8 Oct 2021 07:43:57 +0200 Subject: [PATCH 10/21] bug #1837 --- src/server/server/onConnection.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/server/server/onConnection.js b/src/server/server/onConnection.js index 80f98d8c..2abc1470 100644 --- a/src/server/server/onConnection.js +++ b/src/server/server/onConnection.js @@ -20,11 +20,15 @@ const onRequest = (socket, msg, callback) => { if (!router.allowedCpn(msg)) return; + delete msg.threadModule; + cons.route(socket, msg); } else if (msg.threadModule) { if (!router.allowedGlobalCall(msg.threadModule, msg.method)) return; + delete msg.cpn; + cons.route(socket, msg); } else { if (!router.allowedGlobal(msg)) From 113801e90eeb12c397d3748962b632dabd6c7454 Mon Sep 17 00:00:00 2001 From: Shaun Date: Fri, 8 Oct 2021 07:49:31 +0200 Subject: [PATCH 11/21] chore: Allowing npm audit to fail because sqlite... --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 44c31c2e..2f3ff2e3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -9,6 +9,7 @@ audit: script: - cd src/server - npm audit + allow_failure: true only: - merge_requests - master From d853eacef4a099003ebc2b86b42bf57ca1a16509 Mon Sep 17 00:00:00 2001 From: Shaun Date: Tue, 12 Oct 2021 06:41:53 +0200 Subject: [PATCH 12/21] enhancement #1839: Enhanced the sound module and component --- src/client/js/sound/sound.js | 31 ++++++++++++++++++++++++++++ src/client/js/system/client.js | 6 ++++++ src/server/clientComponents/sound.js | 19 ++++++++++++++--- 3 files changed, 53 insertions(+), 3 deletions(-) diff --git a/src/client/js/sound/sound.js b/src/client/js/sound/sound.js index 7fef535f..253ad142 100644 --- a/src/client/js/sound/sound.js +++ b/src/client/js/sound/sound.js @@ -32,6 +32,7 @@ define([ init: function () { events.on('onToggleAudio', this.onToggleAudio.bind(this)); events.on('onPlaySound', this.playSound.bind(this)); + events.on('onPlaySoundAtPosition', this.onPlaySoundAtPosition.bind(this)); events.on('onManipulateVolume', this.onManipulateVolume.bind(this)); const { clientConfig: { sounds: loadSounds } } = globals; @@ -67,6 +68,24 @@ define([ } }, + onPlaySoundAtPosition: function ({ position: { x, y }, file, volume }) { + const { player: { x: playerX, y: playerY } } = window; + const dx = Math.abs(x - playerX); + const dy = Math.abs(y - playerY); + const distance = Math.max(dx, dy); + + const useVolume = volume * (1 - (Math.pow(distance, 2) / Math.pow(minDistance, 2))); + + //eslint-disable-next-line no-undef, no-unused-vars + const sound = new Howl({ + src: [file], + volume: useVolume, + loop: false, + autoplay: true, + html5: false + }); + }, + playSound: function (soundName) { const soundEntry = this.sounds.find(s => s.name === soundName); if (!soundEntry) @@ -211,6 +230,13 @@ define([ addSound: function ( { name: soundName, scope, file, volume = 1, x, y, w, h, area, music, defaultMusic, autoLoad, loop } ) { + if (this.sounds.some(s => s.file === file)) { + if (window.player?.x !== undefined) + this.update(window.player.x, window.player.y); + + return; + } + if (!area && w) { area = [ [x, y], @@ -243,6 +269,11 @@ define([ }; this.sounds.push(soundEntry); + + if (window.player?.x !== undefined) + this.update(window.player.x, window.player.y); + + return soundEntry; }, loadSound: function (file, loop = false, autoplay = false, volume = 1) { diff --git a/src/client/js/system/client.js b/src/client/js/system/client.js index 4e92ec57..4d870339 100644 --- a/src/client/js/system/client.js +++ b/src/client/js/system/client.js @@ -13,6 +13,12 @@ define([ transports: ['websocket'] }); + window.socket = this.socket; + + /*this.socket = io('http://127.0.0.1:3000', { + transports: ['websocket'] + });*/ + this.socket.on('connect', this.onConnected.bind(this, onReady)); this.socket.on('handshake', this.onHandshake.bind(this)); this.socket.on('event', this.onEvent.bind(this)); diff --git a/src/server/clientComponents/sound.js b/src/server/clientComponents/sound.js index 29a5a30f..526265b9 100644 --- a/src/server/clientComponents/sound.js +++ b/src/server/clientComponents/sound.js @@ -9,9 +9,11 @@ define([ sound: null, volume: 0, + soundEntry: null, + init: function () { const { - sound, volume, music, defaultMusic, + sound, volume, music, defaultMusic, loop = true, obj: { zoneId, x, y, width, height, area } } = this; @@ -26,10 +28,21 @@ define([ area, music, defaultMusic, - loop: true + loop }; - soundManager.addSound(config); + this.soundEntry = soundManager.addSound(config); + }, + + extend: function (bpt) { + Object.assign(this, bpt); + + Object.assign(this.soundEntry, bpt); + }, + + destroy: function () { + if (this.soundEntry?.sound) + this.soundEntry?.sound.stop(); } }; }); From 4993657076180a4fd2f49ea4a2974bd0483a9623 Mon Sep 17 00:00:00 2001 From: Shaun Date: Tue, 12 Oct 2021 06:46:54 +0200 Subject: [PATCH 13/21] bug #1840: Fixed the map loader to not crash when room exits are defined before their corresponding room definitions --- src/server/world/map.js | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/server/world/map.js b/src/server/world/map.js index f9438ba4..07d250e8 100644 --- a/src/server/world/map.js +++ b/src/server/world/map.js @@ -259,12 +259,18 @@ module.exports = { const layers = [...mapFile.layers.filter(l => l.objects), ...mapFile.layers.filter(l => !l.objects)]; //Rooms need to be ahead of exits - layers.rooms = (layers.rooms || []) - .sort(function (a, b) { - if ((a.exit) && (!b.exit)) - return 1; - return 0; - }); + const layerRooms = layers.find(l => l.name === 'rooms') || {}; + layerRooms.objects.sort((a, b) => { + const isExitA = a?.properties?.some(p => p.name === 'exit'); + const isExitB = b?.properties?.some(p => p.name === 'exit'); + + if (isExitA && !isExitB) + return 1; + else if (!isExitA && isExitB) + return -1; + + return 0; + }); for (let i = 0; i < layers.length; i++) { let layer = layers[i]; From c2a7a143b872b4ccb1d62dff48a99f1d1cbaf64b Mon Sep 17 00:00:00 2001 From: Shaun Date: Tue, 12 Oct 2021 07:08:18 +0200 Subject: [PATCH 14/21] chore: Bumped version and removed sqlite3 as mentioned in #1841 --- src/client/package.json | 2 +- src/client/ui/templates/login/template.html | 4 +- src/server/config/serverConfig.js | 2 +- src/server/package-lock.json | 511 +------------------- src/server/package.json | 7 +- 5 files changed, 18 insertions(+), 508 deletions(-) diff --git a/src/client/package.json b/src/client/package.json index f6a5329f..43315304 100644 --- a/src/client/package.json +++ b/src/client/package.json @@ -1,6 +1,6 @@ { "name": "isleward_client", - "version": "0.10.2", + "version": "0.10.4", "description": "isleward", "dependencies": {}, "devDependencies": { diff --git a/src/client/ui/templates/login/template.html b/src/client/ui/templates/login/template.html index 2c16e120..7002384c 100644 --- a/src/client/ui/templates/login/template.html +++ b/src/client/ui/templates/login/template.html @@ -11,11 +11,11 @@
-
[ Latest Release Notes ]
+
[ Latest Release Notes ]
Pledge on Patreon
Donate on Paypal
Access the Wiki
-
v0.10.2
+
v0.10.4
diff --git a/src/server/config/serverConfig.js b/src/server/config/serverConfig.js index 0459bad8..41a23571 100644 --- a/src/server/config/serverConfig.js +++ b/src/server/config/serverConfig.js @@ -1,5 +1,5 @@ module.exports = { - version: '0.10.2', + version: '0.10.4', port: 4000, startupMessage: 'Server: ready', defaultZone: 'fjolarok', diff --git a/src/server/package-lock.json b/src/server/package-lock.json index 0250d230..3b3733a7 100644 --- a/src/server/package-lock.json +++ b/src/server/package-lock.json @@ -1,6 +1,6 @@ { "name": "isleward_server", - "version": "0.9.1", + "version": "0.10.4", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -250,12 +250,6 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-16.6.1.tgz", "integrity": "sha512-Sr7BhXEAer9xyGuCN3Ek9eg9xPviCF2gfu9kTfuU2HkTVAMYSDeX40fvpmo72n5nansg3nsBjuQBrsS28r+NUw==" }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, "accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", @@ -295,9 +289,9 @@ "dev": true }, "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "ansi-styles": { @@ -309,22 +303,6 @@ "color-convert": "^1.9.0" } }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -374,11 +352,11 @@ "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==" }, "axios": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", - "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", "requires": { - "follow-redirects": "^1.10.0" + "follow-redirects": "^1.14.0" } }, "babel-eslint": { @@ -490,12 +468,6 @@ "supports-color": "^5.3.0" } }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, "clean-css": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", @@ -504,12 +476,6 @@ "source-map": "~0.6.0" } }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -571,12 +537,6 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true - }, "content-disposition": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", @@ -641,12 +601,6 @@ "ms": "2.0.0" } }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true - }, "deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", @@ -658,12 +612,6 @@ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true - }, "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", @@ -674,12 +622,6 @@ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", - "dev": true - }, "doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -1210,9 +1152,9 @@ "dev": true }, "follow-redirects": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz", - "integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==" + "version": "1.14.4", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.4.tgz", + "integrity": "sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g==" }, "forever-agent": { "version": "0.6.1", @@ -1239,15 +1181,6 @@ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" }, - "fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "dev": true, - "requires": { - "minipass": "^2.6.0" - } - }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -1260,59 +1193,6 @@ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -1370,12 +1250,6 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true - }, "http-errors": { "version": "1.7.2", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", @@ -1412,15 +1286,6 @@ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true }, - "ignore-walk": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.4.tgz", - "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", - "dev": true, - "requires": { - "minimatch": "^3.0.4" - } - }, "image-size": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.0.tgz", @@ -1460,12 +1325,6 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, "ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", @@ -1497,12 +1356,6 @@ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -1658,187 +1511,22 @@ "brace-expansion": "^1.1.7" } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - }, - "minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - }, - "dependencies": { - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } - } - }, - "minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "dev": true, - "requires": { - "minipass": "^2.9.0" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, - "nan": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", - "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", - "dev": true - }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, - "needle": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.9.0.tgz", - "integrity": "sha512-UBLC4P8w9to3rAhWOQYXIXzTUio9yVnDzIeKxfGbF+Hngy+2bXTqqFK+6nF42EAQKfJdezXK6vzMsefUa1Y3ag==", - "dev": true, - "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - } - } - }, "negotiator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" }, - "node-pre-gyp": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz", - "integrity": "sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==", - "dev": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "nopt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", - "dev": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", - "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", - "dev": true, - "requires": { - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", - "dev": true - }, - "npm-packlist": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", - "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", - "dev": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1", - "npm-normalize-package-bin": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dev": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", @@ -1885,28 +1573,6 @@ "word-wrap": "^1.2.3" } }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dev": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -1964,12 +1630,6 @@ "fast-diff": "^1.1.2" } }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, "progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", @@ -2031,41 +1691,6 @@ } } }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - } - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, "regexpp": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", @@ -2154,12 +1779,6 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, "semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", @@ -2207,12 +1826,6 @@ "send": "0.17.1" } }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, "setprototypeof": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", @@ -2233,12 +1846,6 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, "slice-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", @@ -2348,16 +1955,6 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, - "sqlite3": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-4.2.0.tgz", - "integrity": "sha512-roEOz41hxui2Q7uYnWsjMOTry6TcNUNmp8audCx18gF10P2NknwdpF+E+HKvz/F2NvPKGGBF4NGc+ZPQ+AABwg==", - "dev": true, - "requires": { - "nan": "^2.12.1", - "node-pre-gyp": "^0.11.0" - } - }, "sshpk": { "version": "1.16.1", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", @@ -2390,15 +1987,6 @@ "strip-ansi": "^6.0.0" } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, "strip-ansi": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", @@ -2457,35 +2045,6 @@ } } }, - "tar": { - "version": "4.4.19", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", - "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", - "dev": true, - "requires": { - "chownr": "^1.1.4", - "fs-minipass": "^1.2.7", - "minipass": "^2.9.0", - "minizlib": "^1.3.3", - "mkdirp": "^0.5.5", - "safe-buffer": "^5.2.1", - "yallist": "^3.1.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } - } - }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -2596,12 +2155,6 @@ "punycode": "^2.1.0" } }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, "utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", @@ -2642,48 +2195,6 @@ "isexe": "^2.0.0" } }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "requires": { - "string-width": "^1.0.2 || 2" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", diff --git a/src/server/package.json b/src/server/package.json index 92f0c7ec..51eac7d1 100644 --- a/src/server/package.json +++ b/src/server/package.json @@ -1,9 +1,9 @@ { "name": "isleward_server", - "version": "0.10.2", + "version": "0.10.4", "description": "isleward", "dependencies": { - "axios": "^0.21.1", + "axios": "^0.21.4", "bcrypt-nodejs": "0.0.3", "compression": "^1.7.4", "express": "^4.17.1", @@ -17,7 +17,6 @@ "babel-eslint": "^10.1.0", "eslint": "^7.32.0", "eslint-plugin-prettier": "^3.4.0", - "eslint-plugin-requirejs": "^4.0.1", - "sqlite3": "^4.2.0" + "eslint-plugin-requirejs": "^4.0.1" } } From 3fcc8d77af48eba8495e93d963c7f951f4889885 Mon Sep 17 00:00:00 2001 From: Big Bad Waffle Date: Tue, 12 Oct 2021 05:12:24 +0000 Subject: [PATCH 15/21] Modified version file to mention that sqlite3 is no longer in the package.json file (as per #1841) --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 3b2afb03..109cf3c6 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,8 @@ Built with NodeJS, JS, HTML and CSS. ### Installation and Usage +**IMPORTANT**: The sqlite3 package has been removed for the time being due to multiple `npm audit` issues arrising. While installing this module will not cause you any security issues (due to the nature of the vulnerabilities and how Isleward actually uses the module), we have removed it to make the build process simpler for us. As a result of this, after performing an `npm install` in the `server` folder, please also run `npm i sqlite3`. + * [Windows](https://gitlab.com/Isleward/isleward/wikis/installation-and-usage-(windows)) * [Linux](https://gitlab.com/Isleward/isleward/wikis/installation-and-usage-(linux)) * [MacOS](https://gitlab.com/Isleward/isleward/wikis/installation-and-usage-(macos)) From 980ecd8a10ac0923f02f916db0eaf519d65ac1bd Mon Sep 17 00:00:00 2001 From: Shaun Date: Tue, 12 Oct 2021 20:41:40 +0200 Subject: [PATCH 16/21] chore: Fixed eslint crashing pipeline --- src/client/package.json | 5 +- src/server/.eslintrc | 2 +- src/server/package-lock.json | 350 ++++++++++++----------------------- src/server/package.json | 8 +- 4 files changed, 124 insertions(+), 241 deletions(-) diff --git a/src/client/package.json b/src/client/package.json index 43315304..a15b1478 100644 --- a/src/client/package.json +++ b/src/client/package.json @@ -2,10 +2,11 @@ "name": "isleward_client", "version": "0.10.4", "description": "isleward", - "dependencies": {}, + "dependencies": { + "eslint": "^7.32.0" + }, "devDependencies": { "babel-eslint": "^10.1.0", - "eslint": "^7.32.0", "eslint-plugin-prettier": "^3.4.0", "eslint-plugin-requirejs": "^4.0.1" } diff --git a/src/server/.eslintrc b/src/server/.eslintrc index 9c1df848..cf00716e 100644 --- a/src/server/.eslintrc +++ b/src/server/.eslintrc @@ -1,4 +1,4 @@ -{ + { "root": true, "parser": "babel-eslint", diff --git a/src/server/package-lock.json b/src/server/package-lock.json index 3b3733a7..d022b0eb 100644 --- a/src/server/package-lock.json +++ b/src/server/package-lock.json @@ -145,7 +145,6 @@ "version": "0.4.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", - "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.1.1", @@ -162,7 +161,6 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -174,7 +172,6 @@ "version": "4.3.2", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, "requires": { "ms": "2.1.2" } @@ -183,7 +180,6 @@ "version": "13.11.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", - "dev": true, "requires": { "type-fest": "^0.20.2" } @@ -191,8 +187,7 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, @@ -200,7 +195,6 @@ "version": "0.5.0", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", - "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.0", "debug": "^4.1.1", @@ -211,7 +205,6 @@ "version": "4.3.2", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, "requires": { "ms": "2.1.2" } @@ -219,16 +212,14 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, "@humanwhocodes/object-schema": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", - "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", - "dev": true + "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==" }, "@types/component-emitter": { "version": "1.2.10", @@ -246,9 +237,9 @@ "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==" }, "@types/node": { - "version": "16.6.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.6.1.tgz", - "integrity": "sha512-Sr7BhXEAer9xyGuCN3Ek9eg9xPviCF2gfu9kTfuU2HkTVAMYSDeX40fvpmo72n5nansg3nsBjuQBrsS28r+NUw==" + "version": "16.10.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.3.tgz", + "integrity": "sha512-ho3Ruq+fFnBrZhUYI46n/bV2GjwzSkwuT4dTf0GkuNFmnb8nq4ny2z9JEVemFi6bdEJanHLlYfy9c6FN9B9McQ==" }, "accepts": { "version": "1.3.7", @@ -262,14 +253,12 @@ "acorn": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" }, "acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" }, "ajv": { "version": "6.12.0", @@ -285,20 +274,17 @@ "ansi-colors": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" }, "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "requires": { "color-convert": "^1.9.0" } @@ -307,7 +293,6 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, "requires": { "sprintf-js": "~1.0.2" } @@ -333,8 +318,7 @@ "astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==" }, "asynckit": { "version": "0.4.0", @@ -352,11 +336,11 @@ "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==" }, "axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.22.0.tgz", + "integrity": "sha512-Z0U3uhqQeg1oNcihswf4ZD57O3NrR1+ZXhxaROaWpDmsDTx7T2HNBV2ulBtie2hwJptu8UvgnJoK+BIqdzh/1w==", "requires": { - "follow-redirects": "^1.14.0" + "follow-redirects": "^1.14.4" } }, "babel-eslint": { @@ -376,8 +360,7 @@ "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "base64-arraybuffer": { "version": "0.1.4", @@ -435,7 +418,6 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -449,8 +431,7 @@ "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" }, "caseless": { "version": "0.12.0", @@ -480,7 +461,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "requires": { "color-name": "1.1.3" } @@ -488,8 +468,7 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "combined-stream": { "version": "1.0.8", @@ -534,8 +513,7 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "content-disposition": { "version": "0.5.3", @@ -578,7 +556,6 @@ "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, "requires": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -602,10 +579,9 @@ } }, "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" }, "delayed-stream": { "version": "1.0.0", @@ -626,7 +602,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, "requires": { "esutils": "^2.0.2" } @@ -648,8 +623,7 @@ "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "encodeurl": { "version": "1.0.2", @@ -657,9 +631,9 @@ "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" }, "engine.io": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-5.1.1.tgz", - "integrity": "sha512-aMWot7H5aC8L4/T8qMYbLdvKlZOdJTH54FxfdFunTGvhMx1BHkJOntWArsVfgAZVwAO9LC2sryPWRcEeUzCe5w==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-5.2.0.tgz", + "integrity": "sha512-d1DexkQx87IFr1FLuV+0f5kAm1Hk1uOVijLOb+D1sDO2QMb7YjE02VHtZtxo7xIXMgcWLb+vl3HRT0rI9tr4jQ==", "requires": { "accepts": "~1.3.4", "base64id": "2.0.0", @@ -691,9 +665,9 @@ } }, "engine.io-parser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.2.tgz", - "integrity": "sha512-sHfEQv6nmtJrq6TKuIz5kyEKH/qSdK56H/A+7DnAuUPWosnIZAS2NHNcPLmyjtY3cGS/MqJdZbUjW97JU72iYg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.3.tgz", + "integrity": "sha512-xEAAY0msNnESNPc00e19y5heTPX4y/TJ36gr8t1voOaNmTojP9b3oK3BbJLFufW2XFPQaaijpFewm2g2Um3uqA==", "requires": { "base64-arraybuffer": "0.1.4" } @@ -702,7 +676,6 @@ "version": "2.3.6", "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, "requires": { "ansi-colors": "^4.1.1" } @@ -722,7 +695,6 @@ "version": "7.32.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", - "dev": true, "requires": { "@babel/code-frame": "7.12.11", "@eslint/eslintrc": "^0.4.3", @@ -770,22 +742,19 @@ "version": "7.12.11", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, "requires": { "@babel/highlight": "^7.10.4" } }, "@babel/helper-validator-identifier": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", - "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==", - "dev": true + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==" }, "@babel/highlight": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", - "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.14.5", "chalk": "^2.0.0", @@ -796,7 +765,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -806,8 +774,7 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" } } }, @@ -815,7 +782,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -825,7 +791,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "requires": { "color-convert": "^2.0.1" } @@ -834,7 +799,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -845,7 +809,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "requires": { "color-name": "~1.1.4" } @@ -853,14 +816,12 @@ "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "debug": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, "requires": { "ms": "2.1.2" } @@ -868,26 +829,22 @@ "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" }, "eslint-visitor-keys": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "globals": { "version": "13.11.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", - "dev": true, "requires": { "type-fest": "^0.20.2" } @@ -895,21 +852,19 @@ "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, "eslint-plugin-prettier": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.0.tgz", - "integrity": "sha512-UDK6rJT6INSfcOo545jiaOwB701uAIt2/dR7WnFQoGCVl1/EMqdANBmwUaqqQ45aXprsTGzSa39LI1PyuRBxxw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz", + "integrity": "sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==", "dev": true, "requires": { "prettier-linter-helpers": "^1.0.0" @@ -936,7 +891,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, "requires": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -946,7 +900,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, "requires": { "eslint-visitor-keys": "^1.1.0" } @@ -954,14 +907,12 @@ "eslint-visitor-keys": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", - "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", - "dev": true + "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==" }, "espree": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dev": true, "requires": { "acorn": "^7.4.0", "acorn-jsx": "^5.3.1", @@ -971,22 +922,19 @@ "eslint-visitor-keys": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" } } }, "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, "esquery": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dev": true, "requires": { "estraverse": "^5.1.0" }, @@ -994,8 +942,7 @@ "estraverse": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" } } }, @@ -1003,7 +950,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, "requires": { "estraverse": "^5.2.0" }, @@ -1011,22 +957,19 @@ "estraverse": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" } } }, "estraverse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" }, "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" }, "etag": { "version": "1.8.1", @@ -1109,14 +1052,12 @@ "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, "file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, "requires": { "flat-cache": "^3.0.4" } @@ -1139,7 +1080,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, "requires": { "flatted": "^3.1.0", "rimraf": "^3.0.2" @@ -1148,8 +1088,7 @@ "flatted": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", - "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==", - "dev": true + "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==" }, "follow-redirects": { "version": "1.14.4", @@ -1184,14 +1123,12 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" }, "getpass": { "version": "0.1.7", @@ -1202,10 +1139,9 @@ } }, "glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dev": true, + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -1219,7 +1155,6 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "requires": { "is-glob": "^4.0.1" } @@ -1247,8 +1182,7 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "http-errors": { "version": "1.7.2", @@ -1283,8 +1217,7 @@ "ignore": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" }, "image-size": { "version": "1.0.0", @@ -1298,7 +1231,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, "requires": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -1307,14 +1239,12 @@ "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -1333,20 +1263,17 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "requires": { "is-extglob": "^2.1.1" } @@ -1359,8 +1286,7 @@ "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, "isstream": { "version": "0.1.2", @@ -1370,14 +1296,12 @@ "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -1407,8 +1331,7 @@ "json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" }, "json-stringify-safe": { "version": "5.0.1", @@ -1430,7 +1353,6 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, "requires": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -1445,26 +1367,22 @@ "lodash.clonedeep": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" }, "lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" }, "lodash.truncate": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", - "dev": true + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=" }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, "requires": { "yallist": "^4.0.0" } @@ -1506,7 +1424,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -1519,8 +1436,7 @@ "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" }, "negotiator": { "version": "0.6.2", @@ -1554,7 +1470,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1" } @@ -1563,7 +1478,6 @@ "version": "0.9.1", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, "requires": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", @@ -1577,7 +1491,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, "requires": { "callsites": "^3.0.0" } @@ -1590,14 +1503,12 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" }, "path-parse": { "version": "1.0.7", @@ -1618,8 +1529,7 @@ "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" }, "prettier-linter-helpers": { "version": "1.0.0", @@ -1633,8 +1543,7 @@ "progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" }, "proxy-addr": { "version": "2.0.6", @@ -1694,8 +1603,7 @@ "regexpp": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==" }, "request": { "version": "2.88.2", @@ -1734,8 +1642,7 @@ "require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" }, "resolve": { "version": "1.15.1", @@ -1749,8 +1656,7 @@ "resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" }, "rethinkdbdash": { "version": "2.3.31", @@ -1764,7 +1670,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, "requires": { "glob": "^7.1.3" } @@ -1783,7 +1688,6 @@ "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, "requires": { "lru-cache": "^6.0.0" } @@ -1835,7 +1739,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, "requires": { "shebang-regex": "^3.0.0" } @@ -1843,14 +1746,12 @@ "shebang-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" }, "slice-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, "requires": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", @@ -1861,7 +1762,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "requires": { "color-convert": "^2.0.1" } @@ -1870,7 +1770,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "requires": { "color-name": "~1.1.4" } @@ -1878,24 +1777,23 @@ "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" } } }, "socket.io": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.1.3.tgz", - "integrity": "sha512-tLkaY13RcO4nIRh1K2hT5iuotfTaIQw7cVIe0FUykN3SuQi0cm7ALxuyT5/CtDswOMWUzMGTibxYNx/gU7In+Q==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.2.0.tgz", + "integrity": "sha512-sjlGfMmnaWvTRVxGRGWyhd9ctpg4APxWAxu85O/SxekkxHhfxmePWZbaYCkeX5QQX0z1YEnKOlNt6w82E4Nzug==", "requires": { - "@types/cookie": "^0.4.0", - "@types/cors": "^2.8.10", + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", "@types/node": ">=10.0.0", "accepts": "~1.3.4", "base64id": "~2.0.0", - "debug": "~4.3.1", - "engine.io": "~5.1.1", - "socket.io-adapter": "~2.3.1", + "debug": "~4.3.2", + "engine.io": "~5.2.0", + "socket.io-adapter": "~2.3.2", "socket.io-parser": "~4.0.4" }, "dependencies": { @@ -1915,9 +1813,9 @@ } }, "socket.io-adapter": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.1.tgz", - "integrity": "sha512-8cVkRxI8Nt2wadkY6u60Y4rpW3ejA1rxgcK2JuyIhmF+RMNpTy1QRtkHIDUOf3B4HlQwakMsWbKftMv/71VMmw==" + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.2.tgz", + "integrity": "sha512-PBZpxUPYjmoogY0aoaTmo1643JelsaS1CiAwNjRVdrI0X9Seuc19Y2Wife8k88avW6haG8cznvwbubAZwH4Mtg==" }, "socket.io-parser": { "version": "4.0.4", @@ -1952,8 +1850,7 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "sshpk": { "version": "1.16.1", @@ -1977,59 +1874,53 @@ "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" }, "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dev": true, + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" } }, "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "requires": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" } }, "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "requires": { "has-flag": "^3.0.0" } }, "table": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz", - "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==", - "dev": true, + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/table/-/table-6.7.2.tgz", + "integrity": "sha512-UFZK67uvyNivLeQbVtkiUs8Uuuxv24aSL4/Vil2PJVtMgU8Lx0CYkP12uCGa3kjyQzOSgV1+z9Wkb82fCGsO0g==", "requires": { "ajv": "^8.0.1", "lodash.clonedeep": "^4.5.0", "lodash.truncate": "^4.4.2", "slice-ansi": "^4.0.0", - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0" + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" }, "dependencies": { "ajv": { - "version": "8.6.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", - "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", - "dev": true, + "version": "8.6.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz", + "integrity": "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==", "requires": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -2040,16 +1931,14 @@ "json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" } } }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" }, "to-fast-properties": { "version": "2.0.0", @@ -2088,7 +1977,6 @@ "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, "requires": { "prelude-ls": "^1.2.1" } @@ -2096,8 +1984,7 @@ "type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" }, "type-is": { "version": "1.6.18", @@ -2168,8 +2055,7 @@ "v8-compile-cache": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" }, "vary": { "version": "1.1.2", @@ -2190,7 +2076,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, "requires": { "isexe": "^2.0.0" } @@ -2198,14 +2083,12 @@ "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "ws": { "version": "7.4.6", @@ -2215,8 +2098,7 @@ "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } } diff --git a/src/server/package.json b/src/server/package.json index 51eac7d1..cbc92cef 100644 --- a/src/server/package.json +++ b/src/server/package.json @@ -3,20 +3,20 @@ "version": "0.10.4", "description": "isleward", "dependencies": { - "axios": "^0.21.4", + "axios": "^0.22.0", "bcrypt-nodejs": "0.0.3", "compression": "^1.7.4", + "eslint": "^7.32.0", "express": "^4.17.1", "express-minify": "^1.0.0", "image-size": "^1.0.0", "rethinkdbdash": "^2.3.31", - "socket.io": "^4.1.3", + "socket.io": "^4.2.0", "universal-analytics": "^0.4.23" }, "devDependencies": { "babel-eslint": "^10.1.0", - "eslint": "^7.32.0", - "eslint-plugin-prettier": "^3.4.0", + "eslint-plugin-prettier": "^4.0.0", "eslint-plugin-requirejs": "^4.0.1" } } From 0cd9d39968af4396afa24a0dc4ab0d230b6b2367 Mon Sep 17 00:00:00 2001 From: Shaun Date: Tue, 12 Oct 2021 20:43:20 +0200 Subject: [PATCH 17/21] chore: gitlab audit pipeline no longer allowed to fail --- .gitlab-ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2f3ff2e3..44c31c2e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -9,7 +9,6 @@ audit: script: - cd src/server - npm audit - allow_failure: true only: - merge_requests - master From 14027befbf405540411d27cfa021abc6c4c26baa Mon Sep 17 00:00:00 2001 From: Shaun Date: Tue, 12 Oct 2021 20:45:37 +0200 Subject: [PATCH 18/21] chore: Another attempt at fixing this pipelame --- .gitlab-ci.yml | 4 ++-- src/client/package.json | 2 +- src/server/package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 44c31c2e..6b4c96d6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -16,7 +16,7 @@ audit: lint-server: stage: test script: - - npm install eslint eslint-plugin-prettier prettier babel-eslint eslint-plugin-requirejs + - npm install eslint@7.32.0 eslint-plugin-prettier prettier babel-eslint eslint-plugin-requirejs - cd src/server - ../../node_modules/.bin/eslint . only: @@ -26,7 +26,7 @@ lint-server: lint-client: stage: test script: - - npm install eslint eslint-plugin-prettier prettier babel-eslint eslint-plugin-requirejs + - npm install eslint@7.32.0 eslint-plugin-prettier prettier babel-eslint eslint-plugin-requirejs - cd src/client - ../../node_modules/.bin/eslint . only: diff --git a/src/client/package.json b/src/client/package.json index a15b1478..564fe76c 100644 --- a/src/client/package.json +++ b/src/client/package.json @@ -3,9 +3,9 @@ "version": "0.10.4", "description": "isleward", "dependencies": { - "eslint": "^7.32.0" }, "devDependencies": { + "eslint": "^7.32.0", "babel-eslint": "^10.1.0", "eslint-plugin-prettier": "^3.4.0", "eslint-plugin-requirejs": "^4.0.1" diff --git a/src/server/package.json b/src/server/package.json index cbc92cef..317ea45b 100644 --- a/src/server/package.json +++ b/src/server/package.json @@ -6,7 +6,6 @@ "axios": "^0.22.0", "bcrypt-nodejs": "0.0.3", "compression": "^1.7.4", - "eslint": "^7.32.0", "express": "^4.17.1", "express-minify": "^1.0.0", "image-size": "^1.0.0", @@ -16,6 +15,7 @@ }, "devDependencies": { "babel-eslint": "^10.1.0", + "eslint": "^7.32.0", "eslint-plugin-prettier": "^4.0.0", "eslint-plugin-requirejs": "^4.0.1" } From 1b70ec99a100a73b46486c43ecd3f624c712447f Mon Sep 17 00:00:00 2001 From: Shaun Date: Tue, 12 Oct 2021 21:05:45 +0200 Subject: [PATCH 19/21] bug: Fixed an issue where destroyed sound objects would play again after relog --- src/client/js/sound/sound.js | 4 ++++ src/server/clientComponents/sound.js | 2 ++ 2 files changed, 6 insertions(+) diff --git a/src/client/js/sound/sound.js b/src/client/js/sound/sound.js index 253ad142..022cff4c 100644 --- a/src/client/js/sound/sound.js +++ b/src/client/js/sound/sound.js @@ -321,6 +321,10 @@ define([ const { player: { x, y } } = window; this.update(x, y); + }, + + destroySoundEntry: function (soundEntry) { + this.sounds.spliceWhere(s => s === soundEntry); } }; }); diff --git a/src/server/clientComponents/sound.js b/src/server/clientComponents/sound.js index 526265b9..64edb170 100644 --- a/src/server/clientComponents/sound.js +++ b/src/server/clientComponents/sound.js @@ -43,6 +43,8 @@ define([ destroy: function () { if (this.soundEntry?.sound) this.soundEntry?.sound.stop(); + + soundManager.destroySoundEntry(this.soundEntry); } }; }); From deb6fbc9befafd5436c602ada17eff8a6abfc4be Mon Sep 17 00:00:00 2001 From: Shaun Date: Thu, 14 Oct 2021 06:49:57 +0200 Subject: [PATCH 20/21] bug #1842 --- src/server/server/onConnection.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/server/server/onConnection.js b/src/server/server/onConnection.js index 2abc1470..ecea69c4 100644 --- a/src/server/server/onConnection.js +++ b/src/server/server/onConnection.js @@ -21,6 +21,7 @@ const onRequest = (socket, msg, callback) => { return; delete msg.threadModule; + delete msg.module; cons.route(socket, msg); } else if (msg.threadModule) { @@ -28,6 +29,7 @@ const onRequest = (socket, msg, callback) => { return; delete msg.cpn; + delete msg.module; cons.route(socket, msg); } else { From 728a219eae0b6080ba5def406ec1d2b4a4a90e1c Mon Sep 17 00:00:00 2001 From: Shaun Date: Sat, 16 Oct 2021 07:12:24 +0200 Subject: [PATCH 21/21] chore: removed test code --- src/client/js/system/client.js | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/client/js/system/client.js b/src/client/js/system/client.js index 4d870339..4e92ec57 100644 --- a/src/client/js/system/client.js +++ b/src/client/js/system/client.js @@ -13,12 +13,6 @@ define([ transports: ['websocket'] }); - window.socket = this.socket; - - /*this.socket = io('http://127.0.0.1:3000', { - transports: ['websocket'] - });*/ - this.socket.on('connect', this.onConnected.bind(this, onReady)); this.socket.on('handshake', this.onHandshake.bind(this)); this.socket.on('event', this.onEvent.bind(this));