From 4b47a29d8782ed9a420c062f120f779fe52e6e24 Mon Sep 17 00:00:00 2001 From: SamTV12345 <40429738+samtv12345@users.noreply.github.com> Date: Sat, 22 Jul 2023 23:09:52 +0200 Subject: [PATCH] Converted more files. --- src/node/eejs/index.js | 66 +++---- src/node/handler/APIHandler.js | 23 ++- src/node/hooks/express/adminplugins.js | 24 ++- src/node/hooks/express/adminsettings.js | 18 +- src/node/hooks/express/openapi.js | 22 ++- src/node/hooks/express/specialpages.js | 34 ++-- src/node/hooks/express/static.js | 21 ++- src/node/hooks/i18n.js | 25 +-- src/node/utils/Minify.js | 39 ++-- src/node/utils/MinifyWorker.js | 14 +- src/node/utils/caching_middleware.js | 34 ++-- src/node/utils/path_exists.js | 4 +- src/node/utils/sanitizePathname.js | 8 +- src/package-lock.json | 234 ++++++++++++------------ src/static/js/pluginfw/shared.js | 3 + 15 files changed, 304 insertions(+), 265 deletions(-) diff --git a/src/node/eejs/index.js b/src/node/eejs/index.js index 1bf29634b..0c5e29f5f 100644 --- a/src/node/eejs/index.js +++ b/src/node/eejs/index.js @@ -1,4 +1,3 @@ -'use strict'; /* * Copyright (c) 2011 RedHog (Egil Möller) * @@ -20,56 +19,61 @@ * require("./index").require("./path/to/template.ejs") */ -const ejs = require('ejs'); -const fs = require('fs'); -const hooks = require('../../static/js/pluginfw/hooks.js'); -const path = require('path'); -const resolve = require('resolve'); -const settings = require('../utils/Settings'); +import ejs from 'ejs'; + +import fs from 'fs'; + +import * as hooks from '../../static/js/pluginfw/hooks.js'; + +import path from 'path'; + +import resolve from 'resolve'; + +import * as settings from '../utils/Settings'; const templateCache = new Map(); -exports.info = { +export const info = { __output_stack: [], block_stack: [], file_stack: [], args: [], }; -const getCurrentFile = () => exports.info.file_stack[exports.info.file_stack.length - 1]; +const getCurrentFile = () => info.file_stack[info.file_stack.length - 1]; -exports._init = (b, recursive) => { - exports.info.__output_stack.push(exports.info.__output); - exports.info.__output = b; +export const _init = (b, recursive) => { + info.__output_stack.push(info.__output); + info.__output = b; }; -exports._exit = (b, recursive) => { - exports.info.__output = exports.info.__output_stack.pop(); +export const _exit = (b, recursive) => { + info.__output = info.__output_stack.pop(); }; -exports.begin_block = (name) => { - exports.info.block_stack.push(name); - exports.info.__output_stack.push(exports.info.__output.get()); - exports.info.__output.set(''); +export const begin_block = (name) => { + info.block_stack.push(name); + info.__output_stack.push(info.__output.get()); + info.__output.set(''); }; -exports.end_block = () => { - const name = exports.info.block_stack.pop(); - const renderContext = exports.info.args[exports.info.args.length - 1]; - const content = exports.info.__output.get(); - exports.info.__output.set(exports.info.__output_stack.pop()); +export const end_block = () => { + const name = info.block_stack.pop(); + const renderContext = info.args[info.args.length - 1]; + const content = info.__output.get(); + info.__output.set(info.__output_stack.pop()); const args = {content, renderContext}; hooks.callAll(`eejsBlock_${name}`, args); - exports.info.__output.set(exports.info.__output.get().concat(args.content)); + info.__output.set(info.__output.get().concat(args.content)); }; -exports.require = (name, args, mod) => { +export const require = (name, args, mod) => { if (args == null) args = {}; let basedir = __dirname; let paths = []; - if (exports.info.file_stack.length) { + if (info.file_stack.length) { basedir = path.dirname(getCurrentFile().path); } if (mod) { @@ -79,7 +83,7 @@ exports.require = (name, args, mod) => { const ejspath = resolve.sync(name, {paths, basedir, extensions: ['.html', '.ejs']}); - args.e = exports; + // args.e = exports; args.require = require; const cache = settings.maxAge !== 0; @@ -89,11 +93,11 @@ exports.require = (name, args, mod) => { {filename: ejspath}); if (cache) templateCache.set(ejspath, template); - exports.info.args.push(args); - exports.info.file_stack.push({path: ejspath}); + info.args.push(args); + info.file_stack.push({path: ejspath}); const res = template(args); - exports.info.file_stack.pop(); - exports.info.args.pop(); + info.file_stack.pop(); + info.args.pop(); return res; }; diff --git a/src/node/handler/APIHandler.js b/src/node/handler/APIHandler.js index 2c060c239..8285d1b2d 100644 --- a/src/node/handler/APIHandler.js +++ b/src/node/handler/APIHandler.js @@ -19,14 +19,21 @@ * limitations under the License. */ -const absolutePaths = require('../utils/AbsolutePaths'); -const fs = require('fs'); -const api = require('../db/API'); -const log4js = require('log4js'); -const padManager = require('../db/PadManager'); -const randomString = require('../utils/randomstring'); -const argv = require('../utils/Cli').argv; -const createHTTPError = require('http-errors'); +import * as absolutePaths from "../utils/AbsolutePaths.js"; + +import fs from "fs"; + +import * as api from "../db/API.js"; + +import log4js from "log4js"; + +import padManager from "../db/PadManager.js"; + +import randomString from "../utils/randomstring.js"; + +import {argv} from "../utils/Cli.js"; + +import createHTTPError from "http-errors"; const apiHandlerLogger = log4js.getLogger('APIHandler'); diff --git a/src/node/hooks/express/adminplugins.js b/src/node/hooks/express/adminplugins.js index 4dad3730d..0cb240c0b 100644 --- a/src/node/hooks/express/adminplugins.js +++ b/src/node/hooks/express/adminplugins.js @@ -1,14 +1,20 @@ 'use strict'; -const eejs = require('../../eejs'); -const settings = require('../../utils/Settings'); -const installer = require('../../../static/js/pluginfw/installer'); -const pluginDefs = require('../../../static/js/pluginfw/plugin_defs'); -const plugins = require('../../../static/js/pluginfw/plugins'); -const semver = require('semver'); -const UpdateCheck = require('../../utils/UpdateCheck'); +import eejs from "../../eejs"; -exports.expressCreateServer = (hookName, args, cb) => { +import settings from "../../utils/Settings"; + +import installer from "../../../static/js/pluginfw/installer"; + +import * as pluginDefs from "../../../static/js/pluginfw/plugin_defs"; + +import * as plugins from "../../../static/js/pluginfw/plugins"; + +import semver from "semver"; + +import * as UpdateCheck from "../../utils/UpdateCheck"; + +export const expressCreateServer = (hookName, args, cb) => { args.app.get('/admin/plugins', (req, res) => { res.send(eejs.require('ep_etherpad-lite/templates/admin/plugins.html', { plugins: pluginDefs.plugins, @@ -36,7 +42,7 @@ exports.expressCreateServer = (hookName, args, cb) => { return cb(); }; -exports.socketio = (hookName, args, cb) => { +export const socketio = (hookName, args, cb) => { const io = args.io.of('/pluginfw/installer'); io.on('connection', (socket) => { const {session: {user: {is_admin: isAdmin} = {}} = {}} = socket.conn.request; diff --git a/src/node/hooks/express/adminsettings.js b/src/node/hooks/express/adminsettings.js index 792801dc7..79a4a4961 100644 --- a/src/node/hooks/express/adminsettings.js +++ b/src/node/hooks/express/adminsettings.js @@ -1,12 +1,14 @@ -'use strict'; +import * as eejs from '../../eejs/index.js'; -const eejs = require('../../eejs'); -const fsp = require('fs').promises; -const hooks = require('../../../static/js/pluginfw/hooks'); -const plugins = require('../../../static/js/pluginfw/plugins'); -const settings = require('../../utils/Settings'); +import {promises as fsp} from 'fs'; -exports.expressCreateServer = (hookName, {app}) => { +import * as hooks from '../../../static/js/pluginfw/hooks.js'; + +import * as plugins from '../../../static/js/pluginfw/plugins.js'; + +import * as settings from '../../utils/Settings.js'; + +export const expressCreateServer = (hookName, {app}) => { app.get('/admin/settings', (req, res) => { res.send(eejs.require('ep_etherpad-lite/templates/admin/settings.html', { req, @@ -16,7 +18,7 @@ exports.expressCreateServer = (hookName, {app}) => { }); }; -exports.socketio = (hookName, {io}) => { +export const socketio = (hookName, {io}) => { io.of('/settings').on('connection', (socket) => { const {session: {user: {is_admin: isAdmin} = {}} = {}} = socket.conn.request; if (!isAdmin) return; diff --git a/src/node/hooks/express/openapi.js b/src/node/hooks/express/openapi.js index 0531854aa..35fb829a6 100644 --- a/src/node/hooks/express/openapi.js +++ b/src/node/hooks/express/openapi.js @@ -1,5 +1,3 @@ -'use strict'; - /** * node/hooks/express/openapi.js * @@ -13,17 +11,21 @@ * - /api/{version}/openapi.json * - /rest/{version}/openapi.json */ +import OpenAPIBackend from 'openapi-backend'; -const OpenAPIBackend = require('openapi-backend').default; -const formidable = require('formidable'); -const {promisify} = require('util'); -const cloneDeep = require('lodash.clonedeep'); -const createHTTPError = require('http-errors'); +import formidable from 'formidable'; -const apiHandler = require('../../handler/APIHandler'); -const settings = require('../../utils/Settings'); +import {promisify} from 'util'; + +import createHTTPError from 'http-errors'; + +import cloneDeep from 'lodash.clonedeep'; +import * as apiHandler from '../../handler/APIHandler.js'; + +import * as settings from '../../utils/Settings.js'; + +import log4js from 'log4js'; -const log4js = require('log4js'); const logger = log4js.getLogger('API'); // https://github.com/OAI/OpenAPI-Specification/tree/master/schemas/v3.0 diff --git a/src/node/hooks/express/specialpages.js b/src/node/hooks/express/specialpages.js index 4f41d8cd0..0ed17f66a 100644 --- a/src/node/hooks/express/specialpages.js +++ b/src/node/hooks/express/specialpages.js @@ -1,16 +1,24 @@ -'use strict'; +import path from 'path'; + +import * as eejs from '../../eejs/index.js'; + +import fs from 'fs'; + +import toolbar from '../../utils/toolbar.js'; + +import * as hooks from '../../../static/js/pluginfw/hooks.js'; + +import * as settings from '../../utils/Settings.js'; + +import util from 'util'; + +import * as webaccess from './webaccess.js'; + +import json from '../../stats.js'; + -const path = require('path'); -const eejs = require('../../eejs'); -const fs = require('fs'); const fsp = fs.promises; -const toolbar = require('../../utils/toolbar'); -const hooks = require('../../../static/js/pluginfw/hooks'); -const settings = require('../../utils/Settings'); -const util = require('util'); -const webaccess = require('./webaccess'); - -exports.expressPreSession = async (hookName, {app}) => { +export const expressPreSession = async (hookName, {app}) => { // This endpoint is intended to conform to: // https://www.ietf.org/archive/id/draft-inadarei-api-health-check-06.html app.get('/health', (req, res) => { @@ -22,7 +30,7 @@ exports.expressPreSession = async (hookName, {app}) => { }); app.get('/stats', (req, res) => { - res.json(require('../../stats').toJSON()); + res.json(json.toJSON()); }); app.get('/javascript', (req, res) => { @@ -63,7 +71,7 @@ exports.expressPreSession = async (hookName, {app}) => { }); }; -exports.expressCreateServer = (hookName, args, cb) => { +export const expressCreateServer = (hookName, args, cb) => { // serve index.html under / args.app.get('/', (req, res) => { res.send(eejs.require('ep_etherpad-lite/templates/index.html', {req})); diff --git a/src/node/hooks/express/static.js b/src/node/hooks/express/static.js index 26c18995a..522f90761 100644 --- a/src/node/hooks/express/static.js +++ b/src/node/hooks/express/static.js @@ -1,13 +1,16 @@ -'use strict'; +import {promises as fs} from 'fs'; -const fs = require('fs').promises; -const minify = require('../../utils/Minify'); -const path = require('path'); -const plugins = require('../../../static/js/pluginfw/plugin_defs'); -const settings = require('../../utils/Settings'); -const CachingMiddleware = require('../../utils/caching_middleware'); -const Yajsml = require('etherpad-yajsml'); +import {minify} from '../../utils/Minify.js'; +import path from 'path'; + +import {plugins} from '../../../static/js/pluginfw/plugin_defs.js'; + +import * as settings from '../../utils/Settings.js'; + +import CachingMiddleware from '../../utils/caching_middleware.js'; + +import Yajsml from 'etherpad-yajsml'; // Rewrite tar to include modules with no extensions and proper rooted paths. const getTar = async () => { const prefixLocalLibraryPath = (path) => { @@ -28,7 +31,7 @@ const getTar = async () => { return tar; }; -exports.expressPreSession = async (hookName, {app}) => { +export const expressPreSession = async (hookName, {app}) => { // Cache both minified and static. const assetCache = new CachingMiddleware(); app.all(/\/javascripts\/(.*)/, assetCache.handle.bind(assetCache)); diff --git a/src/node/hooks/i18n.js b/src/node/hooks/i18n.js index c54348867..1d7e96956 100644 --- a/src/node/hooks/i18n.js +++ b/src/node/hooks/i18n.js @@ -1,13 +1,16 @@ -'use strict'; +import languages from 'languages4translatewiki'; -const languages = require('languages4translatewiki'); -const fs = require('fs'); -const path = require('path'); -const _ = require('underscore'); -const pluginDefs = require('../../static/js/pluginfw/plugin_defs.js'); -const existsSync = require('../utils/path_exists'); -const settings = require('../utils/Settings'); +import fs from 'fs'; +import path from 'path'; + +import _ from 'underscore'; + +import * as pluginDefs from '../../static/js/pluginfw/plugin_defs.js'; + +import existsSync from '../utils/path_exists.js'; + +import * as settings from '../utils/Settings.js'; // returns all existing messages merged together and grouped by langcode // {es: {"foo": "string"}, en:...} const getAllLocales = () => { @@ -101,12 +104,12 @@ const generateLocaleIndex = (locales) => { return JSON.stringify(result); }; - -exports.expressPreSession = async (hookName, {app}) => { +export let availableLangs; +export const expressPreSession = async (hookName, {app}) => { // regenerate locales on server restart const locales = getAllLocales(); const localeIndex = generateLocaleIndex(locales); - exports.availableLangs = getAvailableLangs(locales); + availableLangs = getAvailableLangs(locales); app.get('/locales/:locale', (req, res) => { // works with /locale/en and /locale/en.json requests diff --git a/src/node/utils/Minify.js b/src/node/utils/Minify.js index 11b9c63c7..6017f1946 100644 --- a/src/node/utils/Minify.js +++ b/src/node/utils/Minify.js @@ -1,5 +1,3 @@ -'use strict'; - /** * This Module manages all /minified/* requests. It controls the * minification && compression of Javascript and CSS. @@ -21,15 +19,23 @@ * limitations under the License. */ -const settings = require('./Settings'); -const fs = require('fs').promises; -const path = require('path'); -const plugins = require('../../static/js/pluginfw/plugin_defs'); -const RequireKernel = require('etherpad-require-kernel'); -const mime = require('mime-types'); -const Threads = require('threads'); -const log4js = require('log4js'); -const sanitizePathname = require('./sanitizePathname'); +import * as settings from './Settings.js'; + +import {promises as fs} from 'fs'; + +import path from 'path'; + +import {plugins} from '../../static/js/pluginfw/plugin_defs.js'; + +import RequireKernel from 'etherpad-require-kernel'; + +import mime from 'mime-types'; + +import * as Threads from 'threads'; + +import log4js from 'log4js'; + +import sanitizePathname from './sanitizePathname.js'; const logger = log4js.getLogger('Minify'); @@ -89,7 +95,7 @@ const requestURI = async (url, method, headers) => { return await p; }; -const requestURIs = (locations, method, headers, callback) => { +export const requestURIs = (locations, method, headers, callback) => { Promise.all(locations.map(async (loc) => { try { return await requestURI(loc, method, headers); @@ -120,7 +126,7 @@ const compatPaths = { * @param req the Express request * @param res the Express response */ -const minify = async (req, res) => { +const minifyInternal = async (req, res) => { let filename = req.params.filename; try { filename = sanitizePathname(filename); @@ -317,10 +323,9 @@ const getFile = async (filename) => { return await fs.readFile(path.resolve(ROOT_DIR, filename)); }; -exports.minify = (req, res, next) => minify(req, res).catch((err) => next(err || new Error(err))); +export const minify = (req, res, next) => minifyInternal(req, res) + .catch((err) => next(err || new Error(err))); -exports.requestURIs = requestURIs; - -exports.shutdown = async (hookName, context) => { +export const shutdown = async (hookName, context) => { await threadsPool.terminate(); }; diff --git a/src/node/utils/MinifyWorker.js b/src/node/utils/MinifyWorker.js index 364ecc96c..acddc772c 100644 --- a/src/node/utils/MinifyWorker.js +++ b/src/node/utils/MinifyWorker.js @@ -1,13 +1,15 @@ -'use strict'; /** * Worker thread to minify JS & CSS files out of the main NodeJS thread */ +import CleanCSS from 'clean-css'; -const CleanCSS = require('clean-css'); -const Terser = require('terser'); -const fsp = require('fs').promises; -const path = require('path'); -const Threads = require('threads'); +import * as Terser from 'terser'; + +import {promises as fsp} from 'fs'; + +import path from 'path'; + +import * as Threads from 'threads'; const compressJS = (content) => Terser.minify(content); diff --git a/src/node/utils/caching_middleware.js b/src/node/utils/caching_middleware.js index 3cc4daf27..e86f8fa13 100644 --- a/src/node/utils/caching_middleware.js +++ b/src/node/utils/caching_middleware.js @@ -1,5 +1,3 @@ -'use strict'; - /* * 2011 Peter 'Pita' Martischka (Primary Technology Ltd) * @@ -16,15 +14,21 @@ * limitations under the License. */ -const Buffer = require('buffer').Buffer; -const fs = require('fs'); -const fsp = fs.promises; -const path = require('path'); -const zlib = require('zlib'); -const settings = require('./Settings'); -const existsSync = require('./path_exists'); -const util = require('util'); +import * as Buffer from 'buffer'; +import fs from 'fs'; + +import path from 'path'; + +import zlib from 'zlib'; + +import * as settings from './Settings.js'; + +import existsSync from './path_exists.js'; + +import util from 'util'; + +const fsp = fs.promises; /* * The crypto module can be absent on reduced node installations. * @@ -37,13 +41,9 @@ const util = require('util'); */ // MIMIC https://github.com/microsoft/TypeScript/commit/9677b0641cc5ba7d8b701b4f892ed7e54ceaee9a - START -let _crypto; -try { - _crypto = require('crypto'); -} catch { - _crypto = undefined; -} +import _crypto from 'crypto'; + let CACHE_DIR = path.join(settings.root, 'var/'); CACHE_DIR = existsSync(CACHE_DIR) ? CACHE_DIR : undefined; @@ -78,7 +78,7 @@ if (_crypto) { should replace this. */ -module.exports = class CachingMiddleware { +export default class CachingMiddleware { handle(req, res, next) { this._handle(req, res, next).catch((err) => next(err || new Error(err))); } diff --git a/src/node/utils/path_exists.js b/src/node/utils/path_exists.js index 0b4c8fe94..03b02424a 100644 --- a/src/node/utils/path_exists.js +++ b/src/node/utils/path_exists.js @@ -1,5 +1,5 @@ 'use strict'; -const fs = require('fs'); +import fs from "fs"; const check = (path) => { const existsSync = fs.statSync || fs.existsSync || path.existsSync; @@ -13,4 +13,4 @@ const check = (path) => { return result; }; -module.exports = check; +export default check; \ No newline at end of file diff --git a/src/node/utils/sanitizePathname.js b/src/node/utils/sanitizePathname.js index 61b611166..587133861 100644 --- a/src/node/utils/sanitizePathname.js +++ b/src/node/utils/sanitizePathname.js @@ -1,10 +1,8 @@ -'use strict'; - -const path = require('path'); +import path from 'path'; // Normalizes p and ensures that it is a relative path that does not reach outside. See // https://nvd.nist.gov/vuln/detail/CVE-2015-3297 for additional context. -module.exports = (p, pathApi = path) => { +const normalizePath = (p, pathApi = path) => { // The documentation for path.normalize() says that it resolves '..' and '.' segments. The word // "resolve" implies that it examines the filesystem to resolve symbolic links, so 'a/../b' might // not be the same thing as 'b'. Most path normalization functions from other libraries (e.g., @@ -21,3 +19,5 @@ module.exports = (p, pathApi = path) => { if (pathApi.sep === '\\') p = p.replace(/\\/g, '/'); return p; }; + +export default normalizePath; diff --git a/src/package-lock.json b/src/package-lock.json index 511ff1781..3411e433b 100644 --- a/src/package-lock.json +++ b/src/package-lock.json @@ -526,7 +526,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", - "devOptional": true + "optional": true }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.10", @@ -694,7 +694,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", - "devOptional": true, + "optional": true, "dependencies": { "@gar/promisify": "^1.0.1", "semver": "^7.3.5" @@ -705,7 +705,7 @@ "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", "deprecated": "This functionality has been moved to @npmcli/fs", - "devOptional": true, + "optional": true, "dependencies": { "mkdirp": "^1.0.4", "rimraf": "^3.0.2" @@ -1163,7 +1163,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "devOptional": true + "optional": true }, "node_modules/abort-controller": { "version": "3.0.0", @@ -1317,7 +1317,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.3.0.tgz", "integrity": "sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==", - "devOptional": true, + "optional": true, "dependencies": { "debug": "^4.1.0", "depd": "^2.0.0", @@ -1331,7 +1331,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "devOptional": true, + "optional": true, "dependencies": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" @@ -1439,13 +1439,13 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "devOptional": true + "optional": true }, "node_modules/are-we-there-yet": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", - "devOptional": true, + "optional": true, "dependencies": { "delegates": "^1.0.0", "readable-stream": "^3.6.0" @@ -1970,7 +1970,7 @@ "version": "15.3.0", "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", - "devOptional": true, + "optional": true, "dependencies": { "@npmcli/fs": "^1.0.0", "@npmcli/move-file": "^1.0.1", @@ -2175,7 +2175,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "devOptional": true, + "optional": true, "engines": { "node": ">=10" } @@ -2195,7 +2195,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "devOptional": true, + "optional": true, "engines": { "node": ">=6" } @@ -2250,7 +2250,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "devOptional": true, + "optional": true, "bin": { "color-support": "bin.js" } @@ -2304,7 +2304,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "devOptional": true + "optional": true }, "node_modules/content-disposition": { "version": "0.5.4", @@ -2592,7 +2592,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "devOptional": true + "optional": true }, "node_modules/denque": { "version": "1.5.1", @@ -2900,9 +2900,7 @@ "version": "0.1.13", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, "optional": true, - "peer": true, "dependencies": { "iconv-lite": "^0.6.2" } @@ -2911,9 +2909,7 @@ "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, "optional": true, - "peer": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -3064,7 +3060,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "devOptional": true, + "optional": true, "engines": { "node": ">=6" } @@ -4868,7 +4864,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "devOptional": true + "optional": true }, "node_modules/es-abstract": { "version": "1.21.2", @@ -6088,7 +6084,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "devOptional": true, + "optional": true, "dependencies": { "minipass": "^3.0.0" }, @@ -6149,7 +6145,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", - "devOptional": true, + "optional": true, "dependencies": { "aproba": "^1.0.3 || ^2.0.0", "color-support": "^1.1.2", @@ -6492,7 +6488,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "devOptional": true + "optional": true }, "node_modules/hast-util-embedded": { "version": "2.0.1", @@ -6719,7 +6715,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", - "devOptional": true + "optional": true }, "node_modules/http-errors": { "version": "2.0.0", @@ -6866,7 +6862,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "devOptional": true, + "optional": true, "engines": { "node": ">=8" } @@ -6880,7 +6876,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "devOptional": true + "optional": true }, "node_modules/inflight": { "version": "1.0.6", @@ -6901,6 +6897,7 @@ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true, + "optional": true, "peer": true }, "node_modules/internal-slot": { @@ -6920,7 +6917,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", - "devOptional": true + "optional": true }, "node_modules/ipaddr.js": { "version": "1.9.1", @@ -7152,7 +7149,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", - "devOptional": true + "optional": true }, "node_modules/is-negative-zero": { "version": "2.0.2", @@ -7985,7 +7982,7 @@ "version": "9.1.0", "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", - "devOptional": true, + "optional": true, "dependencies": { "agentkeepalive": "^4.1.3", "cacache": "^15.2.0", @@ -8012,7 +8009,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "devOptional": true, + "optional": true, "engines": { "node": ">= 6" } @@ -8021,7 +8018,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "devOptional": true, + "optional": true, "dependencies": { "@tootallnate/once": "1", "agent-base": "6", @@ -8177,7 +8174,7 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "devOptional": true, + "optional": true, "dependencies": { "yallist": "^4.0.0" }, @@ -8189,7 +8186,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "devOptional": true, + "optional": true, "dependencies": { "minipass": "^3.0.0" }, @@ -8201,7 +8198,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", - "devOptional": true, + "optional": true, "dependencies": { "minipass": "^3.1.0", "minipass-sized": "^1.0.3", @@ -8218,7 +8215,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "devOptional": true, + "optional": true, "dependencies": { "minipass": "^3.0.0" }, @@ -8230,7 +8227,7 @@ "version": "1.2.4", "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "devOptional": true, + "optional": true, "dependencies": { "minipass": "^3.0.0" }, @@ -8242,7 +8239,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "devOptional": true, + "optional": true, "dependencies": { "minipass": "^3.0.0" }, @@ -8254,7 +8251,7 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "devOptional": true, + "optional": true, "dependencies": { "minipass": "^3.0.0", "yallist": "^4.0.0" @@ -8267,7 +8264,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "devOptional": true, + "optional": true, "bin": { "mkdirp": "bin/cmd.js" }, @@ -8680,7 +8677,7 @@ "version": "8.4.1", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", - "devOptional": true, + "optional": true, "dependencies": { "env-paths": "^2.2.0", "glob": "^7.1.4", @@ -8704,7 +8701,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "devOptional": true, + "optional": true, "dependencies": { "delegates": "^1.0.0", "readable-stream": "^3.6.0" @@ -8717,7 +8714,7 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "devOptional": true, + "optional": true, "dependencies": { "aproba": "^1.0.3 || ^2.0.0", "color-support": "^1.1.3", @@ -8736,7 +8733,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "devOptional": true, + "optional": true, "dependencies": { "are-we-there-yet": "^3.0.0", "console-control-strings": "^1.1.0", @@ -8761,7 +8758,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "devOptional": true, + "optional": true, "dependencies": { "abbrev": "1" }, @@ -13864,7 +13861,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", - "devOptional": true, + "optional": true, "dependencies": { "are-we-there-yet": "^2.0.0", "console-control-strings": "^1.1.0", @@ -13912,7 +13909,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "devOptional": true, + "optional": true, "engines": { "node": ">=0.10.0" } @@ -14193,7 +14190,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "devOptional": true, + "optional": true, "dependencies": { "aggregate-error": "^3.0.0" }, @@ -14519,13 +14516,13 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", - "devOptional": true + "optional": true }, "node_modules/promise-retry": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "devOptional": true, + "optional": true, "dependencies": { "err-code": "^2.0.2", "retry": "^0.12.0" @@ -15013,7 +15010,7 @@ "version": "0.12.0", "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "devOptional": true, + "optional": true, "engines": { "node": ">= 4" } @@ -15348,7 +15345,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "devOptional": true + "optional": true }, "node_modules/set-cookie-parser": { "version": "2.6.0", @@ -15508,7 +15505,7 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "devOptional": true, + "optional": true, "engines": { "node": ">= 6.0.0", "npm": ">= 3.0.0" @@ -15613,7 +15610,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", - "devOptional": true, + "optional": true, "dependencies": { "ip": "^2.0.0", "smart-buffer": "^4.2.0" @@ -15627,7 +15624,7 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", - "devOptional": true, + "optional": true, "dependencies": { "agent-base": "^6.0.2", "debug": "^4.3.3", @@ -15752,7 +15749,7 @@ "version": "8.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", - "devOptional": true, + "optional": true, "dependencies": { "minipass": "^3.1.1" }, @@ -16010,7 +16007,7 @@ "version": "6.1.15", "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz", "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==", - "devOptional": true, + "optional": true, "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -16106,7 +16103,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "devOptional": true, + "optional": true, "engines": { "node": ">=8" } @@ -16529,7 +16526,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "devOptional": true, + "optional": true, "dependencies": { "unique-slug": "^2.0.0" } @@ -16538,7 +16535,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "devOptional": true, + "optional": true, "dependencies": { "imurmurhash": "^0.1.4" } @@ -16906,7 +16903,7 @@ "version": "1.1.5", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "devOptional": true, + "optional": true, "dependencies": { "string-width": "^1.0.2 || 2 || 3 || 4" } @@ -17472,7 +17469,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", - "devOptional": true + "optional": true }, "@humanwhocodes/config-array": { "version": "0.11.10", @@ -17611,7 +17608,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", - "devOptional": true, + "optional": true, "requires": { "@gar/promisify": "^1.0.1", "semver": "^7.3.5" @@ -17621,7 +17618,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", - "devOptional": true, + "optional": true, "requires": { "mkdirp": "^1.0.4", "rimraf": "^3.0.2" @@ -17957,7 +17954,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "devOptional": true + "optional": true }, "abort-controller": { "version": "3.0.0", @@ -18087,7 +18084,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.3.0.tgz", "integrity": "sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==", - "devOptional": true, + "optional": true, "requires": { "debug": "^4.1.0", "depd": "^2.0.0", @@ -18098,7 +18095,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "devOptional": true, + "optional": true, "requires": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" @@ -18174,13 +18171,13 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "devOptional": true + "optional": true }, "are-we-there-yet": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", - "devOptional": true, + "optional": true, "requires": { "delegates": "^1.0.0", "readable-stream": "^3.6.0" @@ -18587,7 +18584,7 @@ "version": "15.3.0", "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", - "devOptional": true, + "optional": true, "requires": { "@npmcli/fs": "^1.0.0", "@npmcli/move-file": "^1.0.1", @@ -18741,7 +18738,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "devOptional": true + "optional": true }, "clean-css": { "version": "5.3.2", @@ -18755,7 +18752,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "devOptional": true + "optional": true }, "cliui": { "version": "7.0.4", @@ -18798,7 +18795,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "devOptional": true + "optional": true }, "combined-stream": { "version": "1.0.8", @@ -18842,7 +18839,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "devOptional": true + "optional": true }, "content-disposition": { "version": "0.5.4", @@ -19052,7 +19049,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "devOptional": true + "optional": true }, "denque": { "version": "1.5.1", @@ -19296,9 +19293,7 @@ "version": "0.1.13", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, "optional": true, - "peer": true, "requires": { "iconv-lite": "^0.6.2" }, @@ -19307,9 +19302,7 @@ "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, "optional": true, - "peer": true, "requires": { "safer-buffer": ">= 2.1.2 < 3.0.0" } @@ -19428,7 +19421,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "devOptional": true + "optional": true }, "ep_etherpad-lite": { "version": "1.8.14", @@ -20917,7 +20910,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "devOptional": true + "optional": true }, "es-abstract": { "version": "1.21.2", @@ -21829,7 +21822,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "devOptional": true, + "optional": true, "requires": { "minipass": "^3.0.0" } @@ -21871,7 +21864,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", - "devOptional": true, + "optional": true, "requires": { "aproba": "^1.0.3 || ^2.0.0", "color-support": "^1.1.2", @@ -22116,7 +22109,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "devOptional": true + "optional": true }, "hast-util-embedded": { "version": "2.0.1", @@ -22299,7 +22292,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", - "devOptional": true + "optional": true }, "http-errors": { "version": "2.0.0", @@ -22401,7 +22394,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "devOptional": true + "optional": true }, "indexof": { "version": "0.0.1", @@ -22412,7 +22405,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "devOptional": true + "optional": true }, "inflight": { "version": "1.0.6", @@ -22433,6 +22426,7 @@ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true, + "optional": true, "peer": true }, "internal-slot": { @@ -22449,7 +22443,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", - "devOptional": true + "optional": true }, "ipaddr.js": { "version": "1.9.1", @@ -22588,7 +22582,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", - "devOptional": true + "optional": true }, "is-negative-zero": { "version": "2.0.2", @@ -23266,7 +23260,7 @@ "version": "9.1.0", "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", - "devOptional": true, + "optional": true, "requires": { "agentkeepalive": "^4.1.3", "cacache": "^15.2.0", @@ -23290,13 +23284,13 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "devOptional": true + "optional": true }, "http-proxy-agent": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "devOptional": true, + "optional": true, "requires": { "@tootallnate/once": "1", "agent-base": "6", @@ -23406,7 +23400,7 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "devOptional": true, + "optional": true, "requires": { "yallist": "^4.0.0" } @@ -23415,7 +23409,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "devOptional": true, + "optional": true, "requires": { "minipass": "^3.0.0" } @@ -23424,7 +23418,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", - "devOptional": true, + "optional": true, "requires": { "encoding": "^0.1.12", "minipass": "^3.1.0", @@ -23436,7 +23430,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "devOptional": true, + "optional": true, "requires": { "minipass": "^3.0.0" } @@ -23445,7 +23439,7 @@ "version": "1.2.4", "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "devOptional": true, + "optional": true, "requires": { "minipass": "^3.0.0" } @@ -23454,7 +23448,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "devOptional": true, + "optional": true, "requires": { "minipass": "^3.0.0" } @@ -23463,7 +23457,7 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "devOptional": true, + "optional": true, "requires": { "minipass": "^3.0.0", "yallist": "^4.0.0" @@ -23473,7 +23467,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "devOptional": true + "optional": true }, "mkdirp-classic": { "version": "0.5.3", @@ -23806,7 +23800,7 @@ "version": "8.4.1", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", - "devOptional": true, + "optional": true, "requires": { "env-paths": "^2.2.0", "glob": "^7.1.4", @@ -23824,7 +23818,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "devOptional": true, + "optional": true, "requires": { "delegates": "^1.0.0", "readable-stream": "^3.6.0" @@ -23834,7 +23828,7 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "devOptional": true, + "optional": true, "requires": { "aproba": "^1.0.3 || ^2.0.0", "color-support": "^1.1.3", @@ -23850,7 +23844,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "devOptional": true, + "optional": true, "requires": { "are-we-there-yet": "^3.0.0", "console-control-strings": "^1.1.0", @@ -23874,7 +23868,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "devOptional": true, + "optional": true, "requires": { "abbrev": "1" } @@ -27870,7 +27864,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", - "devOptional": true, + "optional": true, "requires": { "are-we-there-yet": "^2.0.0", "console-control-strings": "^1.1.0", @@ -27912,7 +27906,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "devOptional": true + "optional": true }, "object-inspect": { "version": "1.12.3", @@ -28123,7 +28117,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "devOptional": true, + "optional": true, "requires": { "aggregate-error": "^3.0.0" } @@ -28364,13 +28358,13 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", - "devOptional": true + "optional": true }, "promise-retry": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "devOptional": true, + "optional": true, "requires": { "err-code": "^2.0.2", "retry": "^0.12.0" @@ -28739,7 +28733,7 @@ "version": "0.12.0", "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "devOptional": true + "optional": true }, "reusify": { "version": "1.0.4", @@ -28976,7 +28970,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "devOptional": true + "optional": true }, "set-cookie-parser": { "version": "2.6.0", @@ -29087,7 +29081,7 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "devOptional": true + "optional": true }, "socket.io": { "version": "2.5.0", @@ -29189,7 +29183,7 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", - "devOptional": true, + "optional": true, "requires": { "ip": "^2.0.0", "smart-buffer": "^4.2.0" @@ -29199,7 +29193,7 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", - "devOptional": true, + "optional": true, "requires": { "agent-base": "^6.0.2", "debug": "^4.3.3", @@ -29289,7 +29283,7 @@ "version": "8.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", - "devOptional": true, + "optional": true, "requires": { "minipass": "^3.1.1" } @@ -29469,7 +29463,7 @@ "version": "6.1.15", "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz", "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==", - "devOptional": true, + "optional": true, "requires": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -29483,7 +29477,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "devOptional": true + "optional": true } } }, @@ -29877,7 +29871,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "devOptional": true, + "optional": true, "requires": { "unique-slug": "^2.0.0" } @@ -29886,7 +29880,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "devOptional": true, + "optional": true, "requires": { "imurmurhash": "^0.1.4" } @@ -30178,7 +30172,7 @@ "version": "1.1.5", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "devOptional": true, + "optional": true, "requires": { "string-width": "^1.0.2 || 2 || 3 || 4" } diff --git a/src/static/js/pluginfw/shared.js b/src/static/js/pluginfw/shared.js index db1ed3086..3ebdc1058 100644 --- a/src/static/js/pluginfw/shared.js +++ b/src/static/js/pluginfw/shared.js @@ -26,6 +26,9 @@ const loadFn = async (path, hookName) => { console.log(path) + path = path.replace("node_modules/ep_etherpad-lite", "src") + path +=".js" + let fn = await import(path); functionName = functionName ? functionName : hookName;