diff --git a/.editorconfig b/.editorconfig index 8786e6e29..4160ac318 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,6 +1,7 @@ # http://editorconfig.org root = true +lib [*] charset = utf-8 diff --git a/.fatherrc.js b/.fatherrc.js index c8962f863..025525e94 100644 --- a/.fatherrc.js +++ b/.fatherrc.js @@ -3,7 +3,7 @@ import { join } from 'path'; // utils must build before core // runtime must build before renderer-react -const headPkgs = ['fes-runtime', 'fes-core']; +const headPkgs = ['fes-runtime', 'fes-core', 'fes', 'fes-plugin-built-in']; const tailPkgs = []; // const otherPkgs = readdirSync(join(__dirname, 'packages')).filter( // (pkg) => diff --git a/packages/fes-core/.fatherrc.ts b/packages/fes-core/.fatherrc.js similarity index 100% rename from packages/fes-core/.fatherrc.ts rename to packages/fes-core/.fatherrc.js diff --git a/packages/fes-core/src/Config/Config.js b/packages/fes-core/src/Config/Config.js index a50ca1a15..342a97bbc 100644 --- a/packages/fes-core/src/Config/Config.js +++ b/packages/fes-core/src/Config/Config.js @@ -196,8 +196,6 @@ export default class Config { return {}; } - // @ts-ignore - // @ts-ignore addAffix(file, affix) { const ext = extname(file); return file.replace(new RegExp(`${ext}$`), `.${affix}${ext}`); diff --git a/packages/fes-core/src/Service/PluginAPI.js b/packages/fes-core/src/Service/PluginAPI.js index 62e63a0e3..04e546988 100644 --- a/packages/fes-core/src/Service/PluginAPI.js +++ b/packages/fes-core/src/Service/PluginAPI.js @@ -2,7 +2,7 @@ import assert from 'assert'; import * as utils from '@umijs/utils'; import { isValidPlugin, pathToObj } from './utils/pluginUtils'; import { EnableBy, PluginType, ServiceStage } from './enums'; - +import Logger from '../logger/logger'; // TODO // 标准化 logger export default class PluginAPI { @@ -11,6 +11,7 @@ export default class PluginAPI { this.key = opts.key; this.service = opts.service; this.utils = utils; + this.logger = new Logger(`fes:plugin:${this.id || this.key}`); } // TODO: reversed keys diff --git a/packages/fes-core/src/Service/Service.js b/packages/fes-core/src/Service/Service.js index 0bfabf121..0cd2bf1e5 100644 --- a/packages/fes-core/src/Service/Service.js +++ b/packages/fes-core/src/Service/Service.js @@ -180,18 +180,7 @@ export default class Service extends EventEmitter { // 1. merge default config // 2. validate this.setStage(ServiceStage.getConfig); - const defaultConfig = await this.applyPlugins({ - key: 'modifyDefaultConfig', - type: this.ApplyPluginsType.modify, - initialValue: await this.configInstance.getDefaultConfig() - }); - this.config = await this.applyPlugins({ - key: 'modifyConfig', - type: this.ApplyPluginsType.modify, - initialValue: this.configInstance.getConfig({ - defaultConfig - }) - }); + await this.setConfig(); // merge paths to keep the this.paths ref this.setStage(ServiceStage.getPaths); @@ -209,6 +198,21 @@ export default class Service extends EventEmitter { }); } + async setConfig() { + const defaultConfig = await this.applyPlugins({ + key: 'modifyDefaultConfig', + type: this.ApplyPluginsType.modify, + initialValue: await this.configInstance.getDefaultConfig() + }); + this.config = await this.applyPlugins({ + key: 'modifyConfig', + type: this.ApplyPluginsType.modify, + initialValue: this.configInstance.getConfig({ + defaultConfig + }) + }); + } + async initPlugins() { this._extraPlugins = []; this.setStage(ServiceStage.initPlugins); @@ -257,7 +261,8 @@ export default class Service extends EventEmitter { 'config', 'env', 'args', - 'hasPlugins' + 'hasPlugins', + 'setConfig' ].includes(prop) ) { return typeof this[prop] === 'function' @@ -422,13 +427,6 @@ export default class Service extends EventEmitter { this.args = args; await this.init(); - // TODO 临时实现 - await this.applyPlugins({ - key: 'onGenerateFiles', - type: ApplyPluginsType.event - }); - - this.setStage(ServiceStage.run); await this.applyPlugins({ key: 'onStart', @@ -437,11 +435,11 @@ export default class Service extends EventEmitter { args } }); - // TODO 执行命令 - // return this.runCommand({ - // name, - // args - // }); + + return this.runCommand({ + name, + args + }); } async runCommand({ diff --git a/packages/fes-core/src/Service/utils/pluginUtils.js b/packages/fes-core/src/Service/utils/pluginUtils.js index 1cb708dd3..dd65d2788 100644 --- a/packages/fes-core/src/Service/utils/pluginUtils.js +++ b/packages/fes-core/src/Service/utils/pluginUtils.js @@ -73,7 +73,7 @@ export function pathToObj({ path, cwd }) { } else { id = winPath(path); } - id = id.replace('@webank/fes-core/lib/plugins', '@@'); + id = id.replace('@webank/fes-plugin-built-in/lib/plugins', '@@'); id = id.replace(/\.js$/, ''); const key = isPkgPlugin diff --git a/packages/fes-core/src/index.js b/packages/fes-core/src/index.js index d24946e91..bffbf9e26 100644 --- a/packages/fes-core/src/index.js +++ b/packages/fes-core/src/index.js @@ -3,9 +3,9 @@ import Config from './Config/Config'; import Service from './Service/Service'; import PluginAPI from './Service/PluginAPI'; +import Logger from './logger/logger'; import { PluginType } from './Service/enums'; import { isPlugin } from './Service/utils/pluginUtils'; -import ServiceWithBuiltIn from './ServiceWithBuiltIn'; export * from './route'; @@ -15,5 +15,5 @@ export { PluginAPI, isPlugin, PluginType, - ServiceWithBuiltIn + Logger }; diff --git a/packages/fes-core/src/logger/logger.js b/packages/fes-core/src/logger/logger.js new file mode 100644 index 000000000..0699d41ba --- /dev/null +++ b/packages/fes-core/src/logger/logger.js @@ -0,0 +1,75 @@ +import { + createDebug, + chalk +} from '@umijs/utils'; + +export default class Logger { + LOG = chalk.black.bgBlue('LOG'); + + INFO = chalk.black.bgBlue('INFO'); + + WARN = chalk.black.bgHex('#faad14')('WARN'); + + ERROR = chalk.black.bgRed('ERROR'); + + PROFILE = chalk.black.bgCyan('PROFILE'); + + constructor(namespace) { + // TODO: get namespace filename accounding caller function + if (!namespace) { + throw new Error('logger needs namespace'); + } + this.namespace = namespace; + this.profilers = {}; + this.debug = createDebug(this.namespace); + } + + log(...args) { + // TODO: node env production + console.log(this.LOG, ...args); + } + + /** + * The {@link logger.info} function is an alias for {@link logger.log()}. + * @param args + */ + info(...args) { + console.log(this.INFO, ...args); + } + + error(...args) { + console.error(this.ERROR, ...args); + } + + warn(...args) { + console.warn(this.WARN, ...args); + } + + formatTiming(timing) { + return timing < 60 * 1000 + ? `${Math.round(timing / 10) / 100}s` + : `${Math.round(timing / 600) / 100}m`; + } + + profile(id, message) { + const time = Date.now(); + const namespace = `${this.namespace}:${id}`; + // for test + let msg; + if (this.profilers[id]) { + const timeEnd = this.profilers[id]; + delete this.profilers[id]; + process.stderr.write(`${this.PROFILE} `); + msg = `${this.PROFILE} ${chalk.cyan( + `└ ${namespace}`, + )} Completed in ${this.formatTiming(time - timeEnd)}`; + console.log(msg); + } else { + msg = `${this.PROFILE} ${chalk.cyan(`┌ ${namespace}`)} ${message || ''}`; + console.log(msg); + } + + this.profilers[id] = time; + return msg; + } +} diff --git a/packages/fes-core/src/plugins/index.js b/packages/fes-core/src/plugins/index.js deleted file mode 100644 index 6de82917d..000000000 --- a/packages/fes-core/src/plugins/index.js +++ /dev/null @@ -1,15 +0,0 @@ -// TODO 拆成独立的包作为内置插件包 - -export default [ - // register methods - require.resolve('./registerMethods'), - - // misc - require.resolve('./routes'), - - // generate files - require.resolve('./generateFiles/core/plugin'), - require.resolve('./generateFiles/core/routes'), - require.resolve('./generateFiles/core/fesExports'), - require.resolve('./generateFiles/fes') -]; diff --git a/packages/fes-plugin-built-in/.fatherrc.js b/packages/fes-plugin-built-in/.fatherrc.js new file mode 100644 index 000000000..332f1bffc --- /dev/null +++ b/packages/fes-plugin-built-in/.fatherrc.js @@ -0,0 +1,3 @@ +export default { + disableTypeCheck: false, +}; diff --git a/packages/fes-plugin-built-in/package.json b/packages/fes-plugin-built-in/package.json new file mode 100644 index 000000000..d5dfbfa11 --- /dev/null +++ b/packages/fes-plugin-built-in/package.json @@ -0,0 +1,36 @@ +{ + "name": "@webank/fes-plugin-built-in", + "version": "2.0.0", + "description": "@webank/fes-plugin-built-in", + "main": "lib/index.js", + "types": "lib/index.d.ts", + "files": [ + "lib" + ], + "repository": { + "type": "git", + "url": "" + }, + "keywords": [ + "fes" + ], + "authors": [ + "" + ], + "license": "MIT", + "bugs": "", + "homepage": "", + "publishConfig": { + "access": "public" + }, + "dependencies": { + "@umijs/utils": "^3.2.24", + "@umijs/bundler-webpack": "^3.2.23", + "@umijs/server": "^3.2.23", + "@vue/babel-plugin-jsx": "^1.0.0-rc.3", + "@webank/fes-core": "^2.0.0", + "cliui": "6.0.0", + "vue-loader": "^16.0.0-rc.1", + "html-webpack-plugin": "^3.2.0" + } +} diff --git a/packages/fes-plugin-built-in/src/index.js b/packages/fes-plugin-built-in/src/index.js new file mode 100644 index 000000000..a50331b1f --- /dev/null +++ b/packages/fes-plugin-built-in/src/index.js @@ -0,0 +1,53 @@ +// TODO 拆成独立的包作为内置插件包 + +export default [ + // register methods + require.resolve('./plugins/registerMethods'), + + // misc + require.resolve('./plugins/routes'), + + // generate files + require.resolve('./plugins/generateFiles/core/plugin'), + require.resolve('./plugins/generateFiles/core/routes'), + require.resolve('./plugins/generateFiles/core/fesExports'), + require.resolve('./plugins/generateFiles/fes'), + + // bundle configs + require.resolve('./plugins/features/alias'), + require.resolve('./plugins/features/analyze'), + require.resolve('./plugins/features/autoprefixer'), + require.resolve('./plugins/features/base'), + require.resolve('./plugins/features/chainWebpack'), + require.resolve('./plugins/features/chunks'), + require.resolve('./plugins/features/cssLoader'), + require.resolve('./plugins/features/cssnano'), + require.resolve('./plugins/features/copy'), + require.resolve('./plugins/features/define'), + require.resolve('./plugins/features/devServer'), + require.resolve('./plugins/features/devtool'), + require.resolve('./plugins/features/externals'), + require.resolve('./plugins/features/extraBabelPlugins'), + require.resolve('./plugins/features/extraBabelPresets'), + require.resolve('./plugins/features/extraPostCSSPlugins'), + require.resolve('./plugins/features/hash'), + require.resolve('./plugins/features/html'), + require.resolve('./plugins/features/inlineLimit'), + require.resolve('./plugins/features/lessLoader'), + require.resolve('./plugins/features/mountElementId'), + require.resolve('./plugins/features/nodeModulesTransform'), + require.resolve('./plugins/features/outputPath'), + require.resolve('./plugins/features/plugins'), + require.resolve('./plugins/features/postcssLoader'), + require.resolve('./plugins/features/proxy'), + require.resolve('./plugins/features/publicPath'), + require.resolve('./plugins/features/styleLoader'), + require.resolve('./plugins/features/targets'), + require.resolve('./plugins/features/terserOptions'), + require.resolve('./plugins/features/theme'), + require.resolve('./plugins/features/vueLoader'), + + // commands + require.resolve('./plugins/commands/build/build'), + require.resolve('./plugins/commands/dev/dev') +]; diff --git a/packages/fes-plugin-built-in/src/plugins/commands/build/build.js b/packages/fes-plugin-built-in/src/plugins/commands/build/build.js new file mode 100644 index 000000000..a2ad96563 --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/commands/build/build.js @@ -0,0 +1,73 @@ +import { relative } from 'path'; +import { existsSync } from 'fs'; +import { Logger } from '@webank/fes-core'; +import { + cleanTmpPathExceptCache, + getBundleAndConfigs, + printFileSizes +} from '../buildDevUtils'; +import generateFiles from '../generateFiles'; + +const logger = new Logger('fes:plugin-built-in'); + +export default function (api) { + const { + paths, + utils: { rimraf } + } = api; + + api.registerCommand({ + name: 'build', + description: 'build application for production', + async fn() { + cleanTmpPathExceptCache({ + absTmpPath: paths.absTmpPath + }); + + // generate files + await generateFiles({ api, watch: false }); + + // build + const { + bundler, + bundleConfigs, + bundleImplementor + } = await getBundleAndConfigs({ api }); + try { + // clear output path before exec build + if (process.env.CLEAR_OUTPUT !== 'none') { + if (paths.absOutputPath && existsSync(paths.absOutputPath || '')) { + logger.debug(`Clear OutputPath: ${paths.absNodeModulesPath}`); + rimraf.sync(paths.absOutputPath); + } + } + + const { stats } = await bundler.build({ + bundleConfigs, + bundleImplementor + }); + if (process.env.RM_TMPDIR !== 'none') { + rimraf.sync(paths.absTmpPath); + } + printFileSizes(stats, relative(process.cwd(), paths.absOutputPath)); + await api.applyPlugins({ + key: 'onBuildComplete', + type: api.ApplyPluginsType.event, + args: { + stats + } + }); + } catch (err) { + await api.applyPlugins({ + key: 'onBuildComplete', + type: api.ApplyPluginsType.event, + args: { + err + } + }); + // throw build error + throw err; + } + } + }); +} diff --git a/packages/fes-plugin-built-in/src/plugins/commands/buildDevUtils.js b/packages/fes-plugin-built-in/src/plugins/commands/buildDevUtils.js new file mode 100644 index 000000000..4b46a17e3 --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/commands/buildDevUtils.js @@ -0,0 +1,232 @@ +import { Bundler as DefaultBundler } from '@umijs/bundler-webpack'; +import { join, resolve } from 'path'; +import { existsSync, readdirSync, readFileSync } from 'fs'; +import { rimraf, chalk } from '@umijs/utils'; +import zlib from 'zlib'; + + +export async function getBundleAndConfigs({ + api, + port +}) { + // bundler + const Bundler = await api.applyPlugins({ + type: api.ApplyPluginsType.modify, + key: 'modifyBundler', + initialValue: DefaultBundler + }); + + const bundleImplementor = await api.applyPlugins({ + key: 'modifyBundleImplementor', + type: api.ApplyPluginsType.modify, + initialValue: undefined + }); + + const bundler = new Bundler({ + cwd: api.cwd, + config: api.config + }); + const bundlerArgs = { + env: api.env, + bundler: { id: Bundler.id, version: Bundler.version } + }; + // get config + async function getConfig({ type }) { + const env = api.env === 'production' ? 'production' : 'development'; + const getConfigOpts = await api.applyPlugins({ + type: api.ApplyPluginsType.modify, + key: 'modifyBundleConfigOpts', + initialValue: { + env, + type, + port, + hot: process.env.HMR !== 'none', + entry: { + umi: join(api.paths.absTmpPath, 'fes.js') + }, + // @ts-ignore + bundleImplementor, + async modifyBabelOpts(opts) { + return api.applyPlugins({ + type: api.ApplyPluginsType.modify, + key: 'modifyBabelOpts', + initialValue: opts + }); + }, + async modifyBabelPresetOpts(opts) { + return api.applyPlugins({ + type: api.ApplyPluginsType.modify, + key: 'modifyBabelPresetOpts', + initialValue: opts + }); + }, + async chainWebpack(webpackConfig, opts) { + return api.applyPlugins({ + type: api.ApplyPluginsType.modify, + key: 'chainWebpack', + initialValue: webpackConfig, + args: { + ...opts + } + }); + } + }, + args: { + ...bundlerArgs, + type + } + }); + return api.applyPlugins({ + type: api.ApplyPluginsType.modify, + key: 'modifyBundleConfig', + initialValue: await bundler.getConfig(getConfigOpts), + args: { + ...bundlerArgs, + type + } + }); + } + + const bundleConfigs = await api.applyPlugins({ + type: api.ApplyPluginsType.modify, + key: 'modifyBundleConfigs', + initialValue: [await getConfig({ type: 'csr' })].filter( + Boolean, + ), + args: { + ...bundlerArgs, + getConfig + } + }); + + return { + bundleImplementor, + bundler, + bundleConfigs + }; +} + +export function cleanTmpPathExceptCache({ + absTmpPath +}) { + if (!existsSync(absTmpPath)) return; + readdirSync(absTmpPath).forEach((file) => { + if (file === '.cache') return; + rimraf.sync(join(absTmpPath, file)); + }); +} + +// These sizes are pretty large. We'll warn for bundles exceeding them. +const WARN_AFTER_BUNDLE_GZIP_SIZE = 1.8 * 1024 * 1024; +const WARN_AFTER_CHUNK_GZIP_SIZE = 1 * 1024 * 1024; + +export function printFileSizes(stats, dir) { + const ui = require('cliui')({ width: 80 }); + const json = stats.toJson({ + hash: false, + modules: false, + chunks: false + }); + + const filesize = (bytes) => { + bytes = Math.abs(bytes); + const radix = 1024; + const unit = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']; + let loop = 0; + + // calculate + while (bytes >= radix) { + bytes /= radix; + ++loop; + } + return `${bytes.toFixed(1)} ${unit[loop]}`; + }; + + const assets = json.assets + ? json.assets + : json?.children?.reduce((acc, child) => acc.concat(child?.assets), []); + + const seenNames = new Map(); + const isJS = val => /\.js$/.test(val); + const isCSS = val => /\.css$/.test(val); + + const orderedAssets = assets.map((a) => { + a.name = a.name.split('?')[0]; + // These sizes are pretty large + const isMainBundle = a.name.indexOf('fes.') === 0; + const maxRecommendedSize = isMainBundle + ? WARN_AFTER_BUNDLE_GZIP_SIZE + : WARN_AFTER_CHUNK_GZIP_SIZE; + const isLarge = maxRecommendedSize && a.size > maxRecommendedSize; + return { + ...a, + suggested: isLarge && isJS(a.name) + }; + }) + .filter((a) => { + if (seenNames.has(a.name)) { + return false; + } + seenNames.set(a.name, true); + return isJS(a.name) || isCSS(a.name); + }) + .sort((a, b) => { + if (isJS(a.name) && isCSS(b.name)) return -1; + if (isCSS(a.name) && isJS(b.name)) return 1; + return b.size - a.size; + }); + + function getGzippedSize(asset) { + const filepath = resolve(join(dir, asset.name)); + if (existsSync(filepath)) { + const buffer = readFileSync(filepath); + return filesize(zlib.gzipSync(buffer).length); + } + return filesize(0); + } + + function makeRow(a, b, c) { + return ` ${a}\t ${b}\t ${c}`; + } + + ui.div( + `${makeRow( + chalk.cyan.bold('File'), + chalk.cyan.bold('Size'), + chalk.cyan.bold('Gzipped'), + ) + }\n\n${ + // eslint-disable-next-line + orderedAssets.map(asset => makeRow(/js$/.test(asset.name) ? (asset.suggested ? chalk.yellow(join(dir, asset.name)) : chalk.green(join(dir, asset.name))) : chalk.blue(join(dir, asset.name)), + filesize(asset.size), + getGzippedSize(asset),)) + .join('\n')}`, + ); + + + console.log( + `${ui.toString()}\n\n ${chalk.gray( + 'Images and other types of assets omitted.', + )}\n`, + ); + + if (orderedAssets?.some(asset => asset.suggested)) { + // We'll warn for bundles exceeding them. + // TODO: use umi docs + console.log(); + console.log( + chalk.yellow('The bundle size is significantly larger than recommended.'), + ); + console.log( + chalk.yellow( + 'Consider reducing it with code splitting: https://umijs.org/docs/load-on-demand', + ), + ); + console.log( + chalk.yellow( + 'You can also analyze the project dependencies using ANALYZE=1', + ), + ); + console.log(); + } +} diff --git a/packages/fes-plugin-built-in/src/plugins/commands/dev/dev.js b/packages/fes-plugin-built-in/src/plugins/commands/dev/dev.js new file mode 100644 index 000000000..13fc9548c --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/commands/dev/dev.js @@ -0,0 +1,243 @@ +import { Server } from '@umijs/server'; +import { + delay +} from '@umijs/utils'; +import assert from 'assert'; +import { + cleanTmpPathExceptCache, + getBundleAndConfigs +} from '../buildDevUtils'; +import generateFiles from '../generateFiles'; +import { + watchPkg +} from './watchPkg'; + +export default (api) => { + const { + env, + paths, + utils: { + chalk, + portfinder + } + } = api; + + const unwatchs = []; + let port; + let hostname; + let server; + + function destroy() { + for (const unwatch of unwatchs) { + unwatch(); + } + // eslint-disable-next-line + server?.listeningApp?.close(); + } + + api.registerCommand({ + name: 'dev', + description: 'start a dev server for development', + async fn({ args = {} }) { + const defaultPort = process.env.PORT || args.port || api.config.devServer?.port; + port = await portfinder.getPortPromise({ + port: defaultPort ? parseInt(String(defaultPort), 10) : 8000 + }); + hostname = process.env.HOST || api.config.devServer?.host || '0.0.0.0'; + console.log(chalk.cyan('Starting the development server...')); + process.send({ + type: 'UPDATE_PORT', + port + }); + + // enable https, HTTP/2 by default when using --https + const isHTTPS = process.env.HTTPS || args.https; + + cleanTmpPathExceptCache({ + absTmpPath: paths.absTmpPath + }); + const watch = process.env.WATCH !== 'none'; + + // generate files + const unwatchGenerateFiles = await generateFiles({ + api, + watch + }); + if (unwatchGenerateFiles) unwatchs.push(unwatchGenerateFiles); + + if (watch) { + // watch pkg changes + const unwatchPkg = watchPkg({ + cwd: api.cwd, + onChange() { + console.log(); + api.logger.info('Plugins in package.json changed.'); + api.restartServer(); + } + }); + unwatchs.push(unwatchPkg); + + // watch config change + const unwatchConfig = api.service.configInstance.watch({ + userConfig: api.service.userConfig, + onChange: async ({ + pluginChanged, + valueChanged + }) => { + if (pluginChanged.length) { + console.log(); + api.logger.info( + `Plugins of ${pluginChanged + .map(p => p.key) + .join(', ')} changed.`, + ); + api.restartServer(); + } + if (valueChanged.length) { + let reload = false; + let regenerateTmpFiles = false; + const fns = []; + const reloadConfigs = []; + valueChanged.forEach(({ + key, + pluginId + }) => { + const { + onChange + } = api.service.plugins[pluginId].config || {}; + if (onChange === api.ConfigChangeType.regenerateTmpFiles) { + regenerateTmpFiles = true; + } + if (!onChange || onChange === api.ConfigChangeType.reload) { + reload = true; + reloadConfigs.push(key); + } + if (typeof onChange === 'function') { + fns.push(onChange); + } + }); + + if (reload) { + console.log(); + api.logger.info(`Config ${reloadConfigs.join(', ')} changed.`); + api.restartServer(); + } else { + api.service.userConfig = api.service.configInstance.getUserConfig(); + + await api.setConfig(); + + if (regenerateTmpFiles) { + await generateFiles({ + api + }); + } else { + fns.forEach(fn => fn()); + } + } + } + } + }); + unwatchs.push(unwatchConfig); + } + + // delay dev server 启动,避免重复 compile + // https://github.com/webpack/watchpack/issues/25 + // https://github.com/yessky/webpack-mild-compile + await delay(500); + + // dev + const { + bundler, + bundleConfigs, + bundleImplementor + } = await getBundleAndConfigs({ + api, + port + }); + const opts = bundler.setupDevServerOpts({ + bundleConfigs, + bundleImplementor + }); + + const beforeMiddlewares = await api.applyPlugins({ + key: 'addBeforeMiddewares', + type: api.ApplyPluginsType.add, + initialValue: [], + args: {} + }); + const middlewares = await api.applyPlugins({ + key: 'addMiddewares', + type: api.ApplyPluginsType.add, + initialValue: [], + args: {} + }); + + server = new Server({ + ...opts, + compress: true, + https: !!isHTTPS, + headers: { + 'access-control-allow-origin': '*' + }, + proxy: api.config.proxy, + beforeMiddlewares, + afterMiddlewares: [ + ...middlewares + ], + ...(api.config.devServer || {}) + }); + const listenRet = await server.listen({ + port, + hostname + }); + return { + ...listenRet, + destroy + }; + } + }); + + api.registerMethod({ + name: 'getPort', + fn() { + assert( + env === 'development', + 'api.getPort() is only valid in development.', + ); + return port; + } + }); + + api.registerMethod({ + name: 'getHostname', + fn() { + assert( + env === 'development', + 'api.getHostname() is only valid in development.', + ); + return hostname; + } + }); + + api.registerMethod({ + name: 'getServer', + fn() { + assert( + env === 'development', + 'api.getServer() is only valid in development.', + ); + return server; + } + }); + + api.registerMethod({ + name: 'restartServer', + fn() { + console.log(chalk.gray('Try to restart dev server...')); + destroy(); + process.send({ + type: 'RESTART' + }); + } + }); +}; diff --git a/packages/fes-plugin-built-in/src/plugins/commands/dev/watchPkg.js b/packages/fes-plugin-built-in/src/plugins/commands/dev/watchPkg.js new file mode 100644 index 000000000..2b10b2a3a --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/commands/dev/watchPkg.js @@ -0,0 +1,55 @@ +import { join } from 'path'; +import { chokidar, winPath, lodash } from '@umijs/utils'; +import { existsSync, readFileSync } from 'fs'; +import { isPlugin, PluginType } from '@webank/fes-core'; + +function getFesPlugins(opts) { + return Object.keys({ + ...opts.pkg.dependencies, + ...opts.pkg.devDependencies + }).filter(name => ( + isPlugin(PluginType.plugin, name) + )); +} + +function getFesPluginsFromPkgPath(opts) { + let pkg = {}; + if (existsSync(opts.pkgPath)) { + try { + pkg = JSON.parse(readFileSync(opts.pkgPath, 'utf-8')); + } catch (e) { + // ignore + } + } + return getFesPlugins({ pkg }); +} + +export function watchPkg(opts) { + const pkgPath = join(opts.cwd, 'package.json'); + const plugins = getFesPluginsFromPkgPath({ pkgPath }); + const watcher = chokidar.watch(pkgPath, { + ignoreInitial: true + }); + watcher.on('all', () => { + const newPlugins = getFesPluginsFromPkgPath({ pkgPath }); + if (!lodash.isEqual(plugins, newPlugins)) { + // 已经重启了,只处理一次就够了 + opts.onChange(); + } + }); + return () => { + watcher.close(); + }; +} + +export function watchPkgs(opts) { + const unwatchs = [watchPkg({ cwd: opts.cwd, onChange: opts.onChange })]; + if (winPath(opts.cwd) !== winPath(process.cwd())) { + unwatchs.push(watchPkg({ cwd: process.cwd(), onChange: opts.onChange })); + } + return () => { + unwatchs.forEach((unwatch) => { + unwatch(); + }); + }; +} diff --git a/packages/fes-plugin-built-in/src/plugins/commands/generateFiles.js b/packages/fes-plugin-built-in/src/plugins/commands/generateFiles.js new file mode 100644 index 000000000..3fd40cae2 --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/commands/generateFiles.js @@ -0,0 +1,57 @@ +import { chokidar, lodash, winPath } from '@umijs/utils'; +import { join } from 'path'; + +export default async ({ api, watch }) => { + const { paths } = api; + + async function generate() { + api.logger.debug('generate files'); + await api.applyPlugins({ + key: 'onGenerateFiles', + type: api.ApplyPluginsType.event + }); + } + + const watchers = []; + + await generate(); + + function unwatch() { + watchers.forEach((watcher) => { + watcher.close(); + }); + } + + function createWatcher(path) { + const watcher = chokidar.watch(path, { + // ignore .dotfiles and _mock.js + ignored: /(^|[/\\])(_mock.js$|\..)/, + ignoreInitial: true + }); + watcher.on( + 'all', + lodash.throttle(async () => { + await generate(); + }, 100), + ); + } + + if (watch) { + const watcherPaths = await api.applyPlugins({ + key: 'addTmpGenerateWatcherPaths', + type: api.ApplyPluginsType.add, + initialValue: [ + paths.absPagesPath, + join(paths.absSrcPath, api.config?.singular ? 'layout' : 'layouts'), + join(paths.absSrcPath, 'app.js') + ] + }); + lodash + .uniq(watcherPaths.map(p => winPath(p))) + .forEach((p) => { + createWatcher(p); + }); + } + + return unwatch; +}; diff --git a/packages/fes-plugin-built-in/src/plugins/features/alias.js b/packages/fes-plugin-built-in/src/plugins/features/alias.js new file mode 100644 index 000000000..141977103 --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/alias.js @@ -0,0 +1,60 @@ +import { dirname } from 'path'; +import { winPath, resolve } from '@umijs/utils'; + +export default (api) => { + const { paths, pkg, cwd } = api; + + api.describe({ + key: 'alias', + config: { + schema(joi) { + return joi.object(); + }, + default: { + } + } + }); + + function getUserLibDir({ library }) { + if ( + (pkg.dependencies && pkg.dependencies[library]) + || (pkg.devDependencies && pkg.devDependencies[library]) + // egg project using `clientDependencies` in ali tnpm + || (pkg.clientDependencies && pkg.clientDependencies[library]) + ) { + return winPath( + dirname( + // 通过 resolve 往上找,可支持 lerna 仓库 + // lerna 仓库如果用 yarn workspace 的依赖不一定在 node_modules,可能被提到根目录,并且没有 link + resolve.sync(`${library}/package.json`, { + basedir: cwd + }), + ), + ); + } + return null; + } + + // 另一种实现方式: + // 提供 projectFirstLibraries 的配置方式,但是不通用,先放插件层实现 + api.chainWebpack(async (memo) => { + const libraries = await api.applyPlugins({ + key: 'addProjectFirstLibraries', + type: api.ApplyPluginsType.add, + initialValue: [ + ] + }); + libraries.forEach((library) => { + memo.resolve.alias.set( + library.name, + getUserLibDir({ library: library.name }) || library.path, + ); + }); + + // 选择在 chainWebpack 中进行以上 alias 的初始化,是为了支持用户使用 modifyPaths API 对 paths 进行改写 + memo.resolve.alias.set('@', paths.absSrcPath); + memo.resolve.alias.set('@@', paths.absTmpPath); + + return memo; + }); +}; diff --git a/packages/fes-plugin-built-in/src/plugins/features/analyze.js b/packages/fes-plugin-built-in/src/plugins/features/analyze.js new file mode 100644 index 000000000..2c82905e7 --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/analyze.js @@ -0,0 +1,44 @@ + +export default (api) => { + api.describe({ + key: 'analyze', + config: { + schema(joi) { + return joi + .object({ + analyzerMode: joi.string().valid('server', 'static', 'disabled'), + analyzerHost: joi.string(), + analyzerPort: joi.alternatives(joi.number(), 'auto'), + openAnalyzer: joi.boolean(), + generateStatsFile: joi.boolean(), + statsFilename: joi.string(), + logLevel: joi.string().valid('info', 'warn', 'error', 'silent'), + defaultSizes: joi.string().valid('stat', 'parsed', 'gzip') + }) + .unknown(true); + }, + default: { + analyzerMode: process.env.ANALYZE_MODE || 'server', + analyzerPort: process.env.ANALYZE_PORT || 8888, + openAnalyzer: process.env.ANALYZE_OPEN !== 'none', + // generate stats file while ANALYZE_DUMP exist + generateStatsFile: !!process.env.ANALYZE_DUMP, + statsFilename: process.env.ANALYZE_DUMP || 'stats.json', + logLevel: process.env.ANALYZE_LOG_LEVEL || 'info', + defaultSizes: 'parsed' // stat // gzip + } + }, + enableBy: () => !!(process.env.ANALYZE || process.env.ANALYZE_SSR) + }); + api.chainWebpack((webpackConfig, opts) => { + const { type } = opts; + if (type === 'csr' && !process.env.ANALYZE_SSR) { + webpackConfig + .plugin('bundle-analyzer') + .use(require('umi-webpack-bundle-analyzer').BundleAnalyzerPlugin, [ + api.config?.analyze || {} + ]); + } + return webpackConfig; + }); +}; diff --git a/packages/fes-plugin-built-in/src/plugins/features/autoprefixer.js b/packages/fes-plugin-built-in/src/plugins/features/autoprefixer.js new file mode 100644 index 000000000..84f48abb9 --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/autoprefixer.js @@ -0,0 +1,16 @@ + +export default (api) => { + api.describe({ + key: 'autoprefixer', + config: { + default: { + flexbox: 'no-2009' + }, + schema(joi) { + return joi + .object() + .description('postcss autoprefixer, default flexbox: no-2009'); + } + } + }); +}; diff --git a/packages/fes-plugin-built-in/src/plugins/features/base.js b/packages/fes-plugin-built-in/src/plugins/features/base.js new file mode 100644 index 000000000..bb956489c --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/base.js @@ -0,0 +1,12 @@ + +export default (api) => { + api.describe({ + key: 'base', + config: { + default: '/', + schema(joi) { + return joi.string(); + } + } + }); +}; diff --git a/packages/fes-plugin-built-in/src/plugins/features/chainWebpack.js b/packages/fes-plugin-built-in/src/plugins/features/chainWebpack.js new file mode 100644 index 000000000..b8d89889f --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/chainWebpack.js @@ -0,0 +1,31 @@ +import { join } from 'path'; +import { existsSync } from 'fs'; +import { winPath } from '@umijs/utils'; + +export default (api) => { + api.describe({ + key: 'chainWebpack', + config: { + schema(joi) { + return joi.function(); + } + } + }); + + api.chainWebpack((webpackConfig) => { + const cwd = api.cwd; + const prefix = existsSync(join(cwd, 'src')) ? join(cwd, 'src') : cwd; + // 添加 .vue 后缀 + webpackConfig.resolve.extensions.merge([ + '.vue' + ]); + webpackConfig.module + .rule('js-in-node_modules').use('babel-loader').tap((options) => { + console.log(options); + options.cacheDirectory = winPath(`${prefix}/.fes/.cache/babel-loader`); + return options; + }); + + return webpackConfig; + }); +}; diff --git a/packages/fes-plugin-built-in/src/plugins/features/chunks.js b/packages/fes-plugin-built-in/src/plugins/features/chunks.js new file mode 100644 index 000000000..5501f30c1 --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/chunks.js @@ -0,0 +1,11 @@ + +export default (api) => { + api.describe({ + key: 'chunks', + config: { + schema(joi) { + return joi.array().items(joi.string()); + } + } + }); +}; diff --git a/packages/fes-plugin-built-in/src/plugins/features/copy.js b/packages/fes-plugin-built-in/src/plugins/features/copy.js new file mode 100644 index 000000000..846b59c13 --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/copy.js @@ -0,0 +1,19 @@ + +export default (api) => { + api.describe({ + key: 'copy', + config: { + schema(joi) { + return joi.array().items( + joi.alternatives( + joi.object({ + from: joi.string(), + to: joi.string() + }), + joi.string(), + ), + ); + } + } + }); +}; diff --git a/packages/fes-plugin-built-in/src/plugins/features/cssLoader.js b/packages/fes-plugin-built-in/src/plugins/features/cssLoader.js new file mode 100644 index 000000000..6307bda8b --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/cssLoader.js @@ -0,0 +1,36 @@ + +export default (api) => { + api.describe({ + key: 'cssLoader', + config: { + schema(joi) { + return joi + .object({ + url: joi.alternatives(joi.boolean(), joi.function()), + import: joi.alternatives(joi.boolean(), joi.function()), + modules: joi.alternatives( + joi.boolean(), + joi.string(), + joi.object(), + ), + sourceMap: joi.boolean(), + importLoaders: joi.number(), + onlyLocals: joi.boolean(), + esModule: joi.boolean(), + localsConvention: joi + .string() + .valid( + 'asIs', + 'camelCase', + 'camelCaseOnly', + 'dashes', + 'dashesOnly', + ) + }) + .description( + 'more css-loader options see https://webpack.js.org/loaders/css-loader/#options', + ); + } + } + }); +}; diff --git a/packages/fes-plugin-built-in/src/plugins/features/cssnano.js b/packages/fes-plugin-built-in/src/plugins/features/cssnano.js new file mode 100644 index 000000000..38213163e --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/cssnano.js @@ -0,0 +1,16 @@ + +export default (api) => { + api.describe({ + // https://cssnano.co/optimisations/ + key: 'cssnano', + config: { + default: { + mergeRules: false, + minifyFontValues: { removeQuotes: false } + }, + schema(joi) { + return joi.object(); + } + } + }); +}; diff --git a/packages/fes-plugin-built-in/src/plugins/features/define.js b/packages/fes-plugin-built-in/src/plugins/features/define.js new file mode 100644 index 000000000..df8a082a9 --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/define.js @@ -0,0 +1,11 @@ + +export default (api) => { + api.describe({ + key: 'define', + config: { + schema(joi) { + return joi.object(); + } + } + }); +}; diff --git a/packages/fes-plugin-built-in/src/plugins/features/devServer.js b/packages/fes-plugin-built-in/src/plugins/features/devServer.js new file mode 100644 index 000000000..5b7fcb446 --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/devServer.js @@ -0,0 +1,29 @@ + +export default (api) => { + api.describe({ + key: 'devServer', + config: { + default: {}, + schema(joi) { + return joi + .object({ + port: joi.number().description('devServer port, default 8000'), + host: joi.string(), + https: joi.alternatives( + joi + .object({ + key: joi.string(), + cert: joi.string() + }) + .unknown(), + joi.boolean(), + ), + headers: joi.object(), + writeToDisk: joi.alternatives(joi.boolean(), joi.function()) + }) + .description('devServer configs') + .unknown(true); + } + } + }); +}; diff --git a/packages/fes-plugin-built-in/src/plugins/features/devtool.js b/packages/fes-plugin-built-in/src/plugins/features/devtool.js new file mode 100644 index 000000000..be5c4d187 --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/devtool.js @@ -0,0 +1,11 @@ + +export default (api) => { + api.describe({ + key: 'devtool', + config: { + schema(joi) { + return joi.string(); + } + } + }); +}; diff --git a/packages/fes-plugin-built-in/src/plugins/features/externals.js b/packages/fes-plugin-built-in/src/plugins/features/externals.js new file mode 100644 index 000000000..1c7d34383 --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/externals.js @@ -0,0 +1,12 @@ + +export default (api) => { + api.describe({ + key: 'externals', + config: { + schema(joi) { + // https://webpack.js.org/configuration/externals/#externals + return joi.alternatives(joi.object(), joi.string(), joi.function()); + } + } + }); +}; diff --git a/packages/fes-plugin-built-in/src/plugins/features/extraBabelPlugins.js b/packages/fes-plugin-built-in/src/plugins/features/extraBabelPlugins.js new file mode 100644 index 000000000..35feb9ed3 --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/extraBabelPlugins.js @@ -0,0 +1,25 @@ +import { join } from 'path'; +import { existsSync } from 'fs'; +import { winPath } from '@umijs/utils'; + +export default (api) => { + api.describe({ + key: 'extraBabelPlugins', + config: { + schema(joi) { + return joi.array(); + } + } + }); + + api.modifyBabelOpts((babelOpts) => { + const cwd = api.cwd; + const prefix = existsSync(join(cwd, 'src')) ? join(cwd, 'src') : cwd; + babelOpts.cacheDirectory = process.env.BABEL_CACHE !== 'none' + ? winPath(`${prefix}/.fes/.cache/babel-loader`) + : false; + babelOpts.plugins.push(require.resolve('@vue/babel-plugin-jsx')); + + return babelOpts; + }); +}; diff --git a/packages/fes-plugin-built-in/src/plugins/features/extraBabelPresets.js b/packages/fes-plugin-built-in/src/plugins/features/extraBabelPresets.js new file mode 100644 index 000000000..b8257605d --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/extraBabelPresets.js @@ -0,0 +1,23 @@ + +export default (api) => { + api.describe({ + key: 'extraBabelPresets', + config: { + schema(joi) { + return joi.array(); + } + } + }); + api.modifyBabelPresetOpts(opts => Object.assign({}, opts, { + typescript: false, + env: { + useBuiltIns: 'entry', + corejs: 3, + modules: false + }, + react: false, + reactRemovePropTypes: false, + reactRequire: false, + svgr: false + })); +}; diff --git a/packages/fes-plugin-built-in/src/plugins/features/extraPostCSSPlugins.js b/packages/fes-plugin-built-in/src/plugins/features/extraPostCSSPlugins.js new file mode 100644 index 000000000..98dac1fd4 --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/extraPostCSSPlugins.js @@ -0,0 +1,11 @@ + +export default (api) => { + api.describe({ + key: 'extraPostCSSPlugins', + config: { + schema(joi) { + return joi.array(); + } + } + }); +}; diff --git a/packages/fes-plugin-built-in/src/plugins/features/hash.js b/packages/fes-plugin-built-in/src/plugins/features/hash.js new file mode 100644 index 000000000..f20dfd12f --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/hash.js @@ -0,0 +1,11 @@ + +export default (api) => { + api.describe({ + key: 'hash', + config: { + schema(joi) { + return joi.boolean(); + } + } + }); +}; diff --git a/packages/fes-plugin-built-in/src/plugins/features/html.js b/packages/fes-plugin-built-in/src/plugins/features/html.js new file mode 100644 index 000000000..2c622e87c --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/html.js @@ -0,0 +1,66 @@ +import { resolve, join } from 'path'; +import { existsSync } from 'fs'; + +export default (api) => { + api.describe({ + key: 'vueLoader', + config: { + schema(joi) { + return joi + .object({}) + .description( + 'more vue-loader options see https://vue-loader.vuejs.org/', + ); + } + } + }); + + api.chainWebpack((webpackConfig) => { + const isProd = api.env === 'production'; + const htmlOptions = { + title: api.service.pkg.name, + templateParameters: (compilation, assets, pluginOptions) => { + // enhance html-webpack-plugin's built in template params + let stats; + return Object.assign({ + // make stats lazy as it is expensive + get webpack() { + // eslint-disable-next-line + return stats || (stats = compilation.getStats().toJson()); + }, + compilation, + webpackConfig: compilation.options, + htmlWebpackPlugin: { + files: assets, + options: pluginOptions + } + }, api.config.html); + } + }; + + + if (isProd) { + Object.assign(htmlOptions, { + minify: { + removeComments: true, + collapseWhitespace: true, + collapseBooleanAttributes: true, + removeScriptTypeAttributes: true + // more options: + // https://github.com/kangax/html-minifier#options-quick-reference + } + }); + } + + // resolve HTML file(s) + const htmlPath = join(api.paths.cwd, 'public/index.html'); + const defaultHtmlPath = resolve(__dirname, 'index-default.html'); + htmlOptions.template = existsSync(htmlPath) + ? htmlPath + : defaultHtmlPath; + + webpackConfig + .plugin('html') + .use(require('html-webpack-plugin'), [htmlOptions]); + }); +}; diff --git a/packages/fes-plugin-built-in/src/plugins/features/index-default.html b/packages/fes-plugin-built-in/src/plugins/features/index-default.html new file mode 100644 index 000000000..ff7717ecd --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/index-default.html @@ -0,0 +1,12 @@ + + + + + + + Fes App + + +
+ + diff --git a/packages/fes-plugin-built-in/src/plugins/features/inlineLimit.js b/packages/fes-plugin-built-in/src/plugins/features/inlineLimit.js new file mode 100644 index 000000000..ae8ae0ffe --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/inlineLimit.js @@ -0,0 +1,11 @@ + +export default (api) => { + api.describe({ + key: 'inlineLimit', + config: { + schema(joi) { + return joi.number(); + } + } + }); +}; diff --git a/packages/fes-plugin-built-in/src/plugins/features/lessLoader.js b/packages/fes-plugin-built-in/src/plugins/features/lessLoader.js new file mode 100644 index 000000000..95493a331 --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/lessLoader.js @@ -0,0 +1,11 @@ + +export default (api) => { + api.describe({ + key: 'lessLoader', + config: { + schema(joi) { + return joi.object(); + } + } + }); +}; diff --git a/packages/fes-plugin-built-in/src/plugins/features/mountElementId.js b/packages/fes-plugin-built-in/src/plugins/features/mountElementId.js new file mode 100644 index 000000000..686b1ca75 --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/mountElementId.js @@ -0,0 +1,12 @@ + +export default (api) => { + api.describe({ + key: 'mountElementId', + config: { + default: '#app', + schema(joi) { + return joi.string().allow(''); + } + } + }); +}; diff --git a/packages/fes-plugin-built-in/src/plugins/features/nodeModulesTransform.js b/packages/fes-plugin-built-in/src/plugins/features/nodeModulesTransform.js new file mode 100644 index 000000000..c350b20bb --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/nodeModulesTransform.js @@ -0,0 +1,18 @@ + +export default (api) => { + api.describe({ + key: 'nodeModulesTransform', + config: { + default: { + type: 'all', + exclude: [] + }, + schema(joi) { + return joi.object({ + type: joi.string().valid('all', 'none'), + exclude: joi.array().items(joi.string()) + }); + } + } + }); +}; diff --git a/packages/fes-plugin-built-in/src/plugins/features/outputPath.js b/packages/fes-plugin-built-in/src/plugins/features/outputPath.js new file mode 100644 index 000000000..93e259a4e --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/outputPath.js @@ -0,0 +1,14 @@ +export default (api) => { + api.describe({ + key: 'outputPath', + config: { + default: 'dist', + schema(joi) { + return joi + .string() + .not('src', 'public', 'pages', 'mock', 'config') + .allow(''); + } + } + }); +}; diff --git a/packages/fes-plugin-built-in/src/plugins/features/plugins.js b/packages/fes-plugin-built-in/src/plugins/features/plugins.js new file mode 100644 index 000000000..9967bb95a --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/plugins.js @@ -0,0 +1,11 @@ + +export default (api) => { + api.describe({ + key: 'plugins', + config: { + schema(joi) { + return joi.array().items(joi.string()); + } + } + }); +}; diff --git a/packages/fes-plugin-built-in/src/plugins/features/postcssLoader.js b/packages/fes-plugin-built-in/src/plugins/features/postcssLoader.js new file mode 100644 index 000000000..a70033061 --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/postcssLoader.js @@ -0,0 +1,11 @@ + +export default (api) => { + api.describe({ + key: 'postcssLoader', + config: { + schema(joi) { + return joi.object(); + } + } + }); +}; diff --git a/packages/fes-plugin-built-in/src/plugins/features/proxy.js b/packages/fes-plugin-built-in/src/plugins/features/proxy.js new file mode 100644 index 000000000..885300435 --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/proxy.js @@ -0,0 +1,18 @@ + +export default (api) => { + api.describe({ + key: 'proxy', + config: { + onChange: () => { + const server = api.getServer(); + if (server) { + // refrest proxy service + server.setupProxy(api.config.proxy, true); + } + }, + schema(joi) { + return joi.object(); + } + } + }); +}; diff --git a/packages/fes-plugin-built-in/src/plugins/features/publicPath.js b/packages/fes-plugin-built-in/src/plugins/features/publicPath.js new file mode 100644 index 000000000..57548e703 --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/publicPath.js @@ -0,0 +1,14 @@ +export default (api) => { + api.describe({ + key: 'publicPath', + config: { + default: '/', + schema(joi) { + return joi + .string() + .regex(/\/$/) + .error(new Error('config.publicPath must end with /.')); + } + } + }); +}; diff --git a/packages/fes-plugin-built-in/src/plugins/features/styleLoader.js b/packages/fes-plugin-built-in/src/plugins/features/styleLoader.js new file mode 100644 index 000000000..6ec2a0140 --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/styleLoader.js @@ -0,0 +1,10 @@ +export default (api) => { + api.describe({ + key: 'styleLoader', + config: { + schema(joi) { + return joi.object(); + } + } + }); +}; diff --git a/packages/fes-plugin-built-in/src/plugins/features/targets.js b/packages/fes-plugin-built-in/src/plugins/features/targets.js new file mode 100644 index 000000000..fc839b1aa --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/targets.js @@ -0,0 +1,19 @@ + +export default (api) => { + api.describe({ + key: 'targets', + config: { + default: { + node: true, + chrome: 49, + firefox: 64, + safari: 10, + edge: 13, + ios: 10 + }, + schema(joi) { + return joi.object(); + } + } + }); +}; diff --git a/packages/fes-plugin-built-in/src/plugins/features/terserOptions.js b/packages/fes-plugin-built-in/src/plugins/features/terserOptions.js new file mode 100644 index 000000000..a0178731b --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/terserOptions.js @@ -0,0 +1,11 @@ + +export default (api) => { + api.describe({ + key: 'terserOptions', + config: { + schema(joi) { + return joi.object(); + } + } + }); +}; diff --git a/packages/fes-plugin-built-in/src/plugins/features/theme.js b/packages/fes-plugin-built-in/src/plugins/features/theme.js new file mode 100644 index 000000000..a27fabf5c --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/theme.js @@ -0,0 +1,11 @@ + +export default (api) => { + api.describe({ + key: 'theme', + config: { + schema(joi) { + return joi.object().pattern(joi.string(), joi.string()); + } + } + }); +}; diff --git a/packages/fes-plugin-built-in/src/plugins/features/vueLoader.js b/packages/fes-plugin-built-in/src/plugins/features/vueLoader.js new file mode 100644 index 000000000..c277942dc --- /dev/null +++ b/packages/fes-plugin-built-in/src/plugins/features/vueLoader.js @@ -0,0 +1,35 @@ + + +export default (api) => { + api.describe({ + key: 'vueLoader', + config: { + schema(joi) { + return joi + .object({}) + .description( + 'more vue-loader options see https://vue-loader.vuejs.org/', + ); + } + } + }); + api.chainWebpack((webpackConfig) => { + // 添加 .vue 后缀 + webpackConfig.module + .rule('vue') + .test(/\.vue$/) + .use('vue-loader') + .loader(require.resolve('vue-loader')) + .options({ + babelParserPlugins: ['jsx', 'classProperties', 'decorators-legacy'] + }) + .end() + .end(); + + webpackConfig + .plugin('vue-loader') + .use(require('vue-loader').VueLoaderPlugin); + + return webpackConfig; + }); +}; diff --git a/packages/fes-core/src/plugins/generateFiles/constants.js b/packages/fes-plugin-built-in/src/plugins/generateFiles/constants.js similarity index 100% rename from packages/fes-core/src/plugins/generateFiles/constants.js rename to packages/fes-plugin-built-in/src/plugins/generateFiles/constants.js diff --git a/packages/fes-core/src/plugins/generateFiles/core/fesExports.js b/packages/fes-plugin-built-in/src/plugins/generateFiles/core/fesExports.js similarity index 100% rename from packages/fes-core/src/plugins/generateFiles/core/fesExports.js rename to packages/fes-plugin-built-in/src/plugins/generateFiles/core/fesExports.js diff --git a/packages/fes-core/src/plugins/generateFiles/core/plugin.js b/packages/fes-plugin-built-in/src/plugins/generateFiles/core/plugin.js similarity index 100% rename from packages/fes-core/src/plugins/generateFiles/core/plugin.js rename to packages/fes-plugin-built-in/src/plugins/generateFiles/core/plugin.js diff --git a/packages/fes-core/src/plugins/generateFiles/core/plugin.tpl b/packages/fes-plugin-built-in/src/plugins/generateFiles/core/plugin.tpl similarity index 100% rename from packages/fes-core/src/plugins/generateFiles/core/plugin.tpl rename to packages/fes-plugin-built-in/src/plugins/generateFiles/core/plugin.tpl diff --git a/packages/fes-core/src/plugins/generateFiles/core/pluginRegister.tpl b/packages/fes-plugin-built-in/src/plugins/generateFiles/core/pluginRegister.tpl similarity index 100% rename from packages/fes-core/src/plugins/generateFiles/core/pluginRegister.tpl rename to packages/fes-plugin-built-in/src/plugins/generateFiles/core/pluginRegister.tpl diff --git a/packages/fes-core/src/plugins/generateFiles/core/routes.js b/packages/fes-plugin-built-in/src/plugins/generateFiles/core/routes.js similarity index 92% rename from packages/fes-core/src/plugins/generateFiles/core/routes.js rename to packages/fes-plugin-built-in/src/plugins/generateFiles/core/routes.js index ec22ad67d..6e01e5cbd 100644 --- a/packages/fes-core/src/plugins/generateFiles/core/routes.js +++ b/packages/fes-plugin-built-in/src/plugins/generateFiles/core/routes.js @@ -3,7 +3,7 @@ import { readFileSync } from 'fs'; import { join } from 'path'; -import { routesToJSON } from '../../../route'; +import { routesToJSON } from '@webank/fes-core'; export default function (api) { const { diff --git a/packages/fes-core/src/plugins/generateFiles/core/routes.tpl b/packages/fes-plugin-built-in/src/plugins/generateFiles/core/routes.tpl similarity index 100% rename from packages/fes-core/src/plugins/generateFiles/core/routes.tpl rename to packages/fes-plugin-built-in/src/plugins/generateFiles/core/routes.tpl diff --git a/packages/fes-core/src/plugins/generateFiles/fes.js b/packages/fes-plugin-built-in/src/plugins/generateFiles/fes.js similarity index 100% rename from packages/fes-core/src/plugins/generateFiles/fes.js rename to packages/fes-plugin-built-in/src/plugins/generateFiles/fes.js diff --git a/packages/fes-core/src/plugins/generateFiles/fes.tpl b/packages/fes-plugin-built-in/src/plugins/generateFiles/fes.tpl similarity index 100% rename from packages/fes-core/src/plugins/generateFiles/fes.tpl rename to packages/fes-plugin-built-in/src/plugins/generateFiles/fes.tpl diff --git a/packages/fes-core/src/plugins/registerMethods.js b/packages/fes-plugin-built-in/src/plugins/registerMethods.js similarity index 73% rename from packages/fes-core/src/plugins/registerMethods.js rename to packages/fes-plugin-built-in/src/plugins/registerMethods.js index 572d71c75..9f769fd06 100644 --- a/packages/fes-core/src/plugins/registerMethods.js +++ b/packages/fes-plugin-built-in/src/plugins/registerMethods.js @@ -4,6 +4,7 @@ import { existsSync, readFileSync, writeFileSync } from 'fs'; export default function (api) { [ + 'onExit', 'onGenerateFiles', 'addFesExports', 'addRuntimePluginKey', @@ -12,7 +13,18 @@ export default function (api) { 'addEntryImports', 'addEntryCodeAhead', 'addEntryCode', - 'modifyRoutes' + 'addBeforeMiddewares', + 'addMiddewares', + 'modifyRoutes', + 'modifyBundler', + 'modifyBundleImplementor', + 'modifyBundleConfigOpts', + 'modifyBundleConfig', + 'modifyBundleConfigs', + 'modifyBabelOpts', + 'modifyBabelPresetOpts', + 'chainWebpack', + 'addTmpGenerateWatcherPaths' ].forEach((name) => { api.registerMethod({ name }); }); diff --git a/packages/fes-core/src/plugins/routes.js b/packages/fes-plugin-built-in/src/plugins/routes.js similarity index 91% rename from packages/fes-core/src/plugins/routes.js rename to packages/fes-plugin-built-in/src/plugins/routes.js index d004d9fee..523cd8f92 100644 --- a/packages/fes-core/src/plugins/routes.js +++ b/packages/fes-plugin-built-in/src/plugins/routes.js @@ -1,4 +1,4 @@ -import { getRoutes } from '../route'; +import { getRoutes } from '@webank/fes-core'; export default function (api) { api.describe({ diff --git a/packages/fes-template/package.json b/packages/fes-template/package.json index afcb8b81c..50c03d11e 100644 --- a/packages/fes-template/package.json +++ b/packages/fes-template/package.json @@ -30,11 +30,9 @@ "license": "MIT", "devDependencies": { "@vue/compiler-sfc": "^3.0.0", - "@webank/eslint-config-webank": "^0.1.4", - "csp-html-webpack-plugin": "^4.0.0" + "@webank/eslint-config-webank": "^0.1.4" }, "dependencies": { - "@babel/runtime-corejs3": "^7.11.2", "vue": "^3.0.2", "@webank/fes": "^2.0.0" } diff --git a/packages/fes-template/publish/index.html b/packages/fes-template/public/index.html similarity index 100% rename from packages/fes-template/publish/index.html rename to packages/fes-template/public/index.html diff --git a/packages/fes/.fatherrc.js b/packages/fes/.fatherrc.js new file mode 100644 index 000000000..e4b81547b --- /dev/null +++ b/packages/fes/.fatherrc.js @@ -0,0 +1,6 @@ +export default { + cjs: { type: 'babel', lazy: true }, + esm: { type: 'rollup' }, + disableTypeCheck: false, + extraExternals: ['@@/core/fesExports'], +}; diff --git a/packages/fes/bin/fes.js b/packages/fes/bin/fes.js new file mode 100755 index 000000000..1258581b0 --- /dev/null +++ b/packages/fes/bin/fes.js @@ -0,0 +1,13 @@ +#!/usr/bin/env node + +const resolveCwd = require('resolve-cwd'); + +const { name, bin } = require('../package.json'); + +const localCLI = resolveCwd.silent(`${name}/${bin.fes}`); +if (!process.env.USE_GLOBAL_UMI && localCLI && localCLI !== __filename) { + // eslint-disable-next-line + require(localCLI); +} else { + require('../lib/cli'); +} diff --git a/packages/fes/bin/index.js b/packages/fes/bin/index.js deleted file mode 100755 index c718240be..000000000 --- a/packages/fes/bin/index.js +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/env node - -const commander = require('commander'); - -const pkg = require('../package.json'); -const generateConfig = require('../build/helpers/config'); -const log = require('../build/helpers/log'); - -commander.usage(' [options]') - .version(pkg.version, '-v, --vers') - .option('-e, --env ', '配置环境 local(本地) | sit(测试) | prod(生产)') - .description(pkg.description); - -commander.command('init [name]') - .description('创建项目') - .action(async (name) => { - const projectInit = require('../build/tasks/init'); - const config = generateConfig('init'); - await projectInit(config, name); - }); - -commander.command('update') - .description('将 fes2 项目升级到 fes3') - .action(() => { - const update = require('../build/tasks/update'); - const config = generateConfig('update'); - update(config); - }); - -commander.command('dev') - .description('开发调试, 默认 local') - .action(() => { - const dev = require('../build/tasks/dev'); - const config = generateConfig('dev', commander.env || 'local'); - dev(config); - }); - -commander.command('build') - .description('打包压缩,默认 prod') - .action(() => { - const build = require('../build/tasks/build'); - const config = generateConfig('build', commander.env || 'prod'); - build(config); - }); - -commander.parse(process.argv); - - -if (!process.argv.slice(2).length) { - commander.outputHelp((text) => { - log.message(text); - return ''; - }); -} diff --git a/packages/fes/build/configs/postcss.config.js b/packages/fes/build/configs/postcss.config.js deleted file mode 100644 index b13e9458b..000000000 --- a/packages/fes/build/configs/postcss.config.js +++ /dev/null @@ -1,8 +0,0 @@ -const autoprefixer = require('autoprefixer'); -const browsers = require('../helpers/browser'); - -module.ex = { - plugins: [ - autoprefixer({ browsers }) - ] -}; diff --git a/packages/fes/build/configs/webpack.config.js b/packages/fes/build/configs/webpack.config.js deleted file mode 100644 index 995617769..000000000 --- a/packages/fes/build/configs/webpack.config.js +++ /dev/null @@ -1,486 +0,0 @@ -const path = require('path'); -const fs = require('fs'); -const merge = require('webpack-merge'); -const MiniCssExtractPlugin = require('mini-css-extract-plugin'); -const { VueLoaderPlugin } = require('vue-loader'); -const CaseSensitivePathsPlugin = require('case-sensitive-paths-webpack-plugin'); -const FriendlyErrorsPlugin = require('@soda/friendly-errors-webpack-plugin'); -const CopyPlugin = require('copy-webpack-plugin'); -const OptimizeCssnanoPlugin = require('@intervolga/optimize-cssnano-plugin'); -const TerserPlugin = require('terser-webpack-plugin'); -const { CleanWebpackPlugin } = require('clean-webpack-plugin'); -const HtmlPlugin = require('html-webpack-plugin'); -const CompressionWebpackPlugin = require('compression-webpack-plugin'); -const autoprefixer = require('autoprefixer'); -const browsers = require('../helpers/browser'); - - -function handleGzipCompress(compress) { - if (!compress) return false; - if (typeof compress === 'boolean') { - return {}; - } - return compress; -} - - -module.exports = function webpackConfig(configs, webpack, mode) { - let template = path.resolve( - configs.folders.PROJECT_DIR, - './publish/index.html' - ); - if (!fs.existsSync(template)) { - template = path.resolve(configs.folders.FES_DIR, './src/index.html'); - } - - const isDev = mode === 'dev'; - const isBuild = mode === 'build'; - - const gzipCompress = handleGzipCompress(configs.compress); - - const presets = [ - [ - require.resolve('@babel/preset-env') - ] - ]; - const plugins = [ - [require.resolve('@vue/babel-plugin-jsx')], - [ - require.resolve('@babel/plugin-transform-runtime'), { - corejs: 3 - } - ], - require.resolve('@babel/plugin-proposal-object-rest-spread'), - require.resolve('@babel/plugin-syntax-dynamic-import') - ]; - const cssloaders = [ - isDev - ? { - loader: require.resolve('vue-style-loader'), - options: { - sourceMap: false, - shadowMode: false - } - } - : { - loader: MiniCssExtractPlugin.loader, - options: { - publicPath: '../' - } - }, - { - loader: require.resolve('css-loader'), - options: { - sourceMap: false, - importLoaders: 2 - } - }, - { - loader: require.resolve('postcss-loader'), - options: { - postcssOptions: { - plugins: [ - autoprefixer({ browsers }) - ] - }, - sourceMap: false - } - } - ]; - - - const baseConfig = { - mode: isDev ? 'development' : 'production', - - context: path.resolve(configs.folders.PROJECT_DIR), - - entry: { - app: [ - path.resolve(configs.folders.PROJECT_DIR, './src/.fes/fes.js') - ] - }, - - resolve: { - extensions: ['.js', '.jsx', '.vue', '.json'], - alias: { - projectRoot: configs.folders.PROJECT_DIR, - '@': path.resolve(configs.folders.PROJECT_DIR, 'src'), - assets: path.resolve(configs.folders.PROJECT_DIR, './src/assets/') - } - }, - - output: { - globalObject: 'this', - filename: isDev ? 'js/[name].js' : 'js/[name].[contenthash:8].js', - chunkFilename: isDev ? 'js/[name].chunk.js' : 'js/[name].[contenthash:8].js', - path: configs.folders.PROJECT_DIST_DIR, - publicPath: isDev ? '/' : './' - }, - - module: { - // noParse: /^(vue|vue-router|vuex|vuex-router-sync|axios)$/, - // noParse: /fes-runtime/, - rules: [ - /* config.module.rule('vue') */ - { - test: /\.vue$/, - use: [ - { - loader: require.resolve('cache-loader'), - options: { - cacheDirectory: path.resolve(configs.folders.PROJECT_DIR, 'node_modules/.cache/vue-loader') - } - }, - { - loader: require.resolve('vue-loader'), - options: { - shadowMode: true, - cacheDirectory: path.resolve(configs.folders.PROJECT_DIR, 'node_modules/.cache/vue-loader'), - babelParserPlugins: ['jsx', 'classProperties', 'decorators-legacy'] - } - } - ] - }, - - /* config.module.rule('images') */ - { - test: /\.(png|jpe?g|gif|webp)(\?.*)?$/, - use: [ - { - loader: require.resolve('url-loader'), - options: { - limit: 4096, - fallback: { - loader: require.resolve('file-loader'), - options: { - name: isDev ? 'img/[name].[ext]' : 'img/[name].[hash:8].[ext]' - } - } - } - } - ] - }, - - /* config.module.rule('svg') */ - { - test: /\.(svg)(\?.*)?$/, - use: [ - { - loader: require.resolve('file-loader'), - options: { - name: isDev ? 'img/[name].[ext]' : 'img/[name].[hash:8].[ext]' - } - } - ] - }, - - /* config.module.rule('media') */ - { - test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/, - use: [ - { - loader: require.resolve('url-loader'), - options: { - limit: 4096, - fallback: { - loader: require.resolve('file-loader'), - options: { - name: isDev ? 'media/[name].[ext]' : 'media/[name].[hash:8].[ext]' - } - } - } - } - ] - }, - - /* config.module.rule('fonts') */ - { - test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/i, - use: [ - { - loader: require.resolve('url-loader'), - options: { - limit: 4096, - fallback: { - loader: require.resolve('file-loader'), - options: { - name: isDev ? 'fonts/[name].[ext]' : 'fonts/[name].[hash:8].[ext]' - } - } - } - } - ] - }, - - /* config.module.rule('css') */ - { - test: /\.css$/, - use: cssloaders - }, - - /* config.module.rule('postcss') */ - { - test: /\.p(ost)?css$/, - use: cssloaders - }, - - /* config.module.rule('less') */ - { - test: /\.less$/, - use: cssloaders.concat([ - { - loader: require.resolve('less-loader'), - options: { - sourceMap: false, - javascriptEnabled: true - } - } - ]) - }, - - /* config.module.rule('stylus') */ - { - test: /\.styl(us)?$/, - use: cssloaders.concat([ - { - loader: require.resolve('stylus-loader'), - options: { - sourceMap: false, - preferPathResolver: 'webpack' - } - } - ]) - }, - - /* config.module.rule('js') */ - { - test: /\.m?jsx?$/, - include(filePath) { - if (filePath.startsWith(path.resolve(process.cwd(), 'src'))) { - return true; - } - if (/fes-core.?src/.test(filePath)) { - return true; - } - if (/fes-plugin-[a-z-]+.?(src|index)/.test(filePath)) { - return true; - } - return false; - }, - use: [ - { - loader: require.resolve('cache-loader'), - options: { - cacheDirectory: path.resolve(configs.folders.PROJECT_DIR, 'node_modules/.cache/babel-loader') - } - }, - { - loader: require.resolve('thread-loader') - }, - { - loader: require.resolve('babel-loader'), - options: { - presets, - plugins - } - } - ] - } - - ] - }, - - devtool: isDev && 'cheap-module-eval-source-map', - - plugins: [ - - /* config.plugin('progress') */ - new webpack.ProgressPlugin(), - - /* config.plugin('vue-loader') */ - new VueLoaderPlugin(), - - /* config.plugin('define') */ - new webpack.DefinePlugin({ - __VUE_OPTIONS_API__: true, - __VUE_PROD_DEVTOOLS__: false, - 'process.env': { - // NODE_ENV: isDev ? 'development' : 'production', - env: JSON.stringify(configs.env), - command: JSON.stringify(configs.command) - } - }), - - /* config.plugin('clean dist') */ - isBuild && new CleanWebpackPlugin(), - - /* config.plugin('extract-css') */ - isBuild - && new MiniCssExtractPlugin({ - filename: 'css/[name].[contenthash:8].css', - chunkFilename: 'css/[name].[contenthash:8].css' - }), - - /* config.plugin('Copy static') */ - isBuild - && new CopyPlugin([ - { - from: configs.folders.PROJECT_STATIC_DIR, - to: path.resolve( - configs.folders.PROJECT_DIST_DIR, - 'static' - ) - } - ]), - - /* config.plugin('optimize-css') */ - isBuild - && new OptimizeCssnanoPlugin({ - sourceMap: false, - cssnanoOptions: { - preset: [ - 'default', - { - mergeLonghand: false, - cssDeclarationSorter: false - } - ] - } - }), - - /* config.plugin('hash-module-ids') */ - isBuild - && new webpack.HashedModuleIdsPlugin({ - hashDigest: 'hex' - }), - - /* config.plugin('固定一下 chunk id') */ - isBuild - && new webpack.NamedChunksPlugin((chunk) => { - if (chunk.name) { - return chunk.name; - } - // eslint-disable-next-line - const hash = require('hash-sum'); - const joinedHash = hash( - Array.from(chunk.modulesIterable, m => m.id).join('_') - ); - return `chunk-${joinedHash}`; - }), - - // /* config.plugin('Copyright') */ - // isBuild - // && new webpack.BannerPlugin(''), - - /* config.plugin('case-sensitive-paths') */ - new CaseSensitivePathsPlugin(), - - /* config.plugin('friendly-errors') */ - new FriendlyErrorsPlugin(), - - isBuild && gzipCompress && new CompressionWebpackPlugin({ // gzip 压缩 - filename: '[path][base].gz', - test: /\.js$|\.html$|\.css/, - threshold: 10240, - minRatio: 0.8, - ...gzipCompress - }), - - /* config.plugin('index.html') */ - new HtmlPlugin({ - template, - minify: isBuild && { - removeComments: true, - collapseWhitespace: true, - removeAttributeQuotes: true, - collapseBooleanAttributes: true, - removeScriptTypeAttributes: true - } - }) - - ] - }; - - if (isBuild) { - baseConfig.optimization = { - minimizer: [ - new TerserPlugin({ - test: /\.m?js(\?.*)?$/i, - chunkFilter: () => true, - warningsFilter: () => true, - extractComments: false, - sourceMap: true, - cache: true, - cacheKeys: defaultCacheKeys => defaultCacheKeys, - parallel: true, - include: undefined, - exclude: undefined, - minify: undefined, - terserOptions: { - output: { - comments: /^\**!|@preserve|@license|@cc_on/i - }, - compress: { - arrows: false, - collapse_vars: false, - comparisons: false, - computed_props: false, - hoist_funs: false, - hoist_props: false, - hoist_vars: false, - inline: false, - loops: false, - negate_iife: false, - properties: false, - reduce_funcs: false, - reduce_vars: false, - switches: false, - toplevel: false, - typeofs: false, - booleans: true, - if_return: true, - sequences: true, - unused: true, - conditionals: true, - dead_code: true, - evaluate: true - }, - mangle: { - safari10: true - } - } - }) - ], - splitChunks: { - cacheGroups: { - vendors: { - name: 'chunk-vendors', - test: /[\\/]node_modules[\\/]/, - priority: -10, - chunks: 'initial' - }, - common: { - name: 'chunk-common', - minChunks: 2, - priority: -20, - chunks: 'initial', - reuseExistingChunk: true - } - } - }, - runtimeChunk: true - }; - } - - baseConfig.plugins = baseConfig.plugins.filter(plu => plu !== false); - - let advancedConfig = {}; - const projectWebpackConfigFile = path.resolve(configs.folders.PROJECT_DIR, 'webpack.config.js'); - if (fs.existsSync(projectWebpackConfigFile)) { - console.log('[init] 加载项目个性webpack配置文件'); - // eslint-disable-next-line - advancedConfig = require(projectWebpackConfigFile)(mode, configs, webpack); - } - - return merge(baseConfig, advancedConfig); -}; diff --git a/packages/fes/build/helpers/browser.js b/packages/fes/build/helpers/browser.js deleted file mode 100644 index 6f13c0b9e..000000000 --- a/packages/fes/build/helpers/browser.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = [ - 'Chrome >= 46', - 'Firefox >= 45', - 'Safari >= 10', - 'Edge >= 13', - 'iOS >= 10', - 'Electron >= 0.36' -]; diff --git a/packages/fes/build/helpers/config.js b/packages/fes/build/helpers/config.js deleted file mode 100644 index a8cdedb81..000000000 --- a/packages/fes/build/helpers/config.js +++ /dev/null @@ -1,41 +0,0 @@ -const path = require('path'); -const fs = require('fs'); - -function generateConfig(command, env) { - // cli目录 - const CLI_DIR = path.dirname(path.dirname(fs.realpathSync(process.argv[1]))); - // 解决git-bash目录问题 - const PROJECT_DIR = process.env.PWD || process.cwd(); - const FES_DIR = path.resolve(PROJECT_DIR, './node_modules/@webank/fes-core'); - - const PROJECT_DIST_DIR = path.resolve(PROJECT_DIR, 'dist'); - const PROJECT_TMP_DIR = path.resolve(PROJECT_DIR, './.fes'); - const PROJECT_PAGE_DIR = path.resolve(PROJECT_DIR, './src/pages'); - const PROJECT_CPN_DIR = path.resolve(PROJECT_DIR, './src/components'); - const PROJECT_STATIC_DIR = path.join(PROJECT_DIR, './src/static'); - const projectName = path.basename(PROJECT_DIR); - - const fesConfigFile = path.join(PROJECT_DIR, 'fes.config.js'); - - const config = { - command, - env, - port: 5000, - projectName, - folders: { - CLI_DIR, - FES_DIR, - PROJECT_DIR, - PROJECT_STATIC_DIR, - PROJECT_DIST_DIR, - PROJECT_TMP_DIR, - PROJECT_PAGE_DIR, - PROJECT_CPN_DIR - } - }; - // eslint-disable-next-line - const fesCofig = require(fesConfigFile); - return Object.assign({}, config, fesCofig); -} - -module.exports = generateConfig; diff --git a/packages/fes/build/helpers/createDevServer.js b/packages/fes/build/helpers/createDevServer.js deleted file mode 100644 index ff14e85eb..000000000 --- a/packages/fes/build/helpers/createDevServer.js +++ /dev/null @@ -1,49 +0,0 @@ -const - http = require('http'); -const webpack = require('webpack'); -const express = require('express'); -const open = require('open'); -const path = require('path'); -const webpackHotMiddleware = require('webpack-hot-middleware'); -const webpackDevMiddleware = require('webpack-dev-middleware'); -const initMock = require('../mock/init.js'); - - -module.exports = function createDevServer(port, defaultConfig) { - const hotMiddlewarePath = require.resolve('webpack-hot-middleware'); - defaultConfig.entry.app.unshift(`${hotMiddlewarePath.replace(path.basename(hotMiddlewarePath), '')}client?reload=true`); - defaultConfig.plugins.push(new webpack.HotModuleReplacementPlugin()); - defaultConfig.plugins.push(new webpack.NamedModulesPlugin()); - - const app = express(); - const compiler = webpack(defaultConfig); - - // devServer 自带支持,添加自定义插件。 - app.use(webpackDevMiddleware(compiler, { - lazy: false, - logLevel: 'silent', - watchOptions: { - aggregateTimeout: 300, - poll: 1000 - }, - stats: { - colors: true, - chunks: false, - timings: true - }, - publicPath: defaultConfig.output.publicPath - })); - - app.use(webpackHotMiddleware(compiler, { - log: false - })); - app.use('/static', express.static('src/static')); - - - // 初始化Mock数据 - initMock(app); - - defaultConfig.open && open(`http://localhost:${port}`); - - http.createServer(app).listen(port); -}; diff --git a/packages/fes/build/helpers/getPort.js b/packages/fes/build/helpers/getPort.js deleted file mode 100644 index 9cd57cd8e..000000000 --- a/packages/fes/build/helpers/getPort.js +++ /dev/null @@ -1,25 +0,0 @@ -const net = require('net'); - -function checkout(port) { - return new Promise((resolve) => { - const server = net.createServer(); - server.once('error', (err) => { - if (err.code === 'EADDRINUSE') { - resolve(checkout(port + 1)); - } - }); - - server.once('listening', () => { - server.close(() => { - resolve(port); - }); - }); - - server.listen(port); - }); -} - -module.exports = function getPort(basePort) { - basePort = basePort || 5000; - return checkout(basePort); -}; diff --git a/packages/fes/build/helpers/log.js b/packages/fes/build/helpers/log.js deleted file mode 100644 index a4582378e..000000000 --- a/packages/fes/build/helpers/log.js +++ /dev/null @@ -1,13 +0,0 @@ -const chalk = require('chalk'); - -module.exports = { - error(msg) { - return console.log(chalk.red(msg)); - }, - warn(msg) { - return console.log(chalk.yellow(msg)); - }, - message(msg) { - return console.log(chalk.cyan(msg)); - } -}; diff --git a/packages/fes/build/mock/cgiMock.js b/packages/fes/build/mock/cgiMock.js deleted file mode 100644 index a64ebf8da..000000000 --- a/packages/fes/build/mock/cgiMock.js +++ /dev/null @@ -1,142 +0,0 @@ -const express = require('express'); -const fs = require('fs'); -const path = require('path'); -const httpProxy = require('http-proxy'); -const url = require('url'); - -const util = require('./util'); - -const proxy = httpProxy.createProxyServer(); -global.router = express.Router(); - -/** - * 数据模拟函数 - */ -function cgiMock() { - // eslint-disable-next-line - const option = getOption(arguments); - - if (!option.url || !option.result) { - return; - } - - // option.method is one of ['get','post','delete','put'...] - const method = option.method || 'use'; - - global.router[method.toLowerCase()](option.url, (req, res) => { - setTimeout(() => { - // set header - res.set(option.headers); - - // set Content-Type - option.type && res.type(option.type); - - // set status code - res.status(option.statusCode); - - // set cookie - util.each(option.cookies, (item) => { - const name = item.name; - const value = item.value; - delete item.name; - delete item.value; - res.cookie(name, value, item); - }); - - // do result - if (util.isFunction(option.result)) { - option.result(req, res); - } else if (util.isArray(option.result) || util.isObject(option.result)) { - !option.type && res.type('json'); - res.json(option.result); - } else { - !option.type && res.type('text'); - res.send(option.result.toString()); - } - }, option.timeout); - }); -} - -// 根据参数个数获取配置 -function getOption(arg) { - const len = arg.length; - // 默认配置 - const option = { - headers: { - 'Cache-Control': 'no-cache' - }, - statusCode: 200, - cookies: [], - timeout: 0 - }; - if (len === 0) { - return cgiMock; - } if (len === 1) { - const newOption = arg[0]; - if (util.isObject(newOption)) { - util.each(newOption, (value, key) => { - if (key === 'headers') { - util.each(newOption.headers, (headervalue, headerkey) => { - option.headers[headerkey] = newOption.headers[headerkey]; - }); - } else { - option[key] = newOption[key]; - } - }); - } - } else { - option.url = arg[0]; - option.result = arg[1]; - } - return option; -} - -// 把基于 cgiMockfile 的相对绝对转成绝对路径 -function parsePath(value) { - return path.join(global.cgiMockFilePath, value); -} - - -// log proxy data -proxy.on('open', (proxySocket) => { - proxySocket.on('data', (chunk) => { - console.log(chunk.toString()); - }); -}); -proxy.on('proxyRes', (proxyRes) => { - console.log('RAW Response from the target', JSON.stringify(proxyRes.headers, true, 2)); - const cookie = proxyRes.headers['set-cookie']; - if (cookie && cookie.length > 0) { - for (let i = 0; i < cookie.length; i++) { - cookie[i] = cookie[i].replace('Secure', ''); - } - } -}); - -proxy.on('error', (e) => { - console.log(e); -}); - -// 规则之外的请求转发 -cgiMock.proxy = function (host) { - process.nextTick(() => { - global.router.use((req, res) => { - proxy.web(req, res, { - target: host, - secure: false - }); - }); - }); - proxy.on('proxyReq', (proxyReq) => { - proxyReq.setHeader('Host', url.parse(host).host); - }); -}; - -// 读取文件内容 -cgiMock.file = function (file) { - return fs.readFileSync(parsePath(file)); -}; - -cgiMock.prefix = '/'; - -module.exports = cgiMock; diff --git a/packages/fes/build/mock/init.js b/packages/fes/build/mock/init.js deleted file mode 100644 index ba75760af..000000000 --- a/packages/fes/build/mock/init.js +++ /dev/null @@ -1,100 +0,0 @@ -const Mock = require('mockjs'); -const faker = require('faker'); -const path = require('path'); -const fs = require('fs'); - -const logger = require('morgan'); -const cookieParser = require('cookie-parser'); -const bodyParser = require('body-parser'); -const onFinished = require('on-finished'); - -const util = require('./util'); -const cgiMock = require('./cgiMock'); -const log = require('../helpers/log'); - -const main = { - init(app, argv, cwd) { - const defaultCgiMockFile = path.join(process.cwd(), 'mock.js'); - if (fs.existsSync(defaultCgiMockFile)) { - this.app = app; - this.argv = argv; - this.cwd = cwd; - - app.use(logger('dev')); - app.use( - bodyParser.urlencoded({ - extended: false - }) - ); - app.use(cookieParser()); - - this.customRoute(); - } - }, - - customRoute() { - const argv = this.argv; - const defaultCgiMockFile = path.join(process.cwd(), 'mock.js'); - const home = process.env[process.platform === 'win32' ? 'USERPROFILE' : 'HOME']; - - let cgiMockFile; - if (argv) { - if (argv.f) { - if (process.platform === 'win32') { - cgiMockFile = path.resolve(this.cwd, this.argv.f); - } else if (argv.f[0] === '~') { - cgiMockFile = path.resolve( - home, - argv.f.replace(/^~\//, '') - ); - } else { - cgiMockFile = path.resolve(this.cwd, this.argv.f); - } - } else { - cgiMockFile = defaultCgiMockFile; - } - } else { - cgiMockFile = defaultCgiMockFile; - } - global.cgiMockFilePath = path.resolve(cgiMockFile, '..'); - - const loadRouteConfig = function () { - util.cleanCache(cgiMockFile); - try { - if (!fs.existsSync(cgiMockFile)) { - log.error('[WARN] 不存在mock.js文件'); - } else { - // eslint-disable-next-line - const projectMock = require(cgiMockFile); - if (util.isFunction(projectMock)) { - global.router.stack = []; - projectMock(cgiMock, Mock, faker); - log.message('[SUCCESS] mock.js 加载成功'); - } else { - log.error( - `[ERROR] mock.js cannot be ${typeof projectMock}` - ); - } - } - } catch (e) { - log.error('[ERROR] mock.js 有误,请检查'); - log.error(JSON.stringify(e)); - } - }; - - loadRouteConfig(); - this.app.use(cgiMock.prefix, (req, res, next) => { - onFinished(res, () => { - loadRouteConfig(); - }); - global.router(req, res, next); - }); - - util.watchFile(cgiMockFile, () => { - log.message('[INFO] mock.js 发生变化'); - loadRouteConfig(); - }); - } -}; - -module.exports = main.init.bind(main); diff --git a/packages/fes/build/mock/task/cgiMock.js b/packages/fes/build/mock/task/cgiMock.js deleted file mode 100644 index 7b4a12ed9..000000000 --- a/packages/fes/build/mock/task/cgiMock.js +++ /dev/null @@ -1,17 +0,0 @@ - - -const express = require('express'); -const argv = require('yargs').argv; - -const port = argv.p || 8888; -const cwd = process.cwd(); - -const app = express(); -const init = require('../init'); - -init(app, argv, cwd); - -app.set('port', port); -app.listen(port, () => { - console.log(`cgiMock server listening on ${port}`); -}); diff --git a/packages/fes/build/mock/test/app.js b/packages/fes/build/mock/test/app.js deleted file mode 100644 index 30ce9580d..000000000 --- a/packages/fes/build/mock/test/app.js +++ /dev/null @@ -1,64 +0,0 @@ -module.exports = function mock(cgiMock, Mock) { - const Random = Mock.Random; - - // 前缀,全局(可选) - cgiMock.prefix = '/prefix'; - - // 返回一个数字 - cgiMock('/number', 123); - - // 返回一个json - cgiMock({ - url: '/json', - result: { - code: '400101', msg: "不合法的请求:Missing cookie 'wb_app_id' for method parameter of type String", transactionTime: '20170309171146', success: false - } - }); - - // 利用mock.js 产生随机文本 - cgiMock('/text', Random.cparagraph()); - - // 返回一个字符串 利用mock.js 产生随机字符 - cgiMock('/string', Mock.mock({ - 'string|1-10': '★' - })); - - - // 正则匹配url, 返回一个字符串 - cgiMock(/\/abc|\/xyz/, 'regexp test!'); - - // option.result 参数如果是一个函数, 可以实现自定义返回内容, 接收的参数是是经过 express 封装的 req 和 res 对象. - cgiMock(/\/function$/, (req, res) => { - res.send('function test'); - }); - - // 返回文本 fs.readFileSync - cgiMock('/file', cgiMock.file('./test.json')); - - // 更复杂的规则配置 - cgiMock({ - url: /\/who/, - method: 'GET', - result(req, res) { - if (req.query.name === 'kwan') { - res.json({ kwan: '孤独患者' }); - } else { - res.send('Nooooooooooo'); - } - }, - headers: { - 'Content-Type': 'text/plain', - 'Content-Length': '123', - ETag: '12345' - }, - cookies: [ - { - name: 'myname', value: 'kwan', maxAge: 900000, httpOnly: true - } - ], - // 接口随机延迟 - timeout: Mock.mock({ - 'number|1000-5000': 1000 - }).number - }); -}; diff --git a/packages/fes/build/mock/test/myfile.txt b/packages/fes/build/mock/test/myfile.txt deleted file mode 100644 index 3ebaf0c4f..000000000 --- a/packages/fes/build/mock/test/myfile.txt +++ /dev/null @@ -1 +0,0 @@ -file test \ No newline at end of file diff --git a/packages/fes/build/mock/util.js b/packages/fes/build/mock/util.js deleted file mode 100644 index 4b10b7abf..000000000 --- a/packages/fes/build/mock/util.js +++ /dev/null @@ -1,62 +0,0 @@ -const fs = require('fs'); - -const toString = Object.prototype.toString; -module.exports = { - - isArray(value) { - return toString.call(value) === '[object Array]'; - }, - - isObject(value) { - return toString.call(value) === '[object Object]'; - }, - - isFunction(value) { - return toString.call(value) === '[object Function]'; - }, - - each(val, callback) { - if (this.isArray(val)) { - val.forEach(callback); - } - if (this.isObject(val)) { - Object.keys(val).forEach((key) => { - callback(val[key], key); - }); - } - }, - - watchFile(filename, callback) { - const isWin = (process.platform === 'win32'); - if (isWin) { - return fs.watch(filename, (event) => { - if (event === 'change') { - return callback(filename); - } - return null; - }); - } - return fs.watchFile(filename, { - interval: 200 - }, (curr, prev) => { - if (curr.mtime > prev.mtime) { - return callback(filename); - } - return null; - }); - }, - - unwatchFile(watcher, filename) { - if (watcher) { - watcher.close && watcher.close(); - } else { - fs.unwatchFile(filename); - } - }, - - cleanCache(modulePath) { - if (require.cache[modulePath]) { - delete require.cache[modulePath]; - } - } -}; diff --git a/packages/fes/build/tasks/build.js b/packages/fes/build/tasks/build.js deleted file mode 100644 index 2e808a8c5..000000000 --- a/packages/fes/build/tasks/build.js +++ /dev/null @@ -1,23 +0,0 @@ -const webpack = require('webpack'); -const log = require('../helpers/log'); -const createProdConfig = require('../configs/webpack.config'); - -const generateRoute = require('./route'); - -function startBuild(config) { - try { - generateRoute(config); - const webpackConfig = createProdConfig(config, webpack, 'build'); - webpack(webpackConfig, (err) => { - if (err) { - log.error(err); - return; - } - console.log('[build] success'); - }); - } catch (e) { - log.error(e); - } -} - -module.exports = startBuild; diff --git a/packages/fes/build/tasks/dev.js b/packages/fes/build/tasks/dev.js deleted file mode 100644 index 70e8a9391..000000000 --- a/packages/fes/build/tasks/dev.js +++ /dev/null @@ -1,40 +0,0 @@ - -const webpack = require('webpack'); -const { ServiceWithBuiltIn } = require('@webank/fes-core'); -const { yParser } = require('@umijs/utils'); -const getPkg = require('../helpers/getPkg'); -const getCwd = require('../helpers/getCwd'); -const createDevServer = require('../helpers/createDevServer'); -const getPort = require('../helpers/getPort'); -const log = require('../helpers/log'); -const createDevConfig = require('../configs/webpack.config'); - -const args = yParser(process.argv.slice(2)); - - -// TODO 监听 pages 等文件变更重新编译 -async function startDev(config) { - const service = new ServiceWithBuiltIn({ - cwd: getCwd(), - pkg: getPkg(process.cwd()) - }); - await service.run({ - name: 'dev', - args - }); - - - const webpackConfig = createDevConfig(config, webpack, 'dev'); - if (!webpackConfig) return; - - getPort(config.port) - .then((port) => { - log.message(`------------ find port success. port: ${port}`); - createDevServer(port, webpackConfig); - }).catch((err) => { - log.message('------------ build error.'); - log.error(err); - }); -} - -module.exports = startDev; diff --git a/packages/fes/build/tasks/index.js b/packages/fes/build/tasks/index.js deleted file mode 100644 index 56518f8e2..000000000 --- a/packages/fes/build/tasks/index.js +++ /dev/null @@ -1,13 +0,0 @@ -const init = require('./init.js'); -const route = require('./route.js'); -const build = require('./build.js'); -const dev = require('./dev.js'); -const update = require('./update.js'); - -module.exports = { - init, - route, - build, - dev, - update -}; diff --git a/packages/fes/build/tasks/init.js b/packages/fes/build/tasks/init.js deleted file mode 100644 index 9110ba443..000000000 --- a/packages/fes/build/tasks/init.js +++ /dev/null @@ -1,55 +0,0 @@ -const path = require('path'); -const fs = require('fs-extra'); -const prompts = require('prompts'); -const tar = require('tar'); -const { execSync } = require('child_process'); -const log = require('../helpers/log'); - - -function createProject(config, projectName) { - log.message('正在初始化项目...'); - const projectDir = path.resolve(config.folders.PROJECT_DIR, projectName); - if (fs.pathExistsSync(projectDir)) { - log.error('该项目已存在,请重新输入!'); - return Promise.reject(); - } - return new Promise((resolve) => { - const productDir = `${config.folders.PROJECT_DIR}/${projectName}`; - const stdout = execSync('npm pack @webank/fes-template', { encoding: 'utf8', stdio: [null] }); - const filePath = path.resolve(config.folders.PROJECT_DIR, stdout.replace('\n', '')); - fs.mkdirSync(projectDir); - fs.createReadStream(filePath).pipe( - tar.x({ - strip: 1, - C: productDir // alias for cwd:'some-dir', also ok - }) - ); - fs.unlinkSync(filePath); - log.message(`项目 ${projectName} 创建完成,请执行下面的命令进行使用:`); - log.message(`$ cd ${projectName}`); - log.message('$ npm i'); - log.message('$ npm run dev'); - resolve(); - }); -} - -async function initProject(config, projectName) { - if (projectName) { - await createProject(config, projectName); - } else { - const response = await prompts([ - { - type: 'text', - name: 'name', - message: '请输入项目名称: ' - } - ]); - if (!response.name) { - await initProject(config, projectName); - } else { - await createProject(config, response.name); - } - } -} - -module.exports = initProject; diff --git a/packages/fes/build/tasks/update.js b/packages/fes/build/tasks/update.js deleted file mode 100644 index 38f114874..000000000 --- a/packages/fes/build/tasks/update.js +++ /dev/null @@ -1,15 +0,0 @@ -const { exec } = require('child_process'); -const log = require('../helpers/log'); - -function update(config) { - log.message('安装@webank/fes-core @webank/fes-ui...'); - exec(`cd ${config.folders.PROJECT_DIR} && npm i @webank/fes-core @webank/fes-ui --save && npm i`, (err) => { - if (err) { - console.error(err); - return; - } - log.message('升级完毕'); - }); -} - -module.exports = update; diff --git a/packages/fes/index.js b/packages/fes/index.js index 48e01d4e3..8778b01ec 100644 --- a/packages/fes/index.js +++ b/packages/fes/index.js @@ -1,4 +1,5 @@ -module.exports = { - foo: () => {} +module.exports = function () { + // TODO 模块导出 + console.log('Hello fes'); }; diff --git a/packages/fes/package.json b/packages/fes/package.json index 2028e7308..168fe4178 100644 --- a/packages/fes/package.json +++ b/packages/fes/package.json @@ -6,10 +6,16 @@ "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, + "files": [ + "lib", + "dist", + "bin" + ], "bin": { - "fes": "./bin/index.js" + "fes": "./bin/fes.js" }, "main": "index.js", + "module": "dist/index.esm.js", "author": "harrywan,qlin", "repository": { "type": "git", @@ -24,88 +30,10 @@ "strong" ], "dependencies": { - "@babel/core": "^7.12.3", - "@babel/helper-module-imports": "^7.12.1", - "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/plugin-proposal-decorators": "^7.12.1", - "@babel/plugin-proposal-object-rest-spread": "^7.12.1", - "@babel/plugin-syntax-dynamic-import": "^7.2.0", - "@babel/plugin-transform-runtime": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/runtime": "^7.12.1", - "@babel/runtime-corejs3": "^7.12.1", - "@intervolga/optimize-cssnano-plugin": "^1.0.6", - "@soda/friendly-errors-webpack-plugin": "^1.7.1", - "@umijs/utils": "^3.2.24", - "@vue/babel-plugin-jsx": "^1.0.0-rc.3", - "@vue/compiler-sfc": "^3.0.2", + "@webank/fes-plugin-built-in": "^2.0.0", "@webank/fes-core": "^2.0.0", "@webank/fes-runtime": "^2.0.0", - "autoprefixer": "^8.1.0", - "babel-loader": "^8.0.6", - "body-parser": "^1.5.2", - "cache-loader": "^4.1.0", - "case-sensitive-paths-webpack-plugin": "^2.2.0", - "chalk": "^4.1.0", - "chokidar": "^1.7.0", - "clean-webpack-plugin": "^3.0.0", - "commander": "^4.1.0", - "compression-webpack-plugin": "^6.0.3", - "cookie-parser": "^1.4.3", - "copy-webpack-plugin": "^5.0.4", - "cross-spawn": "^2.1.0", - "css-loader": "^3.1.0", - "execa": "^0.8.0", - "express": "^4.14.0", - "express-http-proxy": "^0.10.0", - "express-session": "^1.7.2", - "faker": "^4.1.0", - "file-loader": "^4.2.0", - "friendly-errors-webpack-plugin": "^1.7.0", - "fs": "0.0.2", - "fs-extra": "^8.1.0", - "hash-sum": "^2.0.0", - "html-webpack-plugin": "^3.2.0", - "http-proxy": "^1.12.0", - "json-templater": "^1.2.0", - "less": "^3.12.2", - "less-loader": "^7.0.2", - "lodash": "^4.17.4", - "mini-css-extract-plugin": "^0.8.0", - "mockjs": "^1.1.0", - "morgan": "^1.2.2", - "mustache": "^4.0.1", - "node-plus-string": "^1.0.1", - "normalize-path": "^1.0.0", - "on-finished": "^2.3.0", - "open": "^7.3.0", - "path": "^0.12.7", - "pkg-up": "^3.1.0", - "postcss": "^7.0.35", - "postcss-loader": "^4.0.4", - "prompts": "^2.3.0", - "request": "^2.81.0", - "require-dir": "^0.3.0", - "resolve": "^1.18.1", - "shelljs": "^0.5.3", - "string-replace-loader": "^2.2.0", - "strip-indent": "^2.0.0", - "style-loader": "^1.3.0", - "stylus": "^0.54.8", - "stylus-loader": "^3.0.2", - "tar": "^6.0.5", - "tar-fs": "^1.16.0", - "terser-webpack-plugin": "^2.2.1", - "thread-loader": "^2.1.3", - "url-loader": "^2.2.0", - "vue-loader": "^16.0.0-beta.8", - "vue-style-loader": "^4.1.2", - "vue-template-compiler": "^2.6.10", - "webpack": "^4.44.2", - "webpack-cli": "^3.3.9", - "webpack-dev-middleware": "^3.7.2", - "webpack-hot-middleware": "^2.25.0", - "webpack-merge": "^4.2.2", - "yargs": "^3.31.0" + "@umijs/utils": "3.2.24", + "resolve-cwd": "^3.0.0" } } diff --git a/packages/fes/src/cli.js b/packages/fes/src/cli.js new file mode 100644 index 000000000..2162daa0d --- /dev/null +++ b/packages/fes/src/cli.js @@ -0,0 +1,69 @@ +import { + chalk, + yParser +} from '@umijs/utils'; +import { + Service +} from './serviceWithBuiltIn'; +import fork from './utils/fork'; +import getCwd from './utils/getCwd'; +import getPkg from './utils/getPkg'; + +// process.argv: [node, fes.js, command, args] +const args = yParser(process.argv.slice(2), { + alias: { + version: ['v'], + help: ['h'] + }, + boolean: ['version'] +}); + +// TODO version 命令 +if (args.version && !args._[0]) { + args._[0] = 'version'; + console.log(`fes@${require('../package.json').version}`); +} else if (!args._[0]) { + // TODO 帮助命令 + args._[0] = 'help'; +} + +(async () => { + try { + switch (args._[0]) { + case 'dev': + // eslint-disable-next-line + const child = fork({ + scriptPath: require.resolve('./forkedDev') + }); + // ref: + // http://nodejs.cn/api/process/signal_events.html + process.on('SIGINT', () => { + child.kill('SIGINT'); + process.exit(1); + }); + process.on('SIGTERM', () => { + child.kill('SIGTERM'); + process.exit(1); + }); + break; + default: + // eslint-disable-next-line + const name = args._[0]; + if (name === 'build') { + process.env.NODE_ENV = 'production'; + } + await new Service({ + cwd: getCwd(), + pkg: getPkg(process.cwd()) + }).run({ + name, + args + }); + break; + } + } catch (e) { + console.error(chalk.red(e.message)); + console.error(e.stack); + process.exit(1); + } +})(); diff --git a/packages/fes/src/forkedDev.js b/packages/fes/src/forkedDev.js new file mode 100644 index 000000000..edd5e924a --- /dev/null +++ b/packages/fes/src/forkedDev.js @@ -0,0 +1,48 @@ +import { chalk, yParser } from '@umijs/utils'; +import { Service } from './serviceWithBuiltIn'; +import getCwd from './utils/getCwd'; +import getPkg from './utils/getPkg'; + +const args = yParser(process.argv.slice(2)); + +let closed = false; +function onSignal(signal, service) { + if (closed) return; + closed = true; + + // 退出时触发插件中的onExit事件 + service.applyPlugins({ + key: 'onExit', + type: service.ApplyPluginsType.event, + args: { + signal + } + }); + process.exit(0); +} + +(async () => { + try { + process.env.NODE_ENV = 'development'; + const service = new Service({ + cwd: getCwd(), + pkg: getPkg(process.cwd()) + }); + await service.run({ + name: 'dev', + args + }); + + + // kill(2) Ctrl-C + process.once('SIGINT', () => onSignal('SIGINT', service)); + // kill(3) Ctrl-\ + process.once('SIGQUIT', () => onSignal('SIGQUIT', service)); + // kill(15) default + process.once('SIGTERM', () => onSignal('SIGTERM', service)); + } catch (e) { + console.error(chalk.red(e.message)); + console.error(e.stack); + process.exit(1); + } +})(); diff --git a/packages/fes/src/index.js b/packages/fes/src/index.js new file mode 100644 index 000000000..b3ef800ac --- /dev/null +++ b/packages/fes/src/index.js @@ -0,0 +1,15 @@ +export { + useRoute, + useRouter, + onBeforeRouteUpdate, + onBeforeRouteLeave, + RouterLink, + useLink, + createWebHashHistory, + createRouter, + Plugin, + ApplyPluginsType +} from '@webank/fes-runtime'; + +// @ts-ignore +export * from '@@/core/fesExports'; diff --git a/packages/fes-core/src/ServiceWithBuiltIn.js b/packages/fes/src/serviceWithBuiltIn.js similarity index 56% rename from packages/fes-core/src/ServiceWithBuiltIn.js rename to packages/fes/src/serviceWithBuiltIn.js index 8ca71c78e..8d64fa548 100644 --- a/packages/fes-core/src/ServiceWithBuiltIn.js +++ b/packages/fes/src/serviceWithBuiltIn.js @@ -1,12 +1,12 @@ import { dirname } from 'path'; -import CoreService from './Service/Service'; -import innerPlugins from './plugins'; +import { Service as CoreService } from '@webank/fes-core'; +import innerPlugins from '@webank/fes-plugin-built-in'; -// TODO 迁移到 fes 目录 -class ServiceWithBuiltIn extends CoreService { +class Service extends CoreService { constructor(opts) { process.env.FES_VERSION = require('../package').version; process.env.FES_DIR = dirname(require.resolve('../package')); + process.env.UMI_DIR = dirname(require.resolve('../package')); super({ ...opts, @@ -15,4 +15,4 @@ class ServiceWithBuiltIn extends CoreService { } } -export default ServiceWithBuiltIn; +export { Service }; diff --git a/packages/fes/src/utils/fork.js b/packages/fes/src/utils/fork.js new file mode 100644 index 000000000..43a2d0858 --- /dev/null +++ b/packages/fes/src/utils/fork.js @@ -0,0 +1,60 @@ +import { + fork +} from 'child_process'; + +const usedPorts = []; +let CURRENT_PORT; + +export default function start({ + scriptPath +}) { + const execArgv = process.execArgv.slice(0); + const inspectArgvIndex = execArgv.findIndex(argv => argv.includes('--inspect-brk'),); + + if (inspectArgvIndex > -1) { + const inspectArgv = execArgv[inspectArgvIndex]; + execArgv.splice( + inspectArgvIndex, + 1, + inspectArgv.replace(/--inspect-brk=(.*)/, (match, s1) => { + let port; + try { + port = parseInt(s1, 10) + 1; + } catch (e) { + port = 9230; // node default inspect port plus 1. + } + if (usedPorts.includes(port)) { + port += 1; + } + usedPorts.push(port); + return `--inspect-brk=${port}`; + }), + ); + } + + // set port to env when current port has value + if (CURRENT_PORT) { + // @ts-ignore + process.env.PORT = CURRENT_PORT; + } + + const child = fork(scriptPath, process.argv.slice(2), { + execArgv + }); + + child.on('message', (data) => { + const type = (data && data.type) || null; + if (type === 'RESTART') { + child.kill(); + start({ + scriptPath + }); + } else if (type === 'UPDATE_PORT') { + // set current used port + CURRENT_PORT = data.port; + } + process.send && process.send(data); + }); + + return child; +} diff --git a/packages/fes/build/helpers/getCwd.js b/packages/fes/src/utils/getCwd.js similarity index 78% rename from packages/fes/build/helpers/getCwd.js rename to packages/fes/src/utils/getCwd.js index 4a6a6b623..325cd8c60 100644 --- a/packages/fes/build/helpers/getCwd.js +++ b/packages/fes/src/utils/getCwd.js @@ -1,6 +1,6 @@ -const { join, isAbsolute } = require('path'); +import { join, isAbsolute } from 'path'; -module.exports = () => { +export default () => { const cwd = process.cwd(); if (process.env.APP_ROOT) { // avoid repeat cwd path diff --git a/packages/fes/build/helpers/getPkg.js b/packages/fes/src/utils/getPkg.js similarity index 75% rename from packages/fes/build/helpers/getPkg.js rename to packages/fes/src/utils/getPkg.js index 32ece4ca7..3a89a7b48 100644 --- a/packages/fes/build/helpers/getPkg.js +++ b/packages/fes/src/utils/getPkg.js @@ -1,7 +1,7 @@ -const { join } = require('path'); -const getCwd = require('./getCwd'); +import { join } from 'path'; +import getCwd from './getCwd'; -module.exports = (dir) => { +export default (dir) => { try { // eslint-disable-next-line return require(join(getCwd(), 'package.json')); diff --git a/yarn.lock b/yarn.lock index c49acd2e1..bc11d6c0e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14,27 +14,7 @@ resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.1.tgz#d7386a689aa0ddf06255005b4b991988021101a0" integrity sha512-725AQupWJZ8ba0jbKceeFblZTY90McUBWMwHhkFQ9q1zKPJ95GUktljFcgcsIVwRnTnRKlcYzfiNImg5G9m6ZQ== -"@babel/core@7.4.5": - version "7.4.5" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.4.5.tgz#081f97e8ffca65a9b4b0fdc7e274e703f000c06a" - integrity sha512-OvjIh6aqXtlsA8ujtGKfC7LYWksYSX8yQcM8Ay3LuvVeQ63lcOKgoZWVqcpFwkd29aYU9rVx7jxhfhiEDV9MZA== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/generator" "^7.4.4" - "@babel/helpers" "^7.4.4" - "@babel/parser" "^7.4.5" - "@babel/template" "^7.4.4" - "@babel/traverse" "^7.4.5" - "@babel/types" "^7.4.4" - convert-source-map "^1.1.0" - debug "^4.1.0" - json5 "^2.1.0" - lodash "^4.17.11" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/core@^7.12.3", "@babel/core@^7.4.5": +"@babel/core@7.12.3", "@babel/core@^7.4.5": version "7.12.3" resolved "https://registry.npmjs.org/@babel/core/-/core-7.12.3.tgz#1b436884e1e3bff6fb1328dc02b208759de92ad8" integrity sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g== @@ -56,6 +36,26 @@ semver "^5.4.1" source-map "^0.5.0" +"@babel/core@7.4.5": + version "7.4.5" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.4.5.tgz#081f97e8ffca65a9b4b0fdc7e274e703f000c06a" + integrity sha512-OvjIh6aqXtlsA8ujtGKfC7LYWksYSX8yQcM8Ay3LuvVeQ63lcOKgoZWVqcpFwkd29aYU9rVx7jxhfhiEDV9MZA== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/generator" "^7.4.4" + "@babel/helpers" "^7.4.4" + "@babel/parser" "^7.4.5" + "@babel/template" "^7.4.4" + "@babel/traverse" "^7.4.5" + "@babel/types" "^7.4.4" + convert-source-map "^1.1.0" + debug "^4.1.0" + json5 "^2.1.0" + lodash "^4.17.11" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + "@babel/generator@^7.10.4", "@babel/generator@^7.11.5", "@babel/generator@^7.12.1", "@babel/generator@^7.4.0", "@babel/generator@^7.4.4": version "7.12.1" resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.12.1.tgz#0d70be32bdaa03d7c51c8597dda76e0df1f15468" @@ -65,6 +65,15 @@ jsesc "^2.5.1" source-map "^0.5.0" +"@babel/generator@^7.12.5": + version "7.12.5" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.12.5.tgz#a2c50de5c8b6d708ab95be5e6053936c1884a4de" + integrity sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A== + dependencies: + "@babel/types" "^7.12.5" + jsesc "^2.5.1" + source-map "^0.5.0" + "@babel/helper-annotate-as-pure@^7.10.4": version "7.10.4" resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3" @@ -297,6 +306,11 @@ resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz#c7ff6303df71080ec7a4f5b8c003c58f1cf51037" integrity sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q== +"@babel/parser@7.12.5", "@babel/parser@^7.12.5": + version "7.12.5" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.12.5.tgz#b4af32ddd473c0bfa643bd7ff0728b8e71b81ea0" + integrity sha512-FVM6RZQ0mn2KCf1VUED7KepYeUWoVShczewOCfm3nzoBybaih51h+sYVVGthW9M6lPByEPTQf+xm27PBdlpwmQ== + "@babel/parser@^7.10.4", "@babel/parser@^7.11.5", "@babel/parser@^7.12.0", "@babel/parser@^7.12.1", "@babel/parser@^7.12.3", "@babel/parser@^7.4.3", "@babel/parser@^7.4.5", "@babel/parser@^7.7.0": version "7.12.3" resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.12.3.tgz#a305415ebe7a6c7023b40b5122a0662d928334cd" @@ -319,6 +333,14 @@ "@babel/helper-create-class-features-plugin" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-proposal-class-properties@7.12.1", "@babel/plugin-proposal-class-properties@^7.10.4", "@babel/plugin-proposal-class-properties@^7.12.1": + version "7.12.1" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz#a082ff541f2a29a4821065b8add9346c0c16e5de" + integrity sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-proposal-class-properties@7.4.4": version "7.4.4" resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.4.4.tgz#93a6486eed86d53452ab9bab35e368e9461198ce" @@ -327,14 +349,6 @@ "@babel/helper-create-class-features-plugin" "^7.4.4" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-proposal-class-properties@^7.10.4", "@babel/plugin-proposal-class-properties@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz#a082ff541f2a29a4821065b8add9346c0c16e5de" - integrity sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-proposal-decorators@7.10.4": version "7.10.4" resolved "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.10.4.tgz#fe20ef10cc73f386f70910fca48798041cd357c7" @@ -344,6 +358,15 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-decorators" "^7.10.4" +"@babel/plugin-proposal-decorators@7.12.1": + version "7.12.1" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.12.1.tgz#59271439fed4145456c41067450543aee332d15f" + integrity sha512-knNIuusychgYN8fGJHONL0RbFxLGawhXOJNLBk75TniTsZZeA+wdkDuv6wp4lGwzQEKjZi6/WYtnb3udNPmQmQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-decorators" "^7.12.1" + "@babel/plugin-proposal-decorators@7.4.4": version "7.4.4" resolved "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.4.4.tgz#de9b2a1a8ab0196f378e2a82f10b6e2a36f21cc0" @@ -353,15 +376,6 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-decorators" "^7.2.0" -"@babel/plugin-proposal-decorators@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.12.1.tgz#59271439fed4145456c41067450543aee332d15f" - integrity sha512-knNIuusychgYN8fGJHONL0RbFxLGawhXOJNLBk75TniTsZZeA+wdkDuv6wp4lGwzQEKjZi6/WYtnb3udNPmQmQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-decorators" "^7.12.1" - "@babel/plugin-proposal-do-expressions@7.10.4": version "7.10.4" resolved "https://registry.npmjs.org/@babel/plugin-proposal-do-expressions/-/plugin-proposal-do-expressions-7.10.4.tgz#9a5190f3bf4818f83e41d673ee517ff76cf8e4ed" @@ -370,6 +384,14 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-do-expressions" "^7.10.4" +"@babel/plugin-proposal-do-expressions@7.12.1": + version "7.12.1" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-do-expressions/-/plugin-proposal-do-expressions-7.12.1.tgz#8d7f1bc532d8168147555c26e3db922cc0dfd2f8" + integrity sha512-bpJ6Bfrzvdzb0vG6zBSNh3HLgFKh+S2CBpNmaLRjg2u7cNkzRPIqBjVURCmpG6pvPfKyxkizwbrXwpYtW3a9cw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-do-expressions" "^7.12.1" + "@babel/plugin-proposal-do-expressions@7.2.0": version "7.2.0" resolved "https://registry.npmjs.org/@babel/plugin-proposal-do-expressions/-/plugin-proposal-do-expressions-7.2.0.tgz#7abf56d27125f2b040c9cb0ab03119cf117128a9" @@ -394,6 +416,14 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-export-default-from" "^7.10.4" +"@babel/plugin-proposal-export-default-from@7.12.1": + version "7.12.1" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.12.1.tgz#c6e62d668a8abcfe0d28b82f560395fecb611c5a" + integrity sha512-z5Q4Ke7j0AexQRfgUvnD+BdCSgpTEKnqQ3kskk2jWtOBulxICzd1X9BGt7kmWftxZ2W3++OZdt5gtmC8KLxdRQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-export-default-from" "^7.12.1" + "@babel/plugin-proposal-export-default-from@7.2.0": version "7.2.0" resolved "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.2.0.tgz#737b0da44b9254b6152fe29bb99c64e5691f6f68" @@ -426,6 +456,14 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-function-bind" "^7.10.4" +"@babel/plugin-proposal-function-bind@7.12.1": + version "7.12.1" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-function-bind/-/plugin-proposal-function-bind-7.12.1.tgz#8b891b412ffbc8e8ff3fd4df67b8d4bbe5947004" + integrity sha512-Nic0blOXoeyuDJZJNh7kEZMqQUHakiUyxfyFMUV0Sy7DQ+Du9R7cZCUgTLnqq7Bc0Yx0iKRSe5wTmRWLKwxxpA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-function-bind" "^7.12.1" + "@babel/plugin-proposal-json-strings@^7.10.4", "@babel/plugin-proposal-json-strings@^7.12.1", "@babel/plugin-proposal-json-strings@^7.2.0": version "7.12.1" resolved "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz#d45423b517714eedd5621a9dfdc03fa9f4eb241c" @@ -442,7 +480,7 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-proposal-logical-assignment-operators@^7.12.1": +"@babel/plugin-proposal-logical-assignment-operators@7.12.1", "@babel/plugin-proposal-logical-assignment-operators@^7.12.1": version "7.12.1" resolved "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz#f2c490d36e1b3c9659241034a5d2cd50263a2751" integrity sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA== @@ -458,6 +496,14 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" +"@babel/plugin-proposal-nullish-coalescing-operator@7.12.1", "@babel/plugin-proposal-nullish-coalescing-operator@^7.10.4", "@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1": + version "7.12.1" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz#3ed4fff31c015e7f3f1467f190dbe545cd7b046c" + integrity sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/plugin-proposal-nullish-coalescing-operator@7.7.4": version "7.7.4" resolved "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.7.4.tgz#7db302c83bc30caa89e38fee935635ef6bd11c28" @@ -466,14 +512,6 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.7.4" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.10.4", "@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz#3ed4fff31c015e7f3f1467f190dbe545cd7b046c" - integrity sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - "@babel/plugin-proposal-numeric-separator@^7.10.4", "@babel/plugin-proposal-numeric-separator@^7.12.1": version "7.12.1" resolved "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.1.tgz#0e2c6774c4ce48be412119b4d693ac777f7685a6" @@ -507,15 +545,7 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-optional-chaining" "^7.8.0" -"@babel/plugin-proposal-optional-chaining@7.7.4": - version "7.7.4" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.7.4.tgz#3f04c2de1a942cbd3008324df8144b9cbc0ca0ba" - integrity sha512-JmgaS+ygAWDR/STPe3/7y0lNlHgS+19qZ9aC06nYLwQ/XB7c0q5Xs+ksFU3EDnp9EiEsO0dnRAOKeyLHTZuW3A== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-optional-chaining" "^7.7.4" - -"@babel/plugin-proposal-optional-chaining@^7.10.4", "@babel/plugin-proposal-optional-chaining@^7.12.1": +"@babel/plugin-proposal-optional-chaining@7.12.1", "@babel/plugin-proposal-optional-chaining@^7.10.4", "@babel/plugin-proposal-optional-chaining@^7.12.1": version "7.12.1" resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.1.tgz#cce122203fc8a32794296fc377c6dedaf4363797" integrity sha512-c2uRpY6WzaVDzynVY9liyykS+kVU+WRZPMPYpkelXH8KBt1oXoI89kPbZKKG/jDT5UK92FTW2fZkZaJhdiBabw== @@ -524,6 +554,14 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" "@babel/plugin-syntax-optional-chaining" "^7.8.0" +"@babel/plugin-proposal-optional-chaining@7.7.4": + version "7.7.4" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.7.4.tgz#3f04c2de1a942cbd3008324df8144b9cbc0ca0ba" + integrity sha512-JmgaS+ygAWDR/STPe3/7y0lNlHgS+19qZ9aC06nYLwQ/XB7c0q5Xs+ksFU3EDnp9EiEsO0dnRAOKeyLHTZuW3A== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-optional-chaining" "^7.7.4" + "@babel/plugin-proposal-pipeline-operator@7.10.4": version "7.10.4" resolved "https://registry.npmjs.org/@babel/plugin-proposal-pipeline-operator/-/plugin-proposal-pipeline-operator-7.10.4.tgz#14d76c110409416f84c520d8a617bbe7f6a754dc" @@ -532,6 +570,14 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-pipeline-operator" "^7.10.4" +"@babel/plugin-proposal-pipeline-operator@7.12.1": + version "7.12.1" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-pipeline-operator/-/plugin-proposal-pipeline-operator-7.12.1.tgz#4bd377bc7e5be92f22f1c08b3f3963636bd8f4a1" + integrity sha512-iloNp4xu8YV8e/mZgGjePg9be1VkJSxQWIplRwgQtQPtF26ar3cHXL4sV8Fujlm2mm/Tu/WiA+FU+Fp7QVP7/g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-pipeline-operator" "^7.12.1" + "@babel/plugin-proposal-private-methods@^7.10.4", "@babel/plugin-proposal-private-methods@^7.12.1": version "7.12.1" resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz#86814f6e7a21374c980c10d38b4493e703f4a389" @@ -569,7 +615,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-do-expressions@^7.10.4", "@babel/plugin-syntax-do-expressions@^7.2.0": +"@babel/plugin-syntax-do-expressions@^7.10.4", "@babel/plugin-syntax-do-expressions@^7.12.1", "@babel/plugin-syntax-do-expressions@^7.2.0": version "7.12.1" resolved "https://registry.npmjs.org/@babel/plugin-syntax-do-expressions/-/plugin-syntax-do-expressions-7.12.1.tgz#6b83dfab79540b66912b559860ce6d4be4f7d960" integrity sha512-a9TknRXkzfetNjOWSWnPIG/Y7x+elzcmKng2Qpvh8QaqdPo0OABizTjco8YO8r5xZNQfE58YHq7lWR+PKwHyxg== @@ -583,14 +629,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-syntax-dynamic-import@^7.2.0", "@babel/plugin-syntax-dynamic-import@^7.8.0": +"@babel/plugin-syntax-dynamic-import@^7.8.0": version "7.8.3" resolved "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-export-default-from@^7.10.4", "@babel/plugin-syntax-export-default-from@^7.2.0": +"@babel/plugin-syntax-export-default-from@^7.10.4", "@babel/plugin-syntax-export-default-from@^7.12.1", "@babel/plugin-syntax-export-default-from@^7.2.0": version "7.12.1" resolved "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.12.1.tgz#a9eb31881f4f9a1115a3d2c6d64ac3f6016b5a9d" integrity sha512-dP5eGg6tHEkhnRD2/vRG/KJKRSg8gtxu2i+P/8/yFPJn/CfPU5G0/7Gks2i3M6IOVAPQekmsLN9LPsmXFFL4Uw== @@ -604,7 +650,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-function-bind@^7.10.4": +"@babel/plugin-syntax-function-bind@^7.10.4", "@babel/plugin-syntax-function-bind@^7.12.1": version "7.12.1" resolved "https://registry.npmjs.org/@babel/plugin-syntax-function-bind/-/plugin-syntax-function-bind-7.12.1.tgz#1e15da3e568c96dabe21579f2d66821db98aafcc" integrity sha512-YN14nxb0Q3/M7AUDnwnjFYpUylysfZ4KY/byhIz5PN7JyMJldjuUS+UmV7bOL6crQ0M69tuoevD/AlOveDeyMQ== @@ -667,7 +713,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-pipeline-operator@^7.10.4": +"@babel/plugin-syntax-pipeline-operator@^7.10.4", "@babel/plugin-syntax-pipeline-operator@^7.12.1": version "7.12.1" resolved "https://registry.npmjs.org/@babel/plugin-syntax-pipeline-operator/-/plugin-syntax-pipeline-operator-7.12.1.tgz#6186f1d5feb86d315a920a5056a86c991bf4b7f4" integrity sha512-NazCTl1P9Kp+790g7gDRQEvhU0+OYbZVsuW45ThfgVCdUyhtxzFJeFrzY6BX/u/NfFyXWbKAIl6wR0PhJWwyDA== @@ -681,7 +727,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-top-level-await@^7.10.4", "@babel/plugin-syntax-top-level-await@^7.12.1": +"@babel/plugin-syntax-top-level-await@7.12.1", "@babel/plugin-syntax-top-level-await@^7.10.4", "@babel/plugin-syntax-top-level-await@^7.12.1": version "7.12.1" resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz#dd6c0b357ac1bb142d98537450a319625d13d2a0" integrity sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A== @@ -753,7 +799,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-destructuring@^7.10.4", "@babel/plugin-transform-destructuring@^7.12.1", "@babel/plugin-transform-destructuring@^7.4.4": +"@babel/plugin-transform-destructuring@7.12.1", "@babel/plugin-transform-destructuring@^7.10.4", "@babel/plugin-transform-destructuring@^7.12.1", "@babel/plugin-transform-destructuring@^7.4.4": version "7.12.1" resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz#b9a570fe0d0a8d460116413cb4f97e8e08b2f847" integrity sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw== @@ -975,6 +1021,16 @@ resolve "^1.8.1" semver "^5.5.1" +"@babel/plugin-transform-runtime@7.12.1": + version "7.12.1" + resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.1.tgz#04b792057eb460389ff6a4198e377614ea1e7ba5" + integrity sha512-Ac/H6G9FEIkS2tXsZjL4RAdS3L3WHxci0usAnz7laPWUmFiGtj7tIASChqKZMHTSQTQY6xDbOq+V1/vIq3QrWg== + dependencies: + "@babel/helper-module-imports" "^7.12.1" + "@babel/helper-plugin-utils" "^7.10.4" + resolve "^1.8.1" + semver "^5.5.1" + "@babel/plugin-transform-runtime@7.4.4": version "7.4.4" resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.4.4.tgz#a50f5d16e9c3a4ac18a1a9f9803c107c380bce08" @@ -985,16 +1041,6 @@ resolve "^1.8.1" semver "^5.5.1" -"@babel/plugin-transform-runtime@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.1.tgz#04b792057eb460389ff6a4198e377614ea1e7ba5" - integrity sha512-Ac/H6G9FEIkS2tXsZjL4RAdS3L3WHxci0usAnz7laPWUmFiGtj7tIASChqKZMHTSQTQY6xDbOq+V1/vIq3QrWg== - dependencies: - "@babel/helper-module-imports" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - resolve "^1.8.1" - semver "^5.5.1" - "@babel/plugin-transform-shorthand-properties@^7.10.4", "@babel/plugin-transform-shorthand-properties@^7.12.1", "@babel/plugin-transform-shorthand-properties@^7.2.0": version "7.12.1" resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz#0bf9cac5550fce0cfdf043420f661d645fdc75e3" @@ -1032,7 +1078,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-typescript@^7.10.4", "@babel/plugin-transform-typescript@^7.3.2": +"@babel/plugin-transform-typescript@^7.10.4", "@babel/plugin-transform-typescript@^7.12.1", "@babel/plugin-transform-typescript@^7.3.2": version "7.12.1" resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.12.1.tgz#d92cc0af504d510e26a754a7dbc2e5c8cd9c7ab4" integrity sha512-VrsBByqAIntM+EYMqSm59SiMEf7qkmI9dqMt6RbD/wlwueWmYcI0FFK5Fj47pP6DRZm+3teXjosKlwcZJ5lIMw== @@ -1126,61 +1172,7 @@ levenary "^1.1.1" semver "^5.5.0" -"@babel/preset-env@7.4.5": - version "7.4.5" - resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.4.5.tgz#2fad7f62983d5af563b5f3139242755884998a58" - integrity sha512-f2yNVXM+FsR5V8UwcFeIHzHWgnhXg3NpRmy0ADvALpnhB0SLbCvrCRr4BLOUYbQNLS+Z0Yer46x9dJXpXewI7w== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-async-generator-functions" "^7.2.0" - "@babel/plugin-proposal-json-strings" "^7.2.0" - "@babel/plugin-proposal-object-rest-spread" "^7.4.4" - "@babel/plugin-proposal-optional-catch-binding" "^7.2.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-syntax-async-generators" "^7.2.0" - "@babel/plugin-syntax-json-strings" "^7.2.0" - "@babel/plugin-syntax-object-rest-spread" "^7.2.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" - "@babel/plugin-transform-arrow-functions" "^7.2.0" - "@babel/plugin-transform-async-to-generator" "^7.4.4" - "@babel/plugin-transform-block-scoped-functions" "^7.2.0" - "@babel/plugin-transform-block-scoping" "^7.4.4" - "@babel/plugin-transform-classes" "^7.4.4" - "@babel/plugin-transform-computed-properties" "^7.2.0" - "@babel/plugin-transform-destructuring" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" - "@babel/plugin-transform-duplicate-keys" "^7.2.0" - "@babel/plugin-transform-exponentiation-operator" "^7.2.0" - "@babel/plugin-transform-for-of" "^7.4.4" - "@babel/plugin-transform-function-name" "^7.4.4" - "@babel/plugin-transform-literals" "^7.2.0" - "@babel/plugin-transform-member-expression-literals" "^7.2.0" - "@babel/plugin-transform-modules-amd" "^7.2.0" - "@babel/plugin-transform-modules-commonjs" "^7.4.4" - "@babel/plugin-transform-modules-systemjs" "^7.4.4" - "@babel/plugin-transform-modules-umd" "^7.2.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.4.5" - "@babel/plugin-transform-new-target" "^7.4.4" - "@babel/plugin-transform-object-super" "^7.2.0" - "@babel/plugin-transform-parameters" "^7.4.4" - "@babel/plugin-transform-property-literals" "^7.2.0" - "@babel/plugin-transform-regenerator" "^7.4.5" - "@babel/plugin-transform-reserved-words" "^7.2.0" - "@babel/plugin-transform-shorthand-properties" "^7.2.0" - "@babel/plugin-transform-spread" "^7.2.0" - "@babel/plugin-transform-sticky-regex" "^7.2.0" - "@babel/plugin-transform-template-literals" "^7.4.4" - "@babel/plugin-transform-typeof-symbol" "^7.2.0" - "@babel/plugin-transform-unicode-regex" "^7.4.4" - "@babel/types" "^7.4.4" - browserslist "^4.6.0" - core-js-compat "^3.1.1" - invariant "^2.2.2" - js-levenshtein "^1.1.3" - semver "^5.5.0" - -"@babel/preset-env@^7.12.1", "@babel/preset-env@^7.4.5": +"@babel/preset-env@7.12.1", "@babel/preset-env@^7.4.5": version "7.12.1" resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.1.tgz#9c7e5ca82a19efc865384bb4989148d2ee5d7ac2" integrity sha512-H8kxXmtPaAGT7TyBvSSkoSTUK6RHh61So05SyEbpmr0MCZrsNYn7mGMzzeYoOUCdHzww61k8XBft2TaES+xPLg== @@ -1252,6 +1244,60 @@ core-js-compat "^3.6.2" semver "^5.5.0" +"@babel/preset-env@7.4.5": + version "7.4.5" + resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.4.5.tgz#2fad7f62983d5af563b5f3139242755884998a58" + integrity sha512-f2yNVXM+FsR5V8UwcFeIHzHWgnhXg3NpRmy0ADvALpnhB0SLbCvrCRr4BLOUYbQNLS+Z0Yer46x9dJXpXewI7w== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-async-generator-functions" "^7.2.0" + "@babel/plugin-proposal-json-strings" "^7.2.0" + "@babel/plugin-proposal-object-rest-spread" "^7.4.4" + "@babel/plugin-proposal-optional-catch-binding" "^7.2.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" + "@babel/plugin-syntax-async-generators" "^7.2.0" + "@babel/plugin-syntax-json-strings" "^7.2.0" + "@babel/plugin-syntax-object-rest-spread" "^7.2.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" + "@babel/plugin-transform-arrow-functions" "^7.2.0" + "@babel/plugin-transform-async-to-generator" "^7.4.4" + "@babel/plugin-transform-block-scoped-functions" "^7.2.0" + "@babel/plugin-transform-block-scoping" "^7.4.4" + "@babel/plugin-transform-classes" "^7.4.4" + "@babel/plugin-transform-computed-properties" "^7.2.0" + "@babel/plugin-transform-destructuring" "^7.4.4" + "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/plugin-transform-duplicate-keys" "^7.2.0" + "@babel/plugin-transform-exponentiation-operator" "^7.2.0" + "@babel/plugin-transform-for-of" "^7.4.4" + "@babel/plugin-transform-function-name" "^7.4.4" + "@babel/plugin-transform-literals" "^7.2.0" + "@babel/plugin-transform-member-expression-literals" "^7.2.0" + "@babel/plugin-transform-modules-amd" "^7.2.0" + "@babel/plugin-transform-modules-commonjs" "^7.4.4" + "@babel/plugin-transform-modules-systemjs" "^7.4.4" + "@babel/plugin-transform-modules-umd" "^7.2.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.4.5" + "@babel/plugin-transform-new-target" "^7.4.4" + "@babel/plugin-transform-object-super" "^7.2.0" + "@babel/plugin-transform-parameters" "^7.4.4" + "@babel/plugin-transform-property-literals" "^7.2.0" + "@babel/plugin-transform-regenerator" "^7.4.5" + "@babel/plugin-transform-reserved-words" "^7.2.0" + "@babel/plugin-transform-shorthand-properties" "^7.2.0" + "@babel/plugin-transform-spread" "^7.2.0" + "@babel/plugin-transform-sticky-regex" "^7.2.0" + "@babel/plugin-transform-template-literals" "^7.4.4" + "@babel/plugin-transform-typeof-symbol" "^7.2.0" + "@babel/plugin-transform-unicode-regex" "^7.4.4" + "@babel/types" "^7.4.4" + browserslist "^4.6.0" + core-js-compat "^3.1.1" + invariant "^2.2.2" + js-levenshtein "^1.1.3" + semver "^5.5.0" + "@babel/preset-modules@^0.1.3": version "0.1.4" resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e" @@ -1287,7 +1333,7 @@ "@babel/plugin-transform-react-jsx-source" "^7.10.4" "@babel/plugin-transform-react-pure-annotations" "^7.10.4" -"@babel/preset-react@^7.0.0": +"@babel/preset-react@7.12.1", "@babel/preset-react@^7.0.0": version "7.12.1" resolved "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.12.1.tgz#7f022b13f55b6dd82f00f16d1c599ae62985358c" integrity sha512-euCExymHCi0qB9u5fKw7rvlw7AZSjw/NaB9h7EkdTt5+yHRrXdiRTh7fkG3uBPpJg82CqLfp1LHLqWGSCrab+g== @@ -1308,6 +1354,14 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-transform-typescript" "^7.10.4" +"@babel/preset-typescript@7.12.1": + version "7.12.1" + resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.12.1.tgz#86480b483bb97f75036e8864fe404cc782cc311b" + integrity sha512-hNK/DhmoJPsksdHuI/RVrcEws7GN5eamhi28JkO52MqIxU8Z0QpmiSOQxZHWOHV7I3P4UjHV97ay4TcamMA6Kw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-transform-typescript" "^7.12.1" + "@babel/preset-typescript@7.3.3": version "7.3.3" resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.3.3.tgz#88669911053fa16b2b276ea2ede2ca603b3f307a" @@ -1327,6 +1381,17 @@ pirates "^4.0.0" source-map-support "^0.5.16" +"@babel/register@7.12.1", "@babel/register@^7.12.1": + version "7.12.1" + resolved "https://registry.npmjs.org/@babel/register/-/register-7.12.1.tgz#cdb087bdfc4f7241c03231f22e15d211acf21438" + integrity sha512-XWcmseMIncOjoydKZnWvWi0/5CUCD+ZYKhRwgYlWOrA8fGZ/FjuLRpqtIhLOVD/fvR1b9DQHtZPn68VvhpYf+Q== + dependencies: + find-cache-dir "^2.0.0" + lodash "^4.17.19" + make-dir "^2.1.0" + pirates "^4.0.0" + source-map-support "^0.5.16" + "@babel/register@7.4.4": version "7.4.4" resolved "https://registry.npmjs.org/@babel/register/-/register-7.4.4.tgz#370a68ba36f08f015a8b35d4864176c6b65d7a23" @@ -1339,18 +1404,7 @@ pirates "^4.0.0" source-map-support "^0.5.9" -"@babel/register@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/register/-/register-7.12.1.tgz#cdb087bdfc4f7241c03231f22e15d211acf21438" - integrity sha512-XWcmseMIncOjoydKZnWvWi0/5CUCD+ZYKhRwgYlWOrA8fGZ/FjuLRpqtIhLOVD/fvR1b9DQHtZPn68VvhpYf+Q== - dependencies: - find-cache-dir "^2.0.0" - lodash "^4.17.19" - make-dir "^2.1.0" - pirates "^4.0.0" - source-map-support "^0.5.16" - -"@babel/runtime-corejs3@^7.11.2", "@babel/runtime-corejs3@^7.12.1": +"@babel/runtime-corejs3@^7.11.2": version "7.12.1" resolved "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.12.1.tgz#51b9092befbeeed938335a109dbe0df51451e9dc" integrity sha512-umhPIcMrlBZ2aTWlWjUseW9LjQKxi1dpFlQS8DzsxB//5K+u6GLTC/JliPKHsd5kJVPIU6X/Hy0YvWOYPcMxBw== @@ -1365,7 +1419,14 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.8.4": +"@babel/runtime@7.12.5": + version "7.12.5" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e" + integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/runtime@^7.0.0", "@babel/runtime@^7.11.2", "@babel/runtime@^7.8.4": version "7.12.1" resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.1.tgz#b4116a6b6711d010b2dad3b7b6e43bf1b9954740" integrity sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA== @@ -1405,8 +1466,23 @@ "@babel/generator" "^7.11.5" "@babel/helper-function-name" "^7.10.4" "@babel/helper-split-export-declaration" "^7.11.0" - "@babel/parser" "^7.11.5" - "@babel/types" "^7.11.5" + "@babel/parser" "^7.11.5" + "@babel/types" "^7.11.5" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.19" + +"@babel/traverse@7.12.5": + version "7.12.5" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.5.tgz#78a0c68c8e8a35e4cacfd31db8bb303d5606f095" + integrity sha512-xa15FbQnias7z9a62LwYAA5SZZPkHIXpd42C6uW68o8uTuua96FHZy1y61Va5P/i83FAAcMpW8+A/QayntzuqA== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.12.5" + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.11.0" + "@babel/parser" "^7.12.5" + "@babel/types" "^7.12.5" debug "^4.1.0" globals "^11.1.0" lodash "^4.17.19" @@ -1435,6 +1511,15 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" +"@babel/types@7.12.6", "@babel/types@^7.12.5": + version "7.12.6" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.12.6.tgz#ae0e55ef1cce1fbc881cd26f8234eb3e657edc96" + integrity sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + lodash "^4.17.19" + to-fast-properties "^2.0.0" + "@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.11.5", "@babel/types@^7.12.0", "@babel/types@^7.12.1", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0": version "7.12.1" resolved "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz#e109d9ab99a8de735be287ee3d6a9947a190c4ae" @@ -1580,6 +1665,11 @@ resolved "https://registry.npmjs.org/@commitlint/types/-/types-11.0.0.tgz#719cf05fcc1abb6533610a2e0f5dd1e61eac14fe" integrity sha512-VoNqai1vR5anRF5Tuh/+SWDFk7xi7oMwHrHrbm1BprYXjB2RJsWLhUrStMssDxEl5lW/z3EUdg8RvH/IUBccSQ== +"@csstools/convert-colors@^1.4.0": + version "1.4.0" + resolved "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7" + integrity sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw== + "@evocateur/libnpmaccess@^3.1.2": version "3.1.2" resolved "https://registry.npmjs.org/@evocateur/libnpmaccess/-/libnpmaccess-3.1.2.tgz#ecf7f6ce6b004e9f942b098d92200be4a4b1c845" @@ -1654,11 +1744,49 @@ unique-filename "^1.1.1" which "^1.3.1" +"@hapi/address@^2.1.2": + version "2.1.4" + resolved "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5" + integrity sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ== + +"@hapi/formula@^1.2.0": + version "1.2.0" + resolved "https://registry.npmjs.org/@hapi/formula/-/formula-1.2.0.tgz#994649c7fea1a90b91a0a1e6d983523f680e10cd" + integrity sha512-UFbtbGPjstz0eWHb+ga/GM3Z9EzqKXFWIbSOFURU0A/Gku0Bky4bCk9/h//K2Xr3IrCfjFNhMm4jyZ5dbCewGA== + +"@hapi/hoek@^8.2.4", "@hapi/hoek@^8.3.0": + version "8.5.1" + resolved "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz#fde96064ca446dec8c55a8c2f130957b070c6e06" + integrity sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow== + "@hapi/hoek@^9.0.0": version "9.1.0" resolved "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.1.0.tgz#6c9eafc78c1529248f8f4d92b0799a712b6052c6" integrity sha512-i9YbZPN3QgfighY/1X1Pu118VUz2Fmmhd6b2n0/O8YVgGGfw0FbUYoA97k7FkpGJ+pLCFEDLUmAPPV4D1kpeFw== +"@hapi/joi@16.1.8": + version "16.1.8" + resolved "https://registry.npmjs.org/@hapi/joi/-/joi-16.1.8.tgz#84c1f126269489871ad4e2decc786e0adef06839" + integrity sha512-wAsVvTPe+FwSrsAurNt5vkg3zo+TblvC5Bb1zMVK6SJzZqw9UrJnexxR+76cpePmtUZKHAPxcQ2Bf7oVHyahhg== + dependencies: + "@hapi/address" "^2.1.2" + "@hapi/formula" "^1.2.0" + "@hapi/hoek" "^8.2.4" + "@hapi/pinpoint" "^1.0.2" + "@hapi/topo" "^3.1.3" + +"@hapi/pinpoint@^1.0.2": + version "1.0.2" + resolved "https://registry.npmjs.org/@hapi/pinpoint/-/pinpoint-1.0.2.tgz#025b7a36dbbf4d35bf1acd071c26b20ef41e0d13" + integrity sha512-dtXC/WkZBfC5vxscazuiJ6iq4j9oNx1SHknmIr8hofarpKUZKmlUVYVIhNVzIEgK5Wrc4GMHL5lZtt1uS2flmQ== + +"@hapi/topo@^3.1.3": + version "3.1.6" + resolved "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz#68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29" + integrity sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ== + dependencies: + "@hapi/hoek" "^8.3.0" + "@hapi/topo@^5.0.0": version "5.0.0" resolved "https://registry.npmjs.org/@hapi/topo/-/topo-5.0.0.tgz#c19af8577fa393a06e9c77b60995af959be721e7" @@ -1666,15 +1794,6 @@ dependencies: "@hapi/hoek" "^9.0.0" -"@intervolga/optimize-cssnano-plugin@^1.0.6": - version "1.0.6" - resolved "https://registry.npmjs.org/@intervolga/optimize-cssnano-plugin/-/optimize-cssnano-plugin-1.0.6.tgz#be7c7846128b88f6a9b1d1261a0ad06eb5c0fdf8" - integrity sha512-zN69TnSr0viRSU6cEDIcuPcP67QcpQ6uHACg58FiN9PDrU6SLyGW3MR4tiISbYxy1kDWAVPwD+XwQTWE5cigAA== - dependencies: - cssnano "^4.0.0" - cssnano-preset-default "^4.0.0" - postcss "^7.0.0" - "@lerna/add@3.21.0": version "3.21.0" resolved "https://registry.npmjs.org/@lerna/add/-/add-3.21.0.tgz#27007bde71cc7b0a2969ab3c2f0ae41578b4577b" @@ -2368,11 +2487,32 @@ call-me-maybe "^1.0.1" glob-to-regexp "^0.3.0" +"@nodelib/fs.scandir@2.1.3": + version "2.1.3" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" + integrity sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw== + dependencies: + "@nodelib/fs.stat" "2.0.3" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2": + version "2.0.3" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3" + integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA== + "@nodelib/fs.stat@^1.1.2": version "1.1.3" resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== +"@nodelib/fs.walk@^1.2.3": + version "1.2.4" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976" + integrity sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ== + dependencies: + "@nodelib/fs.scandir" "2.1.3" + fastq "^1.6.0" + "@npmcli/move-file@^1.0.1": version "1.0.1" resolved "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.0.1.tgz#de103070dac0f48ce49cf6693c23af59c0f70464" @@ -2511,15 +2651,6 @@ resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== -"@soda/friendly-errors-webpack-plugin@^1.7.1": - version "1.7.1" - resolved "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.1.tgz#706f64bcb4a8b9642b48ae3ace444c70334d615d" - integrity sha512-cWKrGaFX+rfbMrAxVv56DzhPNqOJPZuNIS2HGMELtgGzb+vsMzyig9mml5gZ/hr2BGtSLV+dP2LUEuAL8aG2mQ== - dependencies: - chalk "^1.1.3" - error-stack-parser "^2.0.0" - string-width "^2.0.0" - "@svgr/babel-plugin-add-jsx-attribute@^4.2.0": version "4.2.0" resolved "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz#dadcb6218503532d6884b210e7f3c502caaa44b1" @@ -2649,6 +2780,14 @@ resolved "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA== +"@types/body-parser@*": + version "1.19.0" + resolved "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz#0685b3c47eb3006ffed117cdd55164b61f80538f" + integrity sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ== + dependencies: + "@types/connect" "*" + "@types/node" "*" + "@types/cheerio@0.22.21": version "0.22.21" resolved "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.21.tgz#5e37887de309ba11b2e19a6e14cad7874b31a8a3" @@ -2675,6 +2814,20 @@ dependencies: "@types/color-convert" "*" +"@types/compression@1.7.0": + version "1.7.0" + resolved "https://registry.npmjs.org/@types/compression/-/compression-1.7.0.tgz#8dc2a56604873cf0dd4e746d9ae4d31ae77b2390" + integrity sha512-3LzWUM+3k3XdWOUk/RO+uSjv7YWOatYq2QADJntK1pjkk4DfVP0KrIEPDnXRJxAAGKe0VpIPRmlINLDuCedZWw== + dependencies: + "@types/express" "*" + +"@types/connect@*": + version "3.4.33" + resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.33.tgz#31610c901eca573b8713c3330abc6e6b9f588546" + integrity sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A== + dependencies: + "@types/node" "*" + "@types/cross-spawn@6.0.2": version "6.0.2" resolved "https://registry.npmjs.org/@types/cross-spawn/-/cross-spawn-6.0.2.tgz#168309de311cd30a2b8ae720de6475c2fbf33ac7" @@ -2687,11 +2840,45 @@ resolved "https://registry.npmjs.org/@types/debug/-/debug-4.1.5.tgz#b14efa8852b7768d898906613c23f688713e02cd" integrity sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ== +"@types/ejs@3.0.4": + version "3.0.4" + resolved "https://registry.npmjs.org/@types/ejs/-/ejs-3.0.4.tgz#8851fcdedb96e410fbb24f83b8be6763ef9afa77" + integrity sha512-ZxnwyBGO4KX/82AsFHTX82eMw0PsoBcIngEat+zx0y+3yxoNDJucAihg9nAcrc+g4Cwiv/4WcWsX4oiy0ySrRQ== + "@types/estree@*": version "0.0.45" resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.45.tgz#e9387572998e5ecdac221950dab3e8c3b16af884" integrity sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g== +"@types/express-serve-static-core@*": + version "4.17.13" + resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.13.tgz#d9af025e925fc8b089be37423b8d1eac781be084" + integrity sha512-RgDi5a4nuzam073lRGKTUIaL3eF2+H7LJvJ8eUnCI0wA6SNjXc44DCmWNiTLs/AZ7QlsFWZiw/gTG3nSQGL0fA== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + +"@types/express@*": + version "4.17.9" + resolved "https://registry.npmjs.org/@types/express/-/express-4.17.9.tgz#f5f2df6add703ff28428add52bdec8a1091b0a78" + integrity sha512-SDzEIZInC4sivGIFY4Sz1GG6J9UObPwCInYJjko2jzOf/Imx/dlpume6Xxwj1ORL82tBbmN4cPDIDkLbWHk9hw== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "*" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/express@4.17.7": + version "4.17.7" + resolved "https://registry.npmjs.org/@types/express/-/express-4.17.7.tgz#42045be6475636d9801369cd4418ef65cdb0dd59" + integrity sha512-dCOT5lcmV/uC2J9k0rPafATeeyz+99xTt54ReX11/LObZgfzJqZNcW27zGhYyX+9iSEGXGt5qLPwRSvBZcLvtQ== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "*" + "@types/qs" "*" + "@types/serve-static" "*" + "@types/glob@*", "@types/glob@7.1.3", "@types/glob@^7.1.1": version "7.1.3" resolved "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" @@ -2709,7 +2896,19 @@ "@types/tough-cookie" "*" form-data "^2.5.0" -"@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6": +"@types/hapi__joi@16.0.12": + version "16.0.12" + resolved "https://registry.npmjs.org/@types/hapi__joi/-/hapi__joi-16.0.12.tgz#fb9113f17cf5764d6b3586ae9817d1606cc7c90c" + integrity sha512-xJYifuz59jXdWY5JMS15uvA3ycS3nQYOGqoIIE0+fwQ0qI3/4CxBc6RHsOTp6wk9M0NWEdpcTl02lOQOKMifbQ== + +"@types/http-proxy@^1.17.4": + version "1.17.4" + resolved "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.4.tgz#e7c92e3dbe3e13aa799440ff42e6d3a17a9d045b" + integrity sha512-IrSHl2u6AWXduUaDLqYpt45tLVCtYv7o4Z0s1KghBCDgIIS9oW5K1H8mZG/A2CfeLdEa7rTd1ACOiHBc1EMT2Q== + dependencies: + "@types/node" "*" + +"@types/json-schema@^7.0.5": version "7.0.6" resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== @@ -2724,6 +2923,31 @@ resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.161.tgz#a21ca0777dabc6e4f44f3d07f37b765f54188b18" integrity sha512-EP6O3Jkr7bXvZZSZYlsgt5DIjiGr0dXP1/jVEwVLTFgg0d+3lWVQkRavYVQszV7dYUwvg0B8R0MBDpcmXg7XIA== +"@types/marked-terminal@^3.1.1": + version "3.1.1" + resolved "https://registry.npmjs.org/@types/marked-terminal/-/marked-terminal-3.1.1.tgz#130214af1afafda611f69e8528c07230a00b32b2" + integrity sha512-nufBv756I0NrRQl0HjCRYycgLz3OcZRm/AMGufmWTEKO22XDWpiTuPwtAWXVj9BY51njLWKkhM9QSCId93M+1Q== + dependencies: + "@types/marked" "*" + chalk "^2.4.1" + +"@types/marked@*", "@types/marked@^1.1.0": + version "1.1.0" + resolved "https://registry.npmjs.org/@types/marked/-/marked-1.1.0.tgz#53509b5f127e0c05c19176fcf1d743a41e00ff19" + integrity sha512-j8XXj6/l9kFvCwMyVqozznqpd/nk80krrW+QiIJN60Uu9gX5Pvn4/qPJ2YngQrR3QREPwmrE1f9/EWKVTFzoEw== + +"@types/memory-fs@*": + version "0.3.2" + resolved "https://registry.npmjs.org/@types/memory-fs/-/memory-fs-0.3.2.tgz#5d4753f9b390cb077c8c8af97bc96463399ceccd" + integrity sha512-j5AcZo7dbMxHoOimcHEIh0JZe5e1b8q8AqGSpZJrYc7xOgCIP79cIjTdx5jSDLtySnQDwkDTqwlC7Xw7uXw7qg== + dependencies: + "@types/node" "*" + +"@types/mime@*": + version "2.0.3" + resolved "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz#c893b73721db73699943bfc3653b1deb7faa4a3a" + integrity sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q== + "@types/minimatch@*": version "3.0.3" resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" @@ -2751,6 +2975,11 @@ resolved "https://registry.npmjs.org/@types/node/-/node-14.14.6.tgz#146d3da57b3c636cc0d1769396ce1cfa8991147f" integrity sha512-6QlRuqsQ/Ox/aJEQWBEJG7A9+u7oSYl3mem/K8IzxXG/kAGbV1YPD9Bg9Zw3vyxC/YP+zONKwy8hGkSt1jxFMw== +"@types/node@14.0.23": + version "14.0.23" + resolved "https://registry.npmjs.org/@types/node/-/node-14.0.23.tgz#676fa0883450ed9da0bb24156213636290892806" + integrity sha512-Z4U8yDAl5TFkmYsZdFPdjeMa57NOvnaf1tljHzhouaPEp7LCj2JKkejpI1ODviIAQuW4CcQmxkQ77rnLsOOoKw== + "@types/normalize-package-data@^2.4.0": version "2.4.0" resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" @@ -2761,11 +2990,26 @@ resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== +"@types/prettier@2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.0.tgz#5f96562c1075ee715a5b138f0b7f591c1f40f6b8" + integrity sha512-hiYA88aHiEIgDmeKlsyVsuQdcFn3Z2VuFd/Xm/HCnGnPD8UFU5BM128uzzRVVGEzKDKYUrRsRH9S2o+NUy/3IA== + "@types/q@^1.5.1": version "1.5.4" resolved "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24" integrity sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug== +"@types/qs@*": + version "6.9.5" + resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.5.tgz#434711bdd49eb5ee69d90c1d67c354a9a8ecb18b" + integrity sha512-/JHkVHtx/REVG0VVToGRGH2+23hsYLHdyG+GrvoUGlGAd0ErauXDyvHtRI/7H7mzLm+tBCKA7pfcpkQ1lf58iQ== + +"@types/range-parser@*": + version "1.2.3" + resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c" + integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA== + "@types/resolve@0.0.8": version "0.0.8" resolved "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194" @@ -2793,6 +3037,14 @@ resolved "https://registry.npmjs.org/@types/semver/-/semver-7.3.3.tgz#3ad6ed949e7487e7bda6f886b4a2434a2c3d7b1a" integrity sha512-jQxClWFzv9IXdLdhSaTf16XI3NYe6zrEbckSpb5xhKfPbWgIyAY0AFyWWWfaiDcBuj3UHmMkCIwSRqpKMTZL2Q== +"@types/serve-static@*": + version "1.13.7" + resolved "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.7.tgz#e51b51a0becda910f9fd04c718044da69d6c492e" + integrity sha512-3diZWucbR+xTmbDlU+FRRxBf+31OhFew7cJXML/zh9NmvSPTNoFecAwHB66BUqFgENJtqMiyl7JAwUE/siqdLw== + dependencies: + "@types/mime" "*" + "@types/node" "*" + "@types/signale@1.4.1": version "1.4.1" resolved "https://registry.npmjs.org/@types/signale/-/signale-1.4.1.tgz#6137a6fd7960b48703dd2793c5b795480368b246" @@ -2800,12 +3052,31 @@ dependencies: "@types/node" "*" +"@types/sockjs-client@1.1.1": + version "1.1.1" + resolved "https://registry.npmjs.org/@types/sockjs-client/-/sockjs-client-1.1.1.tgz#1ef133b5a79d51447a93ce16164706c0164b5548" + integrity sha512-DaTdN4kfPNxu0otmQlxhmYeCjtY8cHmJsU6LqiFOrhytIkx8Txq06PwAWYzha7nMkEyju44a3NDpqCKiHn/NZQ== + +"@types/sockjs@0.3.32": + version "0.3.32" + resolved "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.32.tgz#922cdb2f16bf0387410414407df93a55a884c1a8" + integrity sha512-KivrihaB55i/6fzR7vvE7XdpYTEAvP7I1/pJeq2bev2lJlb2SY8+3c5Nz3ICrRroehV3GezLK96B05Kx9+d0DA== + dependencies: + "@types/node" "*" + "@types/source-list-map@*": version "0.1.2" resolved "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== -"@types/tapable@*": +"@types/spdy@3.4.4": + version "3.4.4" + resolved "https://registry.npmjs.org/@types/spdy/-/spdy-3.4.4.tgz#3282fd4ad8c4603aa49f7017dd520a08a345b2bc" + integrity sha512-N9LBlbVRRYq6HgYpPkqQc3a9HJ/iEtVZToW6xlTtJiMhmRJ7jJdV7TaZQJw/Ve/1ePUsQiCTDc4JMuzzag94GA== + dependencies: + "@types/node" "*" + +"@types/tapable@*", "@types/tapable@1.0.6": version "1.0.6" resolved "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.6.tgz#a9ca4b70a18b270ccb2bc0aaafefd1d486b7ea74" integrity sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA== @@ -2822,6 +3093,23 @@ dependencies: source-map "^0.6.1" +"@types/webpack-bundle-analyzer@3.8.0": + version "3.8.0" + resolved "https://registry.npmjs.org/@types/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.8.0.tgz#d1f196f95159254f76a3c2283c4677585bdf354d" + integrity sha512-Ah6FbkXLAVUNI/ExXHsTS90iRS/Efplh333NySjhGx09oeH9qXf57NMUfl4RADTL5a89hQaq/nbT4eb0LwsQJw== + dependencies: + "@types/webpack" "*" + +"@types/webpack-dev-middleware@3.7.2": + version "3.7.2" + resolved "https://registry.npmjs.org/@types/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz#31030c7cca7f98d56debfd859bb57f9040f0d3c5" + integrity sha512-PvETiS//pjVZBK48aJfbxzT7+9LIxanbnk9eXXYUfefGyPdsCkNrMDxRlOVrBvxukXUhD5B6N/pkPMdWrtuFkA== + dependencies: + "@types/connect" "*" + "@types/memory-fs" "*" + "@types/webpack" "*" + loglevel "^1.6.2" + "@types/webpack-sources@*": version "2.0.0" resolved "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-2.0.0.tgz#08216ab9be2be2e1499beaebc4d469cec81e82a7" @@ -2831,10 +3119,34 @@ "@types/source-list-map" "*" source-map "^0.7.3" -"@types/webpack@^4.4.31": - version "4.41.24" - resolved "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.24.tgz#75b664abe3d5bcfe54e64313ca3b43e498550422" - integrity sha512-1A0MXPwZiMOD3DPMuOKUKcpkdPo8Lq33UGggZ7xio6wJ/jV1dAu5cXDrOfGDnldUroPIRLsr/DT43/GqOA4RFQ== +"@types/webpack@*": + version "4.41.25" + resolved "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.25.tgz#4d3b5aecc4e44117b376280fbfd2dc36697968c4" + integrity sha512-cr6kZ+4m9lp86ytQc1jPOJXgINQyz3kLLunZ57jznW+WIAL0JqZbGubQk4GlD42MuQL5JGOABrxdpqqWeovlVQ== + dependencies: + "@types/anymatch" "*" + "@types/node" "*" + "@types/tapable" "*" + "@types/uglify-js" "*" + "@types/webpack-sources" "*" + source-map "^0.6.0" + +"@types/webpack@4.41.21": + version "4.41.21" + resolved "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.21.tgz#cc685b332c33f153bb2f5fc1fa3ac8adeb592dee" + integrity sha512-2j9WVnNrr/8PLAB5csW44xzQSJwS26aOnICsP3pSGCEdsu6KYtfQ6QJsVUKHWRnm1bL7HziJsfh5fHqth87yKA== + dependencies: + "@types/anymatch" "*" + "@types/node" "*" + "@types/tapable" "*" + "@types/uglify-js" "*" + "@types/webpack-sources" "*" + source-map "^0.6.0" + +"@types/webpack@4.41.22": + version "4.41.22" + resolved "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.22.tgz#ff9758a17c6bd499e459b91e78539848c32d0731" + integrity sha512-JQDJK6pj8OMV9gWOnN1dcLCyU9Hzs6lux0wBO4lr1+gyEhIBR9U3FMrz12t2GPkg110XAxEAw2WHF6g7nZIbRQ== dependencies: "@types/anymatch" "*" "@types/node" "*" @@ -2855,6 +3167,13 @@ dependencies: "@types/yargs-parser" "*" +"@umijs/ast@3.2.27": + version "3.2.27" + resolved "https://registry.npmjs.org/@umijs/ast/-/ast-3.2.27.tgz#4e6fd37b64ebb160f94f555a7db6d0a910250371" + integrity sha512-JpKYPGPpgOSM3jlq6ibc1obFpoEswVwwS373+b39PdjxRUNE9mCvjD9LiSVw7Vbd5mSQB8BBkJgr8bs/0/G1bA== + dependencies: + "@umijs/utils" "3.2.27" + "@umijs/babel-plugin-auto-css-modules@3.2.24": version "3.2.24" resolved "https://registry.npmjs.org/@umijs/babel-plugin-auto-css-modules/-/babel-plugin-auto-css-modules-3.2.24.tgz#13d25c1d7402fe529d92a77e76da5297a3c85829" @@ -2863,6 +3182,14 @@ "@babel/traverse" "7.10.4" "@umijs/utils" "3.2.24" +"@umijs/babel-plugin-auto-css-modules@3.2.27": + version "3.2.27" + resolved "https://registry.npmjs.org/@umijs/babel-plugin-auto-css-modules/-/babel-plugin-auto-css-modules-3.2.27.tgz#99b809c296d2b3ff33cdc2210d088e7ceb51beef" + integrity sha512-S5Fv0IURL0eHB3zZl7TvAihnXys/S6ddlVtqsHwhy2u8DC+d3phwWMJA3Yg1bddlJRL3qreaxzzvZ5+D35mBKw== + dependencies: + "@babel/traverse" "7.12.5" + "@umijs/utils" "3.2.27" + "@umijs/babel-plugin-import-to-await-require@3.2.24": version "3.2.24" resolved "https://registry.npmjs.org/@umijs/babel-plugin-import-to-await-require/-/babel-plugin-import-to-await-require-3.2.24.tgz#3c5e6ff41b4c38cd9049f2cdbb06152823e27f1e" @@ -2871,6 +3198,14 @@ "@babel/traverse" "7.10.4" "@umijs/utils" "3.2.24" +"@umijs/babel-plugin-import-to-await-require@3.2.27": + version "3.2.27" + resolved "https://registry.npmjs.org/@umijs/babel-plugin-import-to-await-require/-/babel-plugin-import-to-await-require-3.2.27.tgz#4d8e8dfbf41d4b673354548d7202cd068d827b81" + integrity sha512-kgSaOqvYv8laMrUYaMJwKVp6ElFilEZ8DsD68xEDBWNZhHqmc4JC/f30wO6/wMYpap6Mp55IijmvTjrJk1tkJQ== + dependencies: + "@babel/traverse" "7.12.5" + "@umijs/utils" "3.2.27" + "@umijs/babel-plugin-lock-core-js-3@3.2.24": version "3.2.24" resolved "https://registry.npmjs.org/@umijs/babel-plugin-lock-core-js-3/-/babel-plugin-lock-core-js-3-3.2.24.tgz#68134cac78244aad4fc782f4eaf8495575bd0712" @@ -2879,6 +3214,46 @@ "@umijs/utils" "3.2.24" core-js "3.6.5" +"@umijs/babel-plugin-lock-core-js-3@3.2.27": + version "3.2.27" + resolved "https://registry.npmjs.org/@umijs/babel-plugin-lock-core-js-3/-/babel-plugin-lock-core-js-3-3.2.27.tgz#f65ca95c738c21d35bf7f638ac39e696ed06d6ca" + integrity sha512-1zgZqawitGbzdikgHurQ3SYD8td7z8fa7GalhbTXNCjVNmJMM9IQYHMFbHlMou7tcl6Ho2yb1k1K25kQQBXbaw== + dependencies: + "@umijs/utils" "3.2.27" + core-js "3.6.5" + +"@umijs/babel-preset-umi@3.2.27": + version "3.2.27" + resolved "https://registry.npmjs.org/@umijs/babel-preset-umi/-/babel-preset-umi-3.2.27.tgz#605ea75a1ec97411d184d75712c7c2f357c8425d" + integrity sha512-b/IEBnL0XjLw6y0k1Nq9okGyhB6BgxvmjM2cr0KN+IPhElyPUfu6IscpR9U8aDizVDQqM4wyAc52ZKGUG0QgeQ== + dependencies: + "@babel/plugin-proposal-class-properties" "7.12.1" + "@babel/plugin-proposal-decorators" "7.12.1" + "@babel/plugin-proposal-do-expressions" "7.12.1" + "@babel/plugin-proposal-export-default-from" "7.12.1" + "@babel/plugin-proposal-function-bind" "7.12.1" + "@babel/plugin-proposal-logical-assignment-operators" "7.12.1" + "@babel/plugin-proposal-nullish-coalescing-operator" "7.12.1" + "@babel/plugin-proposal-optional-chaining" "7.12.1" + "@babel/plugin-proposal-pipeline-operator" "7.12.1" + "@babel/plugin-syntax-top-level-await" "7.12.1" + "@babel/plugin-transform-destructuring" "7.12.1" + "@babel/plugin-transform-runtime" "7.12.1" + "@babel/preset-env" "7.12.1" + "@babel/preset-react" "7.12.1" + "@babel/preset-typescript" "7.12.1" + "@babel/runtime" "7.12.5" + "@svgr/webpack" "4.3.3" + "@umijs/babel-plugin-auto-css-modules" "3.2.27" + "@umijs/babel-plugin-import-to-await-require" "3.2.27" + "@umijs/babel-plugin-lock-core-js-3" "3.2.27" + babel-plugin-dynamic-import-node "2.3.3" + babel-plugin-import "^1.13.1" + babel-plugin-named-asset-import "0.3.7" + babel-plugin-react-require "3.1.3" + babel-plugin-transform-react-remove-prop-types "0.4.24" + babel-plugin-transform-typescript-metadata "0.3.1" + "@umijs/babel-preset-umi@^3.2.24": version "3.2.24" resolved "https://registry.npmjs.org/@umijs/babel-preset-umi/-/babel-preset-umi-3.2.24.tgz#bf890b4eb25f9d034f7beb33ae36d8a052de4973" @@ -2911,6 +3286,126 @@ babel-plugin-transform-react-remove-prop-types "0.4.24" babel-plugin-transform-typescript-metadata "0.3.0" +"@umijs/bundler-utils@3.2.27": + version "3.2.27" + resolved "https://registry.npmjs.org/@umijs/bundler-utils/-/bundler-utils-3.2.27.tgz#76fbab4e43e866077590378ddab76c1cf0fc4f2d" + integrity sha512-W9v8UWdz9pv8XarjhmZJo+Vttag9p8+U+I5vYUtS0CO7czatBVeCfFzpAi9nu+tArTM3Jvknmq5XOuu1EuHbjA== + dependencies: + "@umijs/babel-preset-umi" "3.2.27" + "@umijs/types" "3.2.27" + "@umijs/utils" "3.2.27" + +"@umijs/bundler-webpack@^3.2.23": + version "3.2.27" + resolved "https://registry.npmjs.org/@umijs/bundler-webpack/-/bundler-webpack-3.2.27.tgz#ae4858fe17b4d1fedaab197312e246eaac1d58c9" + integrity sha512-C8A1FcOr49TMBKPzmgb3FBFNoJjggPVFqWnkZn+PCSQWzYynfjB7a6T6IgDunznmPSbGvv8mKFLFN2WSxOYOiA== + dependencies: + "@babel/core" "7.12.3" + "@types/sockjs-client" "1.1.1" + "@types/webpack" "4.41.22" + "@types/webpack-dev-middleware" "3.7.2" + "@umijs/bundler-utils" "3.2.27" + "@umijs/types" "3.2.27" + "@umijs/utils" "3.2.27" + babel-loader "8.1.0" + copy-webpack-plugin "6.1.0" + css-loader "3.6.0" + css-modules-typescript-loader "4.0.0" + file-loader "6.1.0" + friendly-errors-webpack-plugin "1.7.0" + less "3.12.2" + less-loader "5.0.0" + loader-utils "^1.1.0" + normalize-url "1.9.1" + optimize-css-assets-webpack-plugin "5.0.4" + postcss "7.0.32" + postcss-flexbugs-fixes "4.2.1" + postcss-loader "3.0.0" + postcss-preset-env "6.7.0" + postcss-safe-parser "4.0.2" + raw-loader "4.0.1" + react-error-overlay "6.0.7" + schema-utils "^1.0.0" + sockjs-client "1.5.0" + speed-measure-webpack-plugin "1.3.3" + stats-webpack-plugin "0.7.0" + strip-ansi "6.0.0" + style-loader "1.2.1" + terser-webpack-plugin "4.1.0" + url-loader "4.1.0" + webpack "4.44.1" + webpack-chain "6.5.1" + webpack-dev-middleware "3.7.2" + webpack-manifest-plugin "2.2.0" + webpack-sources "^1.1.0" + webpackbar "4.0.0" + +"@umijs/core@3.2.27": + version "3.2.27" + resolved "https://registry.npmjs.org/@umijs/core/-/core-3.2.27.tgz#4bd9bd3b3cd3ab745a524f16ae27f9aeeddde2f6" + integrity sha512-bM3XMFkLOaZ1nkIE+80D0NFFc0DvzmiixXyaqGAv27OfwNCyqTraWtKr960KSAPnNTPm09ONkT7L4Cv6PJKFAQ== + dependencies: + "@babel/core" "7.12.3" + "@babel/register" "7.12.1" + "@hapi/joi" "16.1.8" + "@types/ejs" "3.0.4" + "@types/hapi__joi" "16.0.12" + "@types/marked" "^1.1.0" + "@types/marked-terminal" "^3.1.1" + "@types/prettier" "2.1.0" + "@types/tapable" "1.0.6" + "@umijs/ast" "3.2.27" + "@umijs/babel-preset-umi" "3.2.27" + "@umijs/error-code-map" "^1.0.1" + "@umijs/utils" "3.2.27" + dotenv "8.2.0" + ejs "3.1.5" + marked "1.1.1" + marked-terminal "4.1.0" + os-locale "5.0.0" + prettier "2.1.1" + set-value "3.0.2" + tapable "1.1.3" + +"@umijs/error-code-map@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@umijs/error-code-map/-/error-code-map-1.0.1.tgz#2a2dd7b4bcd11869e968264ff3dabacfabe8b874" + integrity sha512-Q0KSpQYKTF2XWOlAxJO/SRbRhIGAp1GK1spWFbzwv3h0WvfX7pPeA05Y3p0hut7Vcjhdocnx5NduuApF4R1lGQ== + +"@umijs/server@3.2.27", "@umijs/server@^3.2.23": + version "3.2.27" + resolved "https://registry.npmjs.org/@umijs/server/-/server-3.2.27.tgz#56e59f0743748fe7f3fe18dedf8b824b5362f86a" + integrity sha512-A4d0CV3OHwZsNu80Ag8ta/v8FtI8R8Cq3tUfrMQKIyKweZc7BNA2G1rNPSoMR/Kf4CbHJTpmwFAWnOEnXu+Z1A== + dependencies: + "@types/compression" "1.7.0" + "@types/express" "4.17.7" + "@types/node" "14.0.23" + "@types/sockjs" "0.3.32" + "@types/spdy" "3.4.4" + "@umijs/utils" "3.2.27" + compression "1.7.4" + express "4.17.1" + http-proxy-middleware "1.0.5" + immer "7.0.5" + portfinder "1.0.26" + sockjs "0.3.20" + spdy "4.0.2" + +"@umijs/types@3.2.27": + version "3.2.27" + resolved "https://registry.npmjs.org/@umijs/types/-/types-3.2.27.tgz#6bc3986de324ee83e0143e18d213c8850846f6c1" + integrity sha512-mnUlyFdfBxNFEGsamMeJ+vgpJbQzLpCcz80OHipvOJwzz294rR9oEkuwxvxQ2bPeqm2uxhrHxOjcVWBlL0oaLQ== + dependencies: + "@types/cheerio" "0.22.21" + "@types/express" "4.17.7" + "@types/webpack" "4.41.21" + "@types/webpack-bundle-analyzer" "3.8.0" + "@umijs/babel-preset-umi" "3.2.27" + "@umijs/core" "3.2.27" + "@umijs/server" "3.2.27" + "@umijs/utils" "3.2.27" + webpack-chain "6.5.1" + "@umijs/utils@3.2.24", "@umijs/utils@^3.2.24": version "3.2.24" resolved "https://registry.npmjs.org/@umijs/utils/-/utils-3.2.24.tgz#57e0d6a8c97317191f5122bfec3bdc7e7d7ef720" @@ -2960,6 +3455,55 @@ yargs "15.4.1" yargs-parser "18.1.3" +"@umijs/utils@3.2.27": + version "3.2.27" + resolved "https://registry.npmjs.org/@umijs/utils/-/utils-3.2.27.tgz#ec010a3677331d0c5946a0d34601ec16a61463eb" + integrity sha512-HeDTkYESSvFS2nB3reJsPeKOW4WMTpq2DtmZgoV59RtD/+DpeKAPKJtcCYFrO0dibSxNtqcnD3MQ2quukI3lQg== + dependencies: + "@babel/parser" "7.12.5" + "@babel/register" "7.12.1" + "@babel/traverse" "7.12.5" + "@babel/types" "7.12.6" + "@types/cheerio" "0.22.21" + "@types/color" "3.0.1" + "@types/cross-spawn" "6.0.2" + "@types/debug" "4.1.5" + "@types/glob" "7.1.3" + "@types/got" "9.6.11" + "@types/lodash" "4.14.161" + "@types/mkdirp" "1.0.1" + "@types/mustache" "4.0.1" + "@types/resolve" "1.17.1" + "@types/rimraf" "3.0.0" + "@types/semver" "7.3.3" + "@types/signale" "1.4.1" + "@types/yargs" "15.0.5" + "@types/yargs-parser" "15.0.0" + address "1.1.2" + chalk "4.1.0" + cheerio "1.0.0-rc.3" + chokidar "3.4.2" + clipboardy "2.3.0" + color "3.1.2" + crequire "1.8.1" + cross-spawn "7.0.3" + debug "4.1.1" + deepmerge "4.2.2" + execa "4.0.3" + glob "7.1.6" + got "9.6.0" + lodash "4.17.20" + mkdirp "1.0.4" + mustache "4.0.1" + pkg-up "3.1.0" + portfinder "1.0.28" + resolve "1.17.0" + rimraf "3.0.2" + semver "7.3.2" + signale "1.4.0" + yargs "15.4.1" + yargs-parser "18.1.3" + "@vue/babel-helper-vue-transform-on@^1.0.0-rc.2": version "1.0.0-rc.2" resolved "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.0-rc.2.tgz#7246341f666e7c6e65b13da420e2ce85714fbbca" @@ -2998,7 +3542,7 @@ "@vue/compiler-core" "3.0.2" "@vue/shared" "3.0.2" -"@vue/compiler-sfc@^3.0.0", "@vue/compiler-sfc@^3.0.2": +"@vue/compiler-sfc@^3.0.0": version "3.0.2" resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.0.2.tgz#22c70fed72c347a4d5fa2db2e80594b3193dce57" integrity sha512-viYjT5ehDSLM3v0jQ9hbTs4I5e/7lSlYsDOp7TQ1qcwHRvzoTQMTkFpY/Iae+LFKM124Ld17tBfXgfrZl9dt+g== @@ -3246,7 +3790,7 @@ abbrev@1: resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== -accepts@~1.3.7: +accepts@~1.3.5, accepts@~1.3.7: version "1.3.7" resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== @@ -3343,7 +3887,7 @@ ajv@6.10.0: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5, ajv@^6.9.1: +ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.9.1: version "6.12.6" resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -3403,7 +3947,7 @@ ansi-escapes@^3.2.0: resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== -ansi-escapes@^4.3.0: +ansi-escapes@^4.2.1, ansi-escapes@^4.3.0, ansi-escapes@^4.3.1: version "4.3.1" resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== @@ -3417,11 +3961,6 @@ ansi-gray@^0.1.1: dependencies: ansi-wrap "0.1.0" -ansi-html@0.0.7: - version "0.0.7" - resolved "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" - integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= - ansi-red@^0.1.1: version "0.1.1" resolved "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz#8c638f9d1080800a353c9c28c8a81ca4705d946c" @@ -3473,19 +4012,16 @@ ansi-wrap@0.1.0, ansi-wrap@^0.1.0: resolved "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" integrity sha1-qCJQ3bABXponyoLoLqYDu/pF768= +ansicolors@~0.3.2: + version "0.3.2" + resolved "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz#665597de86a9ffe3aa9bfbe6cae5c6ea426b4979" + integrity sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk= + any-promise@^1.0.0: version "1.3.0" resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= -anymatch@^1.3.0: - version "1.3.2" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" - integrity sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA== - dependencies: - micromatch "^2.1.5" - normalize-path "^2.0.0" - anymatch@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" @@ -3547,13 +4083,6 @@ arr-diff@^1.0.1: arr-flatten "^1.0.1" array-slice "^0.2.3" -arr-diff@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" - integrity sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8= - dependencies: - arr-flatten "^1.0.1" - arr-diff@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" @@ -3608,23 +4137,23 @@ array-slice@^0.2.3: resolved "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5" integrity sha1-3Tz7gO15c6dRF82sabC5nshhhvU= -array-union@^1.0.1, array-union@^1.0.2: +array-union@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= dependencies: array-uniq "^1.0.1" +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + array-uniq@^1.0.1: version "1.0.3" resolved "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= -array-unique@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" - integrity sha1-odl8yvy8JiXMcPrc6zalDFiwGlM= - array-unique@^0.3.2: version "0.3.2" resolved "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" @@ -3693,11 +4222,16 @@ astral-regex@^2.0.0: resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== -async-each@^1.0.0, async-each@^1.0.1: +async-each@^1.0.1: version "1.0.3" resolved "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== +async@0.9.x: + version "0.9.2" + resolved "https://registry.npmjs.org/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" + integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0= + async@^2.6.2: version "2.6.3" resolved "https://registry.npmjs.org/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" @@ -3738,17 +4272,18 @@ autoprefixer@9.6.0: postcss "^7.0.16" postcss-value-parser "^3.3.1" -autoprefixer@^8.1.0: - version "8.6.5" - resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-8.6.5.tgz#343f3d193ed568b3208e00117a1b96eb691d4ee9" - integrity sha512-PLWJN3Xo/rycNkx+mp8iBDMTm3FeWe4VmYaZDSqL5QQB9sLsQkG5k8n+LNDFnhh9kdq2K+egL/icpctOmDHwig== +autoprefixer@^9.6.1: + version "9.8.6" + resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f" + integrity sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg== dependencies: - browserslist "^3.2.8" - caniuse-lite "^1.0.30000864" + browserslist "^4.12.0" + caniuse-lite "^1.0.30001109" + colorette "^1.2.1" normalize-range "^0.1.2" num2fraction "^1.2.2" - postcss "^6.0.23" - postcss-value-parser "^3.2.3" + postcss "^7.0.32" + postcss-value-parser "^4.1.0" aws-sign2@~0.7.0: version "0.7.0" @@ -3779,7 +4314,7 @@ babel-eslint@^10.0.2: eslint-visitor-keys "^1.0.0" resolve "^1.12.0" -babel-loader@^8.0.6: +babel-loader@8.1.0: version "8.1.0" resolved "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz#c611d5112bd5209abe8b9fa84c3e4da25275f1c3" integrity sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw== @@ -3797,7 +4332,7 @@ babel-plugin-dynamic-import-node@2.3.3, babel-plugin-dynamic-import-node@^2.3.0, dependencies: object.assign "^4.1.0" -babel-plugin-import@^1.13.0: +babel-plugin-import@^1.13.0, babel-plugin-import@^1.13.1: version "1.13.1" resolved "https://registry.npmjs.org/babel-plugin-import/-/babel-plugin-import-1.13.1.tgz#f6cf1acb76c5ce366bae2663ad12bd894316d8db" integrity sha512-2Ohk36qvQAZr2sNXVwOgBFH7/ZQH0lL6igPj6lNIhk5t0uORneeAvHnohClCWbaogUhKGJxAiwbPhymZXPGQiQ== @@ -3820,6 +4355,11 @@ babel-plugin-named-asset-import@0.3.6: resolved "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.6.tgz#c9750a1b38d85112c9e166bf3ef7c5dbc605f4be" integrity sha512-1aGDUfL1qOOIoqk9QKGIo2lANk+C7ko/fqH0uIyC71x3PEGz0uVP8ISgfEsFuG+FKmjHTvFK/nNM8dowpmUxLA== +babel-plugin-named-asset-import@0.3.7: + version "0.3.7" + resolved "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.7.tgz#156cd55d3f1228a5765774340937afc8398067dd" + integrity sha512-squySRkf+6JGnvjoUtDEjSREJEBirnXi9NqP6rjSYsylxQxqBTz+pkmf395i9E2zsvmYUaI40BHo6SqZUdydlw== + babel-plugin-react-require@3.1.1: version "3.1.1" resolved "https://registry.npmjs.org/babel-plugin-react-require/-/babel-plugin-react-require-3.1.1.tgz#5c3d2564fa16b1e45212ed52519db147b1596106" @@ -3842,15 +4382,22 @@ babel-plugin-transform-typescript-metadata@0.3.0: dependencies: "@babel/helper-plugin-utils" "^7.0.0" +babel-plugin-transform-typescript-metadata@0.3.1: + version "0.3.1" + resolved "https://registry.npmjs.org/babel-plugin-transform-typescript-metadata/-/babel-plugin-transform-typescript-metadata-0.3.1.tgz#d86599b7139131ba5e917f5f568d0c824a5cdfc3" + integrity sha512-thOuACZReULfLy7vh2o3/joYkkRerMKLBDmXy3ImCnkNUnxBmNw0uVa05JhhX0slluaEkio6OIFa7zPgaJdk6g== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= base64-js@^1.0.2: - version "1.3.1" - resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" - integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== + version "1.5.1" + resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== base@^0.11.1: version "0.11.2" @@ -3865,13 +4412,6 @@ base@^0.11.1: mixin-deep "^1.2.0" pascalcase "^0.1.1" -basic-auth@~2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a" - integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg== - dependencies: - safe-buffer "5.1.2" - bcrypt-pbkdf@^1.0.0: version "1.0.2" resolved "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" @@ -3911,14 +4451,6 @@ bindings@^1.5.0: dependencies: file-uri-to-path "1.0.0" -bl@^1.0.0: - version "1.2.3" - resolved "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz#1e8dd80142eac80d7158c9dccc047fb620e035e7" - integrity sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww== - dependencies: - readable-stream "^2.3.5" - safe-buffer "^5.1.1" - bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5, bluebird@^3.7.2: version "3.7.2" resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" @@ -3929,12 +4461,12 @@ bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0: resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw== -bn.js@^5.1.1: +bn.js@^5.0.0, bn.js@^5.1.1: version "5.1.3" resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b" integrity sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ== -body-parser@1.19.0, body-parser@^1.5.2: +body-parser@1.19.0: version "1.19.0" resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== @@ -3977,15 +4509,6 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^1.8.2: - version "1.8.5" - resolved "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" - integrity sha1-uneWLhLf+WnWt2cR6RS3N4V79qc= - dependencies: - expand-range "^1.8.1" - preserve "^0.2.0" - repeat-element "^1.1.2" - braces@^2.3.1, braces@^2.3.2: version "2.3.2" resolved "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" @@ -4046,11 +4569,11 @@ browserify-des@^1.0.0: safe-buffer "^5.1.2" browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= + version "4.1.0" + resolved "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== dependencies: - bn.js "^4.1.0" + bn.js "^5.0.0" randombytes "^2.0.1" browserify-sign@^4.0.0: @@ -4075,14 +4598,6 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@^3.2.8: - version "3.2.8" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz#b0005361d6471f0f5952797a76fc985f1f978fc6" - integrity sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ== - dependencies: - caniuse-lite "^1.0.30000844" - electron-to-chromium "^1.3.47" - browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.6.0, browserslist@^4.6.1, browserslist@^4.8.5: version "4.14.5" resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.14.5.tgz#1c751461a102ddc60e40993639b709be7f2c4015" @@ -4093,44 +4608,32 @@ browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.6.0, browserslist@^4. escalade "^3.1.0" node-releases "^1.1.61" +browserslist@^4.6.4: + version "4.14.7" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.14.7.tgz#c071c1b3622c1c2e790799a37bb09473a4351cb6" + integrity sha512-BSVRLCeG3Xt/j/1cCGj1019Wbty0H+Yvu2AOuZSuoaUWn3RatbL33Cxk+Q4jRMRAbOm0p7SLravLjpnT6s0vzQ== + dependencies: + caniuse-lite "^1.0.30001157" + colorette "^1.2.1" + electron-to-chromium "^1.3.591" + escalade "^3.1.1" + node-releases "^1.1.66" + btoa-lite@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337" integrity sha1-M3dm2hWAEhD92VbCLpxokaudAzc= -buffer-alloc-unsafe@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" - integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== - -buffer-alloc@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" - integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== - dependencies: - buffer-alloc-unsafe "^1.1.0" - buffer-fill "^1.0.0" - buffer-equal@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe" integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74= -buffer-fill@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" - integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= - buffer-from@^1.0.0: version "1.1.1" resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== -buffer-json@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/buffer-json/-/buffer-json-2.0.0.tgz#f73e13b1e42f196fe2fd67d001c7d7107edd7c23" - integrity sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw== - buffer-xor@^1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" @@ -4170,6 +4673,11 @@ byte-size@^5.0.1: resolved "https://registry.npmjs.org/byte-size/-/byte-size-5.0.1.tgz#4b651039a5ecd96767e71a3d7ed380e48bed4191" integrity sha512-/XuKeqWocKsYa/cBY1YbSJSWWqTi4cFgr9S6OyM7PBaPbr9zvNGwWP33vt0uqGhwDdN+y3yhbXVILEUpnwEWGw== +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= + bytes@3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" @@ -4196,30 +4704,6 @@ cacache@^12.0.0, cacache@^12.0.2, cacache@^12.0.3: unique-filename "^1.1.1" y18n "^4.0.0" -cacache@^13.0.1: - version "13.0.1" - resolved "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz#a8000c21697089082f85287a1aec6e382024a71c" - integrity sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w== - dependencies: - chownr "^1.1.2" - figgy-pudding "^3.5.1" - fs-minipass "^2.0.0" - glob "^7.1.4" - graceful-fs "^4.2.2" - infer-owner "^1.0.4" - lru-cache "^5.1.1" - minipass "^3.0.0" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.2" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - p-map "^3.0.0" - promise-inflight "^1.0.1" - rimraf "^2.7.1" - ssri "^7.0.0" - unique-filename "^1.1.1" - cacache@^15.0.5: version "15.0.5" resolved "https://registry.npmjs.org/cacache/-/cacache-15.0.5.tgz#69162833da29170d6732334643c60e005f5f17d0" @@ -4254,21 +4738,9 @@ cache-base@^1.0.1: has-value "^1.0.0" isobject "^3.0.1" set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -cache-loader@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/cache-loader/-/cache-loader-4.1.0.tgz#9948cae353aec0a1fcb1eafda2300816ec85387e" - integrity sha512-ftOayxve0PwKzBF/GLsZNC9fJBXl8lkZE3TOsjkboHfVHVkL39iUEs1FO07A33mizmci5Dudt38UZrrYXDtbhw== - dependencies: - buffer-json "^2.0.0" - find-cache-dir "^3.0.0" - loader-utils "^1.2.3" - mkdirp "^0.5.1" - neo-async "^2.6.1" - schema-utils "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" cacheable-request@^6.0.0: version "6.1.0" @@ -4364,7 +4836,7 @@ camelcase@^1.0.2: resolved "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" integrity sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk= -camelcase@^2.0.0, camelcase@^2.0.1: +camelcase@^2.0.0: version "2.1.1" resolved "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= @@ -4394,15 +4866,23 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000864, caniuse-lite@^1.0.30000971, caniuse-lite@^1.0.30001135: +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000971, caniuse-lite@^1.0.30001135: version "1.0.30001154" resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001154.tgz#f3bbc245ce55e4c1cd20fa731b097880181a7f17" integrity sha512-y9DvdSti8NnYB9Be92ddMZQrcOe04kcQtcxtBx4NkB04+qZ+JUWotnXBJTmxlKudhxNTQ3RRknMwNU2YQl/Org== -case-sensitive-paths-webpack-plugin@^2.2.0: - version "2.3.0" - resolved "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz#23ac613cc9a856e4f88ff8bb73bbb5e989825cf7" - integrity sha512-/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ== +caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001157: + version "1.0.30001157" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001157.tgz#2d11aaeb239b340bc1aa730eca18a37fdb07a9ab" + integrity sha512-gOerH9Wz2IRZ2ZPdMfBvyOi3cjaz4O4dgNwPGzx8EhqAs4+2IL/O+fJsbt+znSigujoZG8bVcIAUM/I/E5K3MA== + +cardinal@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz#7cc1055d822d212954d07b085dea251cc7bc5505" + integrity sha1-fMEFXYItISlU0HsIXeolHMe8VQU= + dependencies: + ansicolors "~0.3.2" + redeyed "~2.1.0" caseless@~0.12.0: version "0.12.0" @@ -4477,22 +4957,6 @@ chokidar@3.4.2: optionalDependencies: fsevents "~2.1.2" -chokidar@^1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" - integrity sha1-eY5ol3gVHIB2tLNg5e3SjNortGg= - dependencies: - anymatch "^1.3.0" - async-each "^1.0.0" - glob-parent "^2.0.0" - inherits "^2.0.1" - is-binary-path "^1.0.0" - is-glob "^2.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.0.0" - optionalDependencies: - fsevents "^1.0.0" - chokidar@^2.1.8: version "2.1.8" resolved "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" @@ -4527,7 +4991,7 @@ chokidar@^3.0.2, chokidar@^3.4.1: optionalDependencies: fsevents "~2.1.2" -chownr@^1.0.1, chownr@^1.1.1, chownr@^1.1.2: +chownr@^1.1.1, chownr@^1.1.2: version "1.1.4" resolved "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== @@ -4544,6 +5008,11 @@ chrome-trace-event@^1.0.2: dependencies: tslib "^1.9.0" +ci-info@^1.6.0: + version "1.6.0" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" + integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== + ci-info@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" @@ -4579,14 +5048,6 @@ clean-stack@^2.0.0: resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== -clean-webpack-plugin@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-3.0.0.tgz#a99d8ec34c1c628a4541567aa7b457446460c62b" - integrity sha512-MciirUH5r+cYLGCOL5JX/ZLzOZbVr1ot3Fw+KcvbhUb6PM+yycqd9ZhIlcigQ5gl+XhppNmw3bEFuaaMNyLj3A== - dependencies: - "@types/webpack" "^4.4.31" - del "^4.1.1" - cli-boxes@^2.2.0: version "2.2.1" resolved "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" @@ -4606,6 +5067,13 @@ cli-cursor@^3.1.0: dependencies: restore-cursor "^3.1.0" +cli-table@^0.3.1: + version "0.3.1" + resolved "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" + integrity sha1-9TsFJmqLGguTSz0IIebi3FkUriM= + dependencies: + colors "1.0.3" + cli-truncate@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" @@ -4628,6 +5096,15 @@ clipboardy@2.3.0: execa "^1.0.0" is-wsl "^2.1.1" +cliui@6.0.0, cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + cliui@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" @@ -4637,15 +5114,6 @@ cliui@^2.1.0: right-align "^0.1.1" wordwrap "0.0.2" -cliui@^3.0.3: - version "3.2.0" - resolved "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" - integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0= - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrap-ansi "^2.0.0" - cliui@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" @@ -4655,15 +5123,6 @@ cliui@^5.0.0: strip-ansi "^5.2.0" wrap-ansi "^5.1.0" -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" - clone-buffer@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" @@ -4795,6 +5254,16 @@ color@^3.0.0: color-convert "^1.9.1" color-string "^1.5.4" +colorette@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" + integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== + +colors@1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" + integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs= + columnify@^1.5.4: version "1.5.4" resolved "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb" @@ -4810,11 +5279,6 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@*, commander@^6.2.0: - version "6.2.0" - resolved "https://registry.npmjs.org/commander/-/commander-6.2.0.tgz#b990bfb8ac030aedc6d11bc04d1488ffef56db75" - integrity sha512-zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q== - commander@2.17.x: version "2.17.1" resolved "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" @@ -4825,10 +5289,10 @@ commander@^2.20.0: resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -commander@^4.1.0: - version "4.1.1" - resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== +commander@^6.2.0: + version "6.2.0" + resolved "https://registry.npmjs.org/commander/-/commander-6.2.0.tgz#b990bfb8ac030aedc6d11bc04d1488ffef56db75" + integrity sha512-zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q== commander@~2.19.0: version "2.19.0" @@ -4878,23 +5342,32 @@ component-emitter@^1.2.1: resolved "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== -compression-webpack-plugin@^6.0.3: - version "6.0.4" - resolved "https://registry.npmjs.org/compression-webpack-plugin/-/compression-webpack-plugin-6.0.4.tgz#524699c0ad4e94cab0eb199c734e291f6ab685b9" - integrity sha512-PViPdrF5UmqZxsr9WNoE+R6lTre6/5tC9TmWotBfhOQtWlc7oj/SXCsrecbZJ9LDpwLjHH6llPCKmw+JGPGN+A== +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== dependencies: - cacache "^15.0.5" - find-cache-dir "^3.3.1" - schema-utils "^3.0.0" - serialize-javascript "^5.0.1" - webpack-sources "^1.4.3" + mime-db ">= 1.43.0 < 2" + +compression@1.7.4: + version "1.7.4" + resolved "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" + integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + dependencies: + accepts "~1.3.5" + bytes "3.0.0" + compressible "~2.0.16" + debug "2.6.9" + on-headers "~1.0.2" + safe-buffer "5.1.2" + vary "~1.1.2" concat-map@0.0.1: version "0.0.1" resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -concat-stream@^1.4.7, concat-stream@^1.5.0: +concat-stream@^1.5.0: version "1.6.2" resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== @@ -4946,6 +5419,11 @@ confusing-browser-globals@^1.0.5: resolved "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz#30d1e7f3d1b882b25ec4933d1d1adac353d20a59" integrity sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA== +consola@^2.10.0: + version "2.15.0" + resolved "https://registry.npmjs.org/consola/-/consola-2.15.0.tgz#40fc4eefa4d2f8ef2e2806147f056ea207fcc0e9" + integrity sha512-vlcSGgdYS26mPf7qNi+dCisbhiyDnrN1zaRbw3CSuc2wGOMEGGPsp46PdRG5gqXwgtJfjxDkxRNAgRPr1B77vQ== + console-browserify@^1.1.0: version "1.2.0" resolved "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" @@ -5089,14 +5567,6 @@ convert-source-map@^1.1.0, convert-source-map@^1.5.0, convert-source-map@^1.7.0: dependencies: safe-buffer "~5.1.1" -cookie-parser@^1.4.3: - version "1.4.5" - resolved "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.5.tgz#3e572d4b7c0c80f9c61daf604e4336831b5d1d49" - integrity sha512-f13bPUj/gG/5mDr+xLmSxxDsB9DQiTIfhJS/sqjrmfAWiAN+x2O4i/XguTL9yDZ+/IFDanJ+5x7hC4CXT9Tdzw== - dependencies: - cookie "0.4.0" - cookie-signature "1.0.6" - cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" @@ -5124,23 +5594,22 @@ copy-descriptor@^0.1.0: resolved "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= -copy-webpack-plugin@^5.0.4: - version "5.1.2" - resolved "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz#8a889e1dcafa6c91c6cd4be1ad158f1d3823bae2" - integrity sha512-Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ== +copy-webpack-plugin@6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.1.0.tgz#5bde7f826d87e716d8d5e761ddd34bb675448458" + integrity sha512-aWjIuLt1OVQxaDVffnt3bnGmLA8zGgAJaFwPA+a+QYVPh1vhIKjVfh3SbOFLV0kRPvGBITbw17n5CsmiBS4LQQ== dependencies: - cacache "^12.0.3" - find-cache-dir "^2.1.0" - glob-parent "^3.1.0" - globby "^7.1.1" - is-glob "^4.0.1" - loader-utils "^1.2.3" - minimatch "^3.0.4" + cacache "^15.0.5" + fast-glob "^3.2.4" + find-cache-dir "^3.3.1" + glob-parent "^5.1.1" + globby "^11.0.1" + loader-utils "^2.0.0" normalize-path "^3.0.0" - p-limit "^2.2.1" - schema-utils "^1.0.0" + p-limit "^3.0.2" + schema-utils "^2.7.1" serialize-javascript "^4.0.0" - webpack-log "^2.0.0" + webpack-sources "^1.4.3" core-js-compat@^3.1.1, core-js-compat@^3.6.2: version "3.6.5" @@ -5222,14 +5691,6 @@ crequire@1.8.1: resolved "https://registry.npmjs.org/crequire/-/crequire-1.8.1.tgz#ac81f204786b5f201194eb1698cf441b10a4b57d" integrity sha1-rIHyBHhrXyARlOsWmM9EGxCktX0= -cross-spawn-async@^2.2.2: - version "2.2.5" - resolved "https://registry.npmjs.org/cross-spawn-async/-/cross-spawn-async-2.2.5.tgz#845ff0c0834a3ded9d160daca6d390906bb288cc" - integrity sha1-hF/wwINKPe2dFg2sptOQkGuyiMw= - dependencies: - lru-cache "^4.0.0" - which "^1.2.8" - cross-spawn@7.0.3, cross-spawn@^7.0.0: version "7.0.3" resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" @@ -5239,14 +5700,6 @@ cross-spawn@7.0.3, cross-spawn@^7.0.0: shebang-command "^2.0.0" which "^2.0.1" -cross-spawn@^2.1.0: - version "2.2.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-2.2.3.tgz#fac56202dfd3d0dd861778f2da203bf434bb821c" - integrity sha1-+sViAt/T0N2GF3jy2iA79DS7ghw= - dependencies: - cross-spawn-async "^2.2.2" - spawn-sync "^1.0.15" - cross-spawn@^5.0.1: version "5.1.0" resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" @@ -5298,6 +5751,13 @@ csp-html-webpack-plugin@^4.0.0: lodash "^4.17.15" memory-fs "^0.5.0" +css-blank-pseudo@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz#dfdefd3254bf8a82027993674ccf35483bfcb3c5" + integrity sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w== + dependencies: + postcss "^7.0.5" + css-color-names@0.0.4, css-color-names@^0.0.4: version "0.0.4" resolved "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" @@ -5311,7 +5771,15 @@ css-declaration-sorter@^4.0.1: postcss "^7.0.1" timsort "^0.3.0" -css-loader@^3.1.0: +css-has-pseudo@^0.10.0: + version "0.10.0" + resolved "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz#3c642ab34ca242c59c41a125df9105841f6966ee" + integrity sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ== + dependencies: + postcss "^7.0.6" + postcss-selector-parser "^5.0.0-rc.4" + +css-loader@3.6.0: version "3.6.0" resolved "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz#2e4b2c7e6e2d27f8c8f28f61bffcd2e6c91ef645" integrity sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ== @@ -5342,12 +5810,20 @@ css-modules-loader-core@^1.1.0: postcss-modules-scope "1.1.0" postcss-modules-values "1.3.0" -css-parse@~2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz#a468ee667c16d81ccf05c58c38d2a97c780dbfd4" - integrity sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q= +css-modules-typescript-loader@4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/css-modules-typescript-loader/-/css-modules-typescript-loader-4.0.0.tgz#17c0924107f45c7d9998fb59be5c59d6398aac5c" + integrity sha512-K6ii0+kt2i3sHN+VKTWdF728x+N4PFitsjE8aldUO+N98XlZhanJYIEZrnh4FMTZzDvOjyBialU0LnkCSeeUig== + dependencies: + line-diff "^2.0.1" + loader-utils "^1.2.3" + +css-prefers-color-scheme@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz#6f830a2714199d4f0d0d0bb8a27916ed65cff1f4" + integrity sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg== dependencies: - css "^2.0.0" + postcss "^7.0.5" css-select-base-adapter@^0.1.1: version "0.1.1" @@ -5408,22 +5884,22 @@ css-what@^3.2.1: resolved "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== -css@^2.0.0: - version "2.2.4" - resolved "https://registry.npmjs.org/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" - integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw== - dependencies: - inherits "^2.0.3" - source-map "^0.6.1" - source-map-resolve "^0.5.2" - urix "^0.1.0" +cssdb@^4.4.0: + version "4.4.0" + resolved "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0" + integrity sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ== + +cssesc@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" + integrity sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg== cssesc@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== -cssnano-preset-default@^4.0.0, cssnano-preset-default@^4.0.7: +cssnano-preset-default@^4.0.7: version "4.0.7" resolved "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76" integrity sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA== @@ -5481,7 +5957,7 @@ cssnano-util-same-parent@^4.0.0: resolved "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== -cssnano@^4.0.0, cssnano@^4.1.8: +cssnano@^4.1.10, cssnano@^4.1.8: version "4.1.10" resolved "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2" integrity sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ== @@ -5553,11 +6029,6 @@ dateformat@^3.0.0: resolved "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== -de-indent@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" - integrity sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0= - debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: version "2.6.9" resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -5565,7 +6036,7 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: dependencies: ms "2.0.0" -debug@3.1.0, debug@~3.1.0: +debug@3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== @@ -5579,7 +6050,7 @@ debug@4.1.1: dependencies: ms "^2.1.1" -debug@^3.1.0, debug@^3.1.1: +debug@^3.1.0, debug@^3.1.1, debug@^3.2.6: version "3.2.6" resolved "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== @@ -5606,7 +6077,7 @@ decamelize-keys@^1.0.0, decamelize-keys@^1.1.0: decamelize "^1.1.0" map-obj "^1.0.0" -decamelize@^1.0.0, decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: +decamelize@^1.0.0, decamelize@^1.1.0, decamelize@^1.1.2, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= @@ -5643,6 +6114,11 @@ deepmerge@4.2.2: resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== +deepmerge@^1.5.2: + version "1.5.2" + resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz#10499d868844cdad4fee0842df8c7f6f0c95a753" + integrity sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ== + defaults@^1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" @@ -5684,19 +6160,6 @@ define-property@^2.0.2: is-descriptor "^1.0.2" isobject "^3.0.1" -del@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" - integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ== - dependencies: - "@types/glob" "^7.1.1" - globby "^6.1.0" - is-path-cwd "^2.0.0" - is-path-in-cwd "^2.0.0" - p-map "^2.0.0" - pify "^4.0.1" - rimraf "^2.6.3" - delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -5712,11 +6175,6 @@ depd@~1.1.2: resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= -depd@~2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - deprecation@^2.0.0, deprecation@^2.3.1: version "2.3.1" resolved "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" @@ -5750,6 +6208,11 @@ detect-indent@^5.0.0: resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" integrity sha1-OHHMCmoALow+Wzz38zYmRnXwa50= +detect-node@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" + integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== + dezalgo@^1.0.0: version "1.0.3" resolved "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456" @@ -5767,13 +6230,20 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" -dir-glob@^2.0.0, dir-glob@^2.2.2: +dir-glob@^2.2.2: version "2.2.2" resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== dependencies: path-type "^3.0.0" +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + doctrine@1.5.0: version "1.5.0" resolved "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" @@ -5902,11 +6372,23 @@ ee-first@1.1.1: resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -electron-to-chromium@^1.3.47, electron-to-chromium@^1.3.571: +ejs@3.1.5: + version "3.1.5" + resolved "https://registry.npmjs.org/ejs/-/ejs-3.1.5.tgz#aed723844dc20acb4b170cd9ab1017e476a0d93b" + integrity sha512-dldq3ZfFtgVTJMLjOe+/3sROTzALlL9E34V4/sDtUd/KlBSS0s6U1/+WPE1B4sj9CXHJpL1M6rhNJnc9Wbal9w== + dependencies: + jake "^10.6.1" + +electron-to-chromium@^1.3.571: version "1.3.585" resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.585.tgz#71cdb722c73488b9475ad1c572cf43a763ef9081" integrity sha512-xoeqjMQhgHDZM7FiglJAb2aeOxHZWFruUc3MbAGTgE7GB8rr5fTn1Sdh5THGuQtndU3GuXlu91ZKqRivxoCZ/A== +electron-to-chromium@^1.3.591: + version "1.3.596" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.596.tgz#c7ed98512c7ff36ddcbfed9e54e6355335c35257" + integrity sha512-nLO2Wd2yU42eSoNJVQKNf89CcEGqeFZd++QsnN2XIgje1s/19AgctfjLIbPORlvcCO8sYjLwX4iUgDdusOY8Sg== + elliptic@^6.5.3: version "6.5.3" resolved "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" @@ -5959,7 +6441,7 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.1, enhanced-resolve@^4.3.0: +enhanced-resolve@^4.0.0, enhanced-resolve@^4.3.0: version "4.3.0" resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126" integrity sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ== @@ -6065,11 +6547,6 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -es6-promise@^3.2.1: - version "3.3.1" - resolved "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz#a08cdde84ccdbf34d027a1451bc91d4bcd28a613" - integrity sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM= - es6-promise@^4.0.3: version "4.2.8" resolved "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" @@ -6082,7 +6559,7 @@ es6-promisify@^5.0.0: dependencies: es6-promise "^4.0.3" -escalade@^3.1.0: +escalade@^3.1.0, escalade@^3.1.1: version "3.1.1" resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== @@ -6228,7 +6705,7 @@ espree@^5.0.0, espree@^5.0.1: acorn-jsx "^5.0.0" eslint-visitor-keys "^1.0.0" -esprima@^4.0.0: +esprima@^4.0.0, esprima@~4.0.0: version "4.0.1" resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== @@ -6292,6 +6769,13 @@ events@^3.0.0: resolved "https://registry.npmjs.org/events/-/events-3.2.0.tgz#93b87c18f8efcd4202a461aec4dfc0556b639379" integrity sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg== +eventsource@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0" + integrity sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ== + dependencies: + original "^1.0.0" + evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" @@ -6328,19 +6812,6 @@ execa@^0.7.0: signal-exit "^3.0.0" strip-eof "^1.0.0" -execa@^0.8.0: - version "0.8.0" - resolved "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da" - integrity sha1-2NdrvBtVIX7RkP1t1J08d07PyNo= - dependencies: - cross-spawn "^5.0.1" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - execa@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" @@ -6354,7 +6825,7 @@ execa@^1.0.0: signal-exit "^3.0.0" strip-eof "^1.0.0" -execa@^4.1.0: +execa@^4.0.0, execa@^4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== @@ -6369,13 +6840,6 @@ execa@^4.1.0: signal-exit "^3.0.2" strip-final-newline "^2.0.0" -expand-brackets@^0.1.4: - version "0.1.5" - resolved "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" - integrity sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s= - dependencies: - is-posix-bracket "^0.1.0" - expand-brackets@^2.1.4: version "2.1.4" resolved "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" @@ -6389,13 +6853,6 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" -expand-range@^1.8.1: - version "1.8.2" - resolved "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" - integrity sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc= - dependencies: - fill-range "^2.1.0" - expand-tilde@^2.0.0, expand-tilde@^2.0.2: version "2.0.2" resolved "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" @@ -6403,29 +6860,7 @@ expand-tilde@^2.0.0, expand-tilde@^2.0.2: dependencies: homedir-polyfill "^1.0.1" -express-http-proxy@^0.10.0: - version "0.10.1" - resolved "https://registry.npmjs.org/express-http-proxy/-/express-http-proxy-0.10.1.tgz#dff83794a8ec11db0e7d9448e6ce1ca6278b3dd7" - integrity sha1-3/g3lKjsEdsOfZRI5s4cpieLPdc= - dependencies: - es6-promise "^3.2.1" - raw-body "^2.1.7" - -express-session@^1.7.2: - version "1.17.1" - resolved "https://registry.npmjs.org/express-session/-/express-session-1.17.1.tgz#36ecbc7034566d38c8509885c044d461c11bf357" - integrity sha512-UbHwgqjxQZJiWRTMyhvWGvjBQduGCSBDhhZXYenziMFjxst5rMV+aJZ6hKPHZnPyHGsrqRICxtX8jtEbm/z36Q== - dependencies: - cookie "0.4.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "~2.0.0" - on-headers "~1.0.2" - parseurl "~1.3.3" - safe-buffer "5.2.0" - uid-safe "~2.1.5" - -express@^4.14.0: +express@4.17.1: version "4.17.1" resolved "https://registry.npmjs.org/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== @@ -6497,13 +6932,6 @@ external-editor@^3.0.3: iconv-lite "^0.4.24" tmp "^0.0.33" -extglob@^0.3.1: - version "0.3.2" - resolved "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" - integrity sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE= - dependencies: - is-extglob "^1.0.0" - extglob@^2.0.4: version "2.0.4" resolved "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" @@ -6528,11 +6956,6 @@ extsprintf@^1.2.0: resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= -faker@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/faker/-/faker-4.1.0.tgz#1e45bbbecc6774b3c195fad2835109c6d748cc3f" - integrity sha1-HkW7vsxndLPBlfrSg1EJxtdIzD8= - fancy-log@^1.3.2: version "1.3.3" resolved "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz#dbc19154f558690150a23953a0adbd035be45fc7" @@ -6565,6 +6988,18 @@ fast-glob@^2.2.6: merge2 "^1.2.3" micromatch "^3.1.10" +fast-glob@^3.1.1, fast-glob@^3.2.4: + version "3.2.4" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3" + integrity sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.0" + merge2 "^1.3.0" + micromatch "^4.0.2" + picomatch "^2.2.1" + fast-json-stable-stringify@^2.0.0: version "2.1.0" resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" @@ -6580,6 +7015,13 @@ fastparse@^1.1.2: resolved "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9" integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== +fastq@^1.6.0: + version "1.9.0" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.9.0.tgz#e16a72f338eaca48e91b5c23593bcc2ef66b7947" + integrity sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w== + dependencies: + reusify "^1.0.4" + father-build@^1.18.5: version "1.18.5" resolved "https://registry.npmjs.org/father-build/-/father-build-1.18.5.tgz#e826dd6add6d1bded20a7dd88a87e7e3efba3334" @@ -6637,6 +7079,20 @@ father-build@^1.18.5: vinyl-fs "3.0.3" yargs-parser "13.1.1" +faye-websocket@^0.10.0: + version "0.10.0" + resolved "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" + integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ= + dependencies: + websocket-driver ">=0.5.1" + +faye-websocket@^0.11.3: + version "0.11.3" + resolved "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" + integrity sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA== + dependencies: + websocket-driver ">=0.5.1" + figgy-pudding@^3.4.1, figgy-pudding@^3.5.1: version "3.5.2" resolved "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" @@ -6649,7 +7105,7 @@ figures@^2.0.0: dependencies: escape-string-regexp "^1.0.5" -figures@^3.2.0: +figures@^3.0.0, figures@^3.2.0: version "3.2.0" resolved "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== @@ -6663,34 +7119,25 @@ file-entry-cache@^5.0.1: dependencies: flat-cache "^2.0.1" -file-loader@^4.2.0: - version "4.3.0" - resolved "https://registry.npmjs.org/file-loader/-/file-loader-4.3.0.tgz#780f040f729b3d18019f20605f723e844b8a58af" - integrity sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA== +file-loader@6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/file-loader/-/file-loader-6.1.0.tgz#65b9fcfb0ea7f65a234a1f10cdd7f1ab9a33f253" + integrity sha512-26qPdHyTsArQ6gU4P1HJbAbnFTyT2r0pG7czh1GFAd9TZbj0n94wWbupgixZH/ET/meqi2/5+F7DhW4OAXD+Lg== dependencies: - loader-utils "^1.2.3" - schema-utils "^2.5.0" + loader-utils "^2.0.0" + schema-utils "^2.7.1" file-uri-to-path@1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== -filename-regex@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" - integrity sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY= - -fill-range@^2.1.0: - version "2.2.4" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565" - integrity sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q== +filelist@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/filelist/-/filelist-1.0.1.tgz#f10d1a3ae86c1694808e8f20906f43d4c9132dbb" + integrity sha512-8zSK6Nu0DQIC08mUC46sWGXi+q3GGpKydAG36k+JDba6VRpkevvOWUW5a/PhShij4+vHT9M+ghgG7eM+a9JDUQ== dependencies: - is-number "^2.1.0" - isobject "^2.0.0" - randomatic "^3.0.0" - repeat-element "^1.1.2" - repeat-string "^1.5.2" + minimatch "^3.0.4" fill-range@^4.0.0: version "4.0.0" @@ -6822,6 +7269,11 @@ flatted@^2.0.0: resolved "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== +flatten@^1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" + integrity sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg== + flush-write-stream@^1.0.0, flush-write-stream@^1.0.2: version "1.1.1" resolved "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" @@ -6845,7 +7297,7 @@ for-in@^1.0.1, for-in@^1.0.2: resolved "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= -for-own@^0.1.3, for-own@^0.1.4: +for-own@^0.1.3: version "0.1.5" resolved "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4= @@ -6897,7 +7349,7 @@ fresh@0.5.2: resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= -friendly-errors-webpack-plugin@^1.7.0: +friendly-errors-webpack-plugin@1.7.0: version "1.7.0" resolved "https://registry.npmjs.org/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.0.tgz#efc86cbb816224565861a1be7a9d84d0aafea136" integrity sha512-K27M3VK30wVoOarP651zDmb93R9zF28usW4ocaK3mfQeIEI5BPht/EzZs5E8QLLwbLRJQMwscAjDxYPb1FuNiw== @@ -6914,11 +7366,6 @@ from2@^2.1.0: inherits "^2.0.1" readable-stream "^2.0.0" -fs-constants@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" - integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== - fs-extra@8.1.0, fs-extra@^8.1.0: version "8.1.0" resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" @@ -6928,6 +7375,15 @@ fs-extra@8.1.0, fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" +fs-extra@^7.0.0: + version "7.0.1" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + fs-extra@^9.0.0: version "9.0.1" resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" @@ -6975,12 +7431,7 @@ fs.realpath@^1.0.0: resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fs@0.0.2: - version "0.0.2" - resolved "https://registry.npmjs.org/fs/-/fs-0.0.2.tgz#e1f244ef3933c1b2a64bd4799136060d0f5914f8" - integrity sha1-4fJE7zkzwbKmS9R5kTYGDQ9ZFPg= - -fsevents@^1.0.0, fsevents@^1.2.7: +fsevents@^1.2.7: version "1.2.13" resolved "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== @@ -7170,21 +7621,6 @@ gitconfiglocal@^1.0.0: dependencies: ini "^1.3.2" -glob-base@^0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" - integrity sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q= - dependencies: - glob-parent "^2.0.0" - is-glob "^2.0.0" - -glob-parent@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" - integrity sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg= - dependencies: - is-glob "^2.0.0" - glob-parent@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" @@ -7193,7 +7629,7 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" -glob-parent@^5.0.0, glob-parent@~5.1.0: +glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@^5.1.1, glob-parent@~5.1.0: version "5.1.1" resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== @@ -7233,7 +7669,7 @@ glob@7.1.4: once "^1.3.0" path-is-absolute "^1.0.0" -glob@7.1.6, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: +glob@7.1.6, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: version "7.1.6" resolved "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -7261,13 +7697,6 @@ global-modules@^1.0.0: is-windows "^1.0.1" resolve-dir "^1.0.0" -global-modules@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" - integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== - dependencies: - global-prefix "^3.0.0" - global-prefix@^1.0.1: version "1.0.2" resolved "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" @@ -7279,42 +7708,22 @@ global-prefix@^1.0.1: is-windows "^1.0.1" which "^1.2.14" -global-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" - integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== - dependencies: - ini "^1.3.5" - kind-of "^6.0.2" - which "^1.3.1" - globals@^11.1.0, globals@^11.7.0: version "11.12.0" resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globby@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" - integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= - dependencies: - array-union "^1.0.1" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -globby@^7.1.1: - version "7.1.1" - resolved "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" - integrity sha1-+yzP+UAfhgCUXfral0QMypcrhoA= +globby@^11.0.1: + version "11.0.1" + resolved "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357" + integrity sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ== dependencies: - array-union "^1.0.1" - dir-glob "^2.0.0" - glob "^7.1.2" - ignore "^3.3.5" - pify "^3.0.0" - slash "^1.0.0" + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" globby@^9.2.0: version "9.2.0" @@ -7403,6 +7812,11 @@ gulp-typescript@5.0.1: vinyl "^2.1.0" vinyl-fs "^3.0.3" +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" + integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== + handlebars@^4.7.6: version "4.7.6" resolved "https://registry.npmjs.org/handlebars/-/handlebars-4.7.6.tgz#d4c05c1baf90e9945f77aa68a7a219aa4a7df74e" @@ -7517,11 +7931,6 @@ hash-base@^3.0.0: readable-stream "^3.6.0" safe-buffer "^5.2.0" -hash-sum@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04" - integrity sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ= - hash-sum@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz#81d01bb5de8ea4a214ad5d6ead1b523460b0b45a" @@ -7535,7 +7944,7 @@ hash.js@^1.0.0, hash.js@^1.0.3: inherits "^2.0.3" minimalistic-assert "^1.0.1" -he@1.2.x, he@^1.1.0: +he@1.2.x: version "1.2.0" resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== @@ -7566,6 +7975,16 @@ hosted-git-info@^2.1.4, hosted-git-info@^2.7.1: resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + hsl-regex@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" @@ -7581,11 +8000,6 @@ html-comment-regex@^1.1.0: resolved "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7" integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ== -html-entities@^1.2.0: - version "1.3.1" - resolved "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz#fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44" - integrity sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA== - html-minifier@^3.2.3: version "3.5.21" resolved "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c" @@ -7639,6 +8053,11 @@ http-cache-semantics@^4.0.0: resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" + integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= + http-errors@1.7.2: version "1.7.2" resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" @@ -7650,7 +8069,7 @@ http-errors@1.7.2: statuses ">= 1.5.0 < 2" toidentifier "1.0.0" -http-errors@1.7.3, http-errors@~1.7.2: +http-errors@~1.7.2: version "1.7.3" resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== @@ -7661,6 +8080,11 @@ http-errors@1.7.3, http-errors@~1.7.2: statuses ">= 1.5.0 < 2" toidentifier "1.0.0" +http-parser-js@>=0.5.1: + version "0.5.2" + resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.2.tgz#da2e31d237b393aae72ace43882dd7e270a8ff77" + integrity sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ== + http-proxy-agent@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405" @@ -7669,7 +8093,18 @@ http-proxy-agent@^2.1.0: agent-base "4" debug "3.1.0" -http-proxy@^1.12.0: +http-proxy-middleware@1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-1.0.5.tgz#4c6e25d95a411e3d750bc79ccf66290675176dc2" + integrity sha512-CKzML7u4RdGob8wuKI//H8Ein6wNTEQR7yjVEzPbhBLGdOfkfvgTnp2HLnniKBDP9QW4eG10/724iTWLBeER3g== + dependencies: + "@types/http-proxy" "^1.17.4" + http-proxy "^1.18.1" + is-glob "^4.0.1" + lodash "^4.17.19" + micromatch "^4.0.2" + +http-proxy@^1.18.1: version "1.18.1" resolved "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== @@ -7771,21 +8206,26 @@ ignore-walk@^3.0.1: dependencies: minimatch "^3.0.4" -ignore@^3.3.5: - version "3.3.10" - resolved "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" - integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== - ignore@^4.0.3, ignore@^4.0.6: version "4.0.6" resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== +ignore@^5.1.4: + version "5.1.8" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + image-size@~0.5.0: version "0.5.5" resolved "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w= +immer@7.0.5: + version "7.0.5" + resolved "https://registry.npmjs.org/immer/-/immer-7.0.5.tgz#8af347db5b60b40af8ae7baf1784ea4d35b5208e" + integrity sha512-TtRAKZyuqld2eYjvWgXISLJ0ZlOl1OOTzRmrmiY8SlB0dnAhZ1OiykIDL5KDFNaPHDXiLfGQFNJGtet8z8AEmg== + import-cwd@^2.0.0, import-cwd@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" @@ -7889,7 +8329,7 @@ inherits@2.0.3: resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= -ini@^1.3.2, ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: +ini@^1.3.2, ini@^1.3.4, ini@~1.3.0: version "1.3.5" resolved "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== @@ -7925,12 +8365,7 @@ inquirer@6.5.2, inquirer@^6.2.0, inquirer@^6.2.2: rxjs "^6.4.0" string-width "^2.1.0" strip-ansi "^5.1.0" - through "^2.3.6" - -interpret@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + through "^2.3.6" invariant@^2.2.2: version "2.2.4" @@ -7939,10 +8374,10 @@ invariant@^2.2.2: dependencies: loose-envify "^1.0.0" -invert-kv@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" - integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= +invert-kv@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/invert-kv/-/invert-kv-3.0.1.tgz#a93c7a3d4386a1dc8325b97da9bb1620c0282523" + integrity sha512-CYdFeFexxhv/Bcny+Q0BfOV+ltRlJcd4BBZBYFX/O0u4npJrgZtIcjokegtiSMAvlMTJ+Koq0GBCc//3bueQxw== ip@1.1.5: version "1.1.5" @@ -8088,18 +8523,6 @@ is-docker@^2.0.0: resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156" integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw== -is-dotfile@^1.0.0: - version "1.0.3" - resolved "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" - integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE= - -is-equal-shallow@^0.1.3: - version "0.1.3" - resolved "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" - integrity sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ= - dependencies: - is-primitive "^2.0.0" - is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" @@ -8112,11 +8535,6 @@ is-extendable@^1.0.1: dependencies: is-plain-object "^2.0.4" -is-extglob@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" - integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA= - is-extglob@^2.1.0, is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" @@ -8144,13 +8562,6 @@ is-fullwidth-code-point@^3.0.0: resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== -is-glob@^2.0.0, is-glob@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" - integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM= - dependencies: - is-extglob "^1.0.0" - is-glob@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" @@ -8193,13 +8604,6 @@ is-npm@^3.0.0: resolved "https://registry.npmjs.org/is-npm/-/is-npm-3.0.0.tgz#ec9147bfb629c43f494cf67936a961edec7e8053" integrity sha512-wsigDr1Kkschp2opC4G3yA6r9EgVA6NjRpWzIi9axXqeIaAATPRJc4uLujXe3Nd9uO8KoDyA4MD6aZSeXTADhA== -is-number@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" - integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8= - dependencies: - kind-of "^3.0.2" - is-number@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" @@ -8207,11 +8611,6 @@ is-number@^3.0.0: dependencies: kind-of "^3.0.2" -is-number@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" - integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== - is-number@^7.0.0: version "7.0.0" resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" @@ -8227,18 +8626,6 @@ is-obj@^2.0.0: resolved "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== -is-path-cwd@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" - integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== - -is-path-in-cwd@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb" - integrity sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ== - dependencies: - is-path-inside "^2.1.0" - is-path-inside@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" @@ -8246,13 +8633,6 @@ is-path-inside@^1.0.0: dependencies: path-is-inside "^1.0.1" -is-path-inside@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" - integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg== - dependencies: - path-is-inside "^1.0.2" - is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" @@ -8270,16 +8650,6 @@ is-plain-object@^5.0.0: resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== -is-posix-bracket@^0.1.0: - version "0.1.1" - resolved "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" - integrity sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q= - -is-primitive@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" - integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU= - is-reference@^1.1.2: version "1.2.1" resolved "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" @@ -8443,6 +8813,21 @@ istanbul-lib-instrument@^3.3.0: istanbul-lib-coverage "^2.0.5" semver "^6.0.0" +jake@^10.6.1: + version "10.8.2" + resolved "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz#ebc9de8558160a66d82d0eadc6a2e58fbc500a7b" + integrity sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A== + dependencies: + async "0.9.x" + chalk "^2.4.2" + filelist "^1.0.1" + minimatch "^3.0.4" + +javascript-stringify@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.0.1.tgz#6ef358035310e35d667c675ed63d3eb7c1aa19e5" + integrity sha512-yV+gqbd5vaOYjqlbk16EG89xB5udgjqQF3C5FAORDg4f/IS1Yc5ERCv5e/57yBcfJYw05V5JyIXabhwb75Xxow== + jest-worker@^24.6.0: version "24.9.0" resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" @@ -8451,11 +8836,12 @@ jest-worker@^24.6.0: merge-stream "^2.0.0" supports-color "^6.1.0" -jest-worker@^25.4.0: - version "25.5.0" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz#2611d071b79cea0f43ee57a3d118593ac1547db1" - integrity sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw== +jest-worker@^26.3.0: + version "26.6.2" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" + integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== dependencies: + "@types/node" "*" merge-stream "^2.0.0" supports-color "^7.0.0" @@ -8538,10 +8924,10 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= -json-templater@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/json-templater/-/json-templater-1.2.0.tgz#d12c96c7781d8451d623a8bee9b58f6901a8b15e" - integrity sha512-u2l5PGQuLs6eoeAW6z7LOgyk17d7v4LutnO630ZQt1Nw9XxzepU4vD1HDlYV45d0aR3tBek4AK6GYWbEI0nhOQ== +json3@^3.3.3: + version "3.3.3" + resolved "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" + integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== json5@^0.5.0: version "0.5.1" @@ -8636,15 +9022,13 @@ kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -klona@^2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz#7bb1e3affb0cb8624547ef7e8f6708ea2e39dfc0" - integrity sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA== +last-call-webpack-plugin@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555" + integrity sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w== + dependencies: + lodash "^4.17.5" + webpack-sources "^1.1.0" latest-version@^5.0.0: version "5.1.0" @@ -8670,12 +9054,12 @@ lazystream@^1.0.0: dependencies: readable-stream "^2.0.5" -lcid@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" - integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= +lcid@^3.0.0: + version "3.1.1" + resolved "https://registry.npmjs.org/lcid/-/lcid-3.1.1.tgz#9030ec479a058fc36b5e8243ebaac8b6ac582fd0" + integrity sha512-M6T051+5QCGLBQb8id3hdvIW8+zeFV2FyBGFS9IEK5H9Wt4MueD4bW1eWikpHgZp+5xR3l5c8pZUkQsIA0BFZg== dependencies: - invert-kv "^1.0.0" + invert-kv "^3.0.0" lead@^1.0.0: version "1.0.0" @@ -8708,14 +9092,14 @@ lerna@^3.18.4: import-local "^2.0.0" npmlog "^4.1.2" -less-loader@^7.0.2: - version "7.0.2" - resolved "https://registry.npmjs.org/less-loader/-/less-loader-7.0.2.tgz#0d73a49ec32a9d3ff12614598e6e2b47fb2a35c4" - integrity sha512-7MKlgjnkCf63E3Lv6w2FvAEgLMx3d/tNBExITcanAq7ys5U8VPWT3F6xcRjYmdNfkoQ9udoVFb1r2azSiTnD6w== +less-loader@5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/less-loader/-/less-loader-5.0.0.tgz#498dde3a6c6c4f887458ee9ed3f086a12ad1b466" + integrity sha512-bquCU89mO/yWLaUq0Clk7qCsKhsF/TZpJUzETRvJa9KSVEL9SO3ovCvdEHISBhrC81OwC8QSVX7E0bzElZj9cg== dependencies: - klona "^2.0.4" - loader-utils "^2.0.0" - schema-utils "^3.0.0" + clone "^2.1.1" + loader-utils "^1.1.0" + pify "^4.0.1" less-plugin-npm-import@2.1.0: version "2.1.0" @@ -8725,7 +9109,7 @@ less-plugin-npm-import@2.1.0: promise "~7.0.1" resolve "~1.1.6" -"less@2.6.x || ^3.7.1", less@^3.12.2: +"less@2.6.x || ^3.7.1", less@3.12.2: version "3.12.2" resolved "https://registry.npmjs.org/less/-/less-3.12.2.tgz#157e6dd32a68869df8859314ad38e70211af3ab4" integrity sha512-+1V2PCMFkL+OIj2/HrtrvZw0BC0sYLMICJfbQjuj/K8CEnlrFX6R5cKKgzzttsZDHyxQNL1jqMREjKN3ja/E3Q== @@ -8756,6 +9140,11 @@ less@3.9.0: request "^2.83.0" source-map "~0.6.0" +levdist@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/levdist/-/levdist-1.0.0.tgz#91d7a3044964f2ccc421a0477cac827fe75c5718" + integrity sha1-kdejBElk8szEIaBHfKyCf+dcVxg= + leven@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" @@ -8776,6 +9165,13 @@ levn@^0.3.0, levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" +line-diff@^2.0.1: + version "2.1.1" + resolved "https://registry.npmjs.org/line-diff/-/line-diff-2.1.1.tgz#a389799b931375a3b1e764964ad0b0b3ce60d6f6" + integrity sha512-vswdynAI5AMPJacOo2o+JJ4caDJbnY2NEqms4MhMW0NJbjh3skP/brpVTAgBxrg55NRZ2Vtw88ef18hnagIpYQ== + dependencies: + levdist "^1.0.0" + lines-and-columns@^1.1.6: version "1.1.6" resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" @@ -8858,7 +9254,7 @@ load-json-file@^5.3.0: strip-bom "^3.0.0" type-fest "^0.3.0" -loader-runner@^2.3.1, loader-runner@^2.4.0: +loader-runner@^2.4.0: version "2.4.0" resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== @@ -9011,6 +9407,11 @@ lodash.templatesettings@^4.0.0: dependencies: lodash._reinterpolate "^3.0.0" +lodash.toarray@^4.4.0: + version "4.4.0" + resolved "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561" + integrity sha1-JMS/zWsvuji/0FlNsRedjptlZWE= + lodash.uniq@^4.3.0, lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" @@ -9021,7 +9422,7 @@ lodash@4.17.15: resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== -lodash@4.17.20, lodash@^4.15.0, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.1: +lodash@4.17.20, "lodash@>=3.5 <5", lodash@^4.15.0, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1: version "4.17.20" resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== @@ -9043,6 +9444,11 @@ log-update@^4.0.0: slice-ansi "^4.0.0" wrap-ansi "^6.2.0" +loglevel@^1.6.2: + version "1.7.0" + resolved "https://registry.npmjs.org/loglevel/-/loglevel-1.7.0.tgz#728166855a740d59d38db01cf46f042caa041bb0" + integrity sha512-i2sY04nal5jDcagM3FMfG++T69GEEM8CYuOfeOIvmXzOIcwE9a/CJPR0MFM97pYMj/u10lzz7/zd7+qwhrBTqQ== + longest@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" @@ -9083,7 +9489,7 @@ lowercase-keys@^2.0.0: resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== -lru-cache@^4.0.0, lru-cache@^4.0.1: +lru-cache@^4.0.1: version "4.1.5" resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== @@ -9156,6 +9562,13 @@ make-fetch-happen@^5.0.0: socks-proxy-agent "^4.0.0" ssri "^6.0.0" +map-age-cleaner@^0.1.3: + version "0.1.3" + resolved "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" + integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== + dependencies: + p-defer "^1.0.0" + map-cache@^0.2.2: version "0.2.2" resolved "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" @@ -9183,10 +9596,22 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" -math-random@^1.0.1: - version "1.0.4" - resolved "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz#5dd6943c938548267016d4e34f057583080c514c" - integrity sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A== +marked-terminal@4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/marked-terminal/-/marked-terminal-4.1.0.tgz#01087372d3636dc7cb286475a1d6147187f500e0" + integrity sha512-5KllfAOW02WS6hLRQ7cNvGOxvKW1BKuXELH4EtbWfyWgxQhROoMxEvuQ/3fTgkNjledR0J48F4HbapvYp1zWkQ== + dependencies: + ansi-escapes "^4.3.1" + cardinal "^2.1.1" + chalk "^4.0.0" + cli-table "^0.3.1" + node-emoji "^1.10.0" + supports-hyperlinks "^2.1.0" + +marked@1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/marked/-/marked-1.1.1.tgz#e5d61b69842210d5df57b05856e0c91572703e6a" + integrity sha512-mJzT8D2yPxoPh7h0UXkB+dBj4FykPJ2OIfxAWeIHrvoHDkFxukV/29QxoFQoPM6RLEwhIFdJpmKBlqVM3s2ZIw== md5.js@^1.3.4: version "1.3.5" @@ -9212,6 +9637,15 @@ media-typer@0.3.0: resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= +mem@^5.0.0: + version "5.1.1" + resolved "https://registry.npmjs.org/mem/-/mem-5.1.1.tgz#7059b67bf9ac2c924c9f1cff7155a064394adfb3" + integrity sha512-qvwipnozMohxLXG1pOqoLiZKNkC4r4qqRucSoDwXowsNGDSULiqFTRUF05vcZWnwJSG22qTsynQhxbaMtnX9gw== + dependencies: + map-age-cleaner "^0.1.3" + mimic-fn "^2.1.0" + p-is-promise "^2.1.0" + memory-fs@^0.4.1: version "0.4.1" resolved "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" @@ -9309,7 +9743,7 @@ merge-stream@^2.0.0: resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -merge2@^1.2.3: +merge2@^1.2.3, merge2@^1.3.0: version "1.4.1" resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== @@ -9324,25 +9758,6 @@ methods@~1.1.2: resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= -micromatch@^2.1.5: - version "2.3.11" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" - integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU= - dependencies: - arr-diff "^2.0.0" - array-unique "^0.2.1" - braces "^1.8.2" - expand-brackets "^0.1.4" - extglob "^0.3.1" - filename-regex "^2.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.1" - kind-of "^3.0.2" - normalize-path "^2.0.1" - object.omit "^2.0.0" - parse-glob "^3.0.4" - regex-cache "^0.4.2" - micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: version "3.1.10" resolved "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" @@ -9383,7 +9798,12 @@ mime-db@1.44.0: resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== -mime-types@^2.1.12, mime-types@~2.1.19, mime-types@~2.1.24: +"mime-db@>= 1.43.0 < 2": + version "1.45.0" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea" + integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w== + +mime-types@^2.1.12, mime-types@^2.1.26, mime-types@~2.1.19, mime-types@~2.1.24: version "2.1.27" resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== @@ -9420,16 +9840,6 @@ min-indent@^1.0.0: resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== -mini-css-extract-plugin@^0.8.0: - version "0.8.2" - resolved "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.2.tgz#a875e169beb27c88af77dd962771c9eedc3da161" - integrity sha512-a3Y4of27Wz+mqK3qrcd3VhYz6cU0iW5x3Sgvqzbj+XmlrSizmvu8QQMl5oMYJjgHOC4iyt+w7l4umP+dQeW3bw== - dependencies: - loader-utils "^1.1.0" - normalize-url "1.9.1" - schema-utils "^1.0.0" - webpack-sources "^1.1.0" - minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" @@ -9559,7 +9969,7 @@ mkdirp-promise@^5.0.1: dependencies: mkdirp "*" -mkdirp@*, mkdirp@1.0.4, mkdirp@^1.0.3, mkdirp@^1.0.4, mkdirp@~1.0.4: +mkdirp@*, mkdirp@1.0.4, mkdirp@^1.0.3, mkdirp@^1.0.4: version "1.0.4" resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== @@ -9571,29 +9981,11 @@ mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.1: dependencies: minimist "^1.2.5" -mockjs@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/mockjs/-/mockjs-1.1.0.tgz#e6a0c378e91906dbaff20911cc0273b3c7d75b06" - integrity sha512-eQsKcWzIaZzEZ07NuEyO4Nw65g0hdWAyurVol1IPl1gahRwY+svqzfgfey8U8dahLwG44d6/RwEzuK52rSa/JQ== - dependencies: - commander "*" - modify-values@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== -morgan@^1.2.2: - version "1.10.0" - resolved "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz#091778abc1fc47cd3509824653dae1faab6b17d7" - integrity sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ== - dependencies: - basic-auth "~2.0.1" - debug "2.6.9" - depd "~2.0.0" - on-finished "~2.3.0" - on-headers "~1.0.2" - move-concurrently@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" @@ -9631,7 +10023,7 @@ multimatch@^3.0.0: arrify "^1.0.1" minimatch "^3.0.4" -mustache@4.0.1, mustache@^4.0.1: +mustache@4.0.1: version "4.0.1" resolved "https://registry.npmjs.org/mustache/-/mustache-4.0.1.tgz#d99beb031701ad433338e7ea65e0489416c854a2" integrity sha512-yL5VE97+OXn4+Er3THSmTdCFCtx5hHWzrolvH+JObZnUYwuaG7XV+Ch4fR2cIrcYI0tFHxS7iyFYl14bW8y2sA== @@ -9709,6 +10101,13 @@ no-case@^2.2.0: dependencies: lower-case "^1.1.1" +node-emoji@^1.10.0: + version "1.10.0" + resolved "https://registry.npmjs.org/node-emoji/-/node-emoji-1.10.0.tgz#8886abd25d9c7bb61802a658523d1f8d2a89b2da" + integrity sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw== + dependencies: + lodash.toarray "^4.4.0" + node-fetch-npm@^2.0.2: version "2.0.4" resolved "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.4.tgz#6507d0e17a9ec0be3bec516958a497cec54bf5a4" @@ -9774,16 +10173,16 @@ node-modules-regexp@^1.0.0: resolved "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= -node-plus-string@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/node-plus-string/-/node-plus-string-1.0.1.tgz#fdec7cc02b712800ee3c026bfa4ceb3a95906a9f" - integrity sha1-/ex8wCtxKADuPAJr+kzrOpWQap8= - node-releases@^1.1.61: version "1.1.65" resolved "https://registry.npmjs.org/node-releases/-/node-releases-1.1.65.tgz#52d9579176bd60f23eba05c4438583f341944b81" integrity sha512-YpzJOe2WFIW0V4ZkJQd/DGR/zdVwc/pI4Nl1CZrBO19FdRcSTmsuhdttw9rsTzzJLrNcSloLiBbEYx1C4f6gpA== +node-releases@^1.1.66: + version "1.1.66" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-1.1.66.tgz#609bd0dc069381015cd982300bae51ab4f1b1814" + integrity sha512-JHEQ1iWPGK+38VLB2H9ef2otU4l8s3yAMt9Xf934r6+ojCYDMHPMqvCc9TnzfeFSP1QEOeU6YZEd3+De0LTCgg== + nopt@^4.0.1: version "4.0.3" resolved "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" @@ -9802,12 +10201,7 @@ normalize-package-data@^2.0.0, normalize-package-data@^2.3.0, normalize-package- semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" -normalize-path@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz#32d0e472f91ff345701c15a8311018d3b0a90379" - integrity sha1-MtDkcvkf80VwHBWoMRAY07CpA3k= - -normalize-path@^2.0.0, normalize-path@^2.0.1, normalize-path@^2.1.1: +normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= @@ -10009,14 +10403,6 @@ object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0 define-properties "^1.1.3" es-abstract "^1.17.0-next.1" -object.omit@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" - integrity sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo= - dependencies: - for-own "^0.1.4" - is-extendable "^0.1.1" - object.pick@^1.3.0: version "1.3.0" resolved "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" @@ -10034,12 +10420,17 @@ object.values@^1.1.0, object.values@^1.1.1: function-bind "^1.1.1" has "^1.0.3" +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" + integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== + octokit-pagination-methods@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz#cf472edc9d551055f9ef73f6e42b4dbb4c80bea4" integrity sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ== -on-finished@^2.3.0, on-finished@~2.3.0: +on-finished@~2.3.0: version "2.3.0" resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= @@ -10072,19 +10463,19 @@ onetime@^5.1.0: dependencies: mimic-fn "^2.1.0" -open@^7.3.0: - version "7.3.0" - resolved "https://registry.npmjs.org/open/-/open-7.3.0.tgz#45461fdee46444f3645b6e14eb3ca94b82e1be69" - integrity sha512-mgLwQIx2F/ye9SmbrUkurZCnkoXyXyu9EbHtJZrICjVAJfyMArdHp3KkixGdZx1ZHFPNIwl0DDM1dFFqXbTLZw== - dependencies: - is-docker "^2.0.0" - is-wsl "^2.1.1" - opencollective-postinstall@^2.0.2: version "2.0.3" resolved "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== +optimize-css-assets-webpack-plugin@5.0.4: + version "5.0.4" + resolved "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.4.tgz#85883c6528aaa02e30bbad9908c92926bb52dc90" + integrity sha512-wqd6FdI2a5/FdoiCNNkEvLeA//lHHfG24Ln2Xm2qqdIk4aOlsR18jwpyOihqQ8849W3qu2DX8fOYxpvTMj+93A== + dependencies: + cssnano "^4.1.10" + last-call-webpack-plugin "^3.0.0" + optionator@^0.8.2: version "0.8.3" resolved "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" @@ -10104,6 +10495,13 @@ ordered-read-streams@^1.0.0: dependencies: readable-stream "^2.0.1" +original@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" + integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg== + dependencies: + url-parse "^1.4.3" + os-browserify@^0.3.0: version "0.3.0" resolved "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" @@ -10114,12 +10512,14 @@ os-homedir@^1.0.0: resolved "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= -os-locale@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" - integrity sha1-IPnxeuKe00XoveWDsT0gCYA8FNk= +os-locale@5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/os-locale/-/os-locale-5.0.0.tgz#6d26c1d95b6597c5d5317bf5fba37eccec3672e0" + integrity sha512-tqZcNEDAIZKBEPnHPlVDvKrp7NzgLi7jRmhKiUoa2NUmhl13FtkAGLUVR+ZsYvApBQdBfYm43A4tXXQ4IrYLBA== dependencies: - lcid "^1.0.0" + execa "^4.0.0" + lcid "^3.0.0" + mem "^5.0.0" os-name@^3.1.0: version "3.1.0" @@ -10129,11 +10529,6 @@ os-name@^3.1.0: macos-release "^2.2.0" windows-release "^3.1.0" -os-shim@^0.1.2: - version "0.1.3" - resolved "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917" - integrity sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc= - os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -10152,11 +10547,21 @@ p-cancelable@^1.0.0: resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== +p-defer@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" + integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= + p-finally@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= +p-is-promise@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" + integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== + p-limit@^1.1.0: version "1.3.0" resolved "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" @@ -10164,7 +10569,7 @@ p-limit@^1.1.0: dependencies: p-try "^1.0.0" -p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.2.1, p-limit@^2.3.0: +p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== @@ -10213,18 +10618,11 @@ p-map-series@^1.0.0: dependencies: p-reduce "^1.0.0" -p-map@^2.0.0, p-map@^2.1.0: +p-map@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== -p-map@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" - integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== - dependencies: - aggregate-error "^3.0.0" - p-map@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" @@ -10325,16 +10723,6 @@ parse-github-repo-url@^1.3.0: resolved "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz#9e7d8bb252a6cb6ba42595060b7bf6df3dbc1f50" integrity sha1-nn2LslKmy2ukJZUGC3v23z28H1A= -parse-glob@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" - integrity sha1-ssN2z7EfNVE7rdFz7wu246OIORw= - dependencies: - glob-base "^0.3.0" - is-dotfile "^1.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.0" - parse-json@^2.2.0: version "2.2.0" resolved "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" @@ -10490,14 +10878,6 @@ path-type@^4.0.0: resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -path@^0.12.7: - version "0.12.7" - resolved "https://registry.npmjs.org/path/-/path-0.12.7.tgz#d4dc2a506c4ce2197eb481ebfcd5b36c0140b10f" - integrity sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8= - dependencies: - process "^0.11.1" - util "^0.10.3" - pbkdf2@^3.0.3: version "3.1.1" resolved "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" @@ -10582,7 +10962,7 @@ pkg-dir@^4.1.0, pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" -pkg-up@3.1.0, pkg-up@^3.1.0: +pkg-up@3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== @@ -10617,6 +10997,15 @@ plugin-error@^1.0.1: arr-union "^3.1.0" extend-shallow "^3.0.2" +portfinder@1.0.26: + version "1.0.26" + resolved "https://registry.npmjs.org/portfinder/-/portfinder-1.0.26.tgz#475658d56ca30bed72ac7f1378ed350bd1b64e70" + integrity sha512-Xi7mKxJHHMI3rIUrnm/jjUgwhbYMkp/XKEcZX3aG4BrumLpq3nmoQMX+ClYnDZnZ/New7IatC1no5RX0zo1vXQ== + dependencies: + async "^2.6.2" + debug "^3.1.1" + mkdirp "^0.5.1" + portfinder@1.0.28: version "1.0.28" resolved "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" @@ -10631,6 +11020,14 @@ posix-character-classes@^0.1.0: resolved "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= +postcss-attribute-case-insensitive@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz#d93e46b504589e94ac7277b0463226c68041a880" + integrity sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA== + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^6.0.2" + postcss-calc@^7.0.1: version "7.0.5" resolved "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz#f8a6e99f12e619c2ebc23cf6c486fdc15860933e" @@ -10640,6 +11037,48 @@ postcss-calc@^7.0.1: postcss-selector-parser "^6.0.2" postcss-value-parser "^4.0.2" +postcss-color-functional-notation@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz#5efd37a88fbabeb00a2966d1e53d98ced93f74e0" + integrity sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g== + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-color-gray@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz#532a31eb909f8da898ceffe296fdc1f864be8547" + integrity sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw== + dependencies: + "@csstools/convert-colors" "^1.4.0" + postcss "^7.0.5" + postcss-values-parser "^2.0.0" + +postcss-color-hex-alpha@^5.0.3: + version "5.0.3" + resolved "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz#a8d9ca4c39d497c9661e374b9c51899ef0f87388" + integrity sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw== + dependencies: + postcss "^7.0.14" + postcss-values-parser "^2.0.1" + +postcss-color-mod-function@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz#816ba145ac11cc3cb6baa905a75a49f903e4d31d" + integrity sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ== + dependencies: + "@csstools/convert-colors" "^1.4.0" + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-color-rebeccapurple@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz#c7a89be872bb74e45b1e3022bfe5748823e6de77" + integrity sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g== + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + postcss-colormin@^4.0.3: version "4.0.3" resolved "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" @@ -10659,6 +11098,37 @@ postcss-convert-values@^4.0.1: postcss "^7.0.0" postcss-value-parser "^3.0.0" +postcss-custom-media@^7.0.8: + version "7.0.8" + resolved "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz#fffd13ffeffad73621be5f387076a28b00294e0c" + integrity sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg== + dependencies: + postcss "^7.0.14" + +postcss-custom-properties@^8.0.11: + version "8.0.11" + resolved "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz#2d61772d6e92f22f5e0d52602df8fae46fa30d97" + integrity sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA== + dependencies: + postcss "^7.0.17" + postcss-values-parser "^2.0.1" + +postcss-custom-selectors@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz#64858c6eb2ecff2fb41d0b28c9dd7b3db4de7fba" + integrity sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w== + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^5.0.0-rc.3" + +postcss-dir-pseudo-class@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz#6e3a4177d0edb3abcc85fdb6fbb1c26dabaeaba2" + integrity sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw== + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^5.0.0-rc.3" + postcss-discard-comments@^4.0.2: version "4.0.2" resolved "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" @@ -10687,6 +11157,82 @@ postcss-discard-overridden@^4.0.1: dependencies: postcss "^7.0.0" +postcss-double-position-gradients@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz#fc927d52fddc896cb3a2812ebc5df147e110522e" + integrity sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA== + dependencies: + postcss "^7.0.5" + postcss-values-parser "^2.0.0" + +postcss-env-function@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz#0f3e3d3c57f094a92c2baf4b6241f0b0da5365d7" + integrity sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw== + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-flexbugs-fixes@4.2.1: + version "4.2.1" + resolved "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.2.1.tgz#9218a65249f30897deab1033aced8578562a6690" + integrity sha512-9SiofaZ9CWpQWxOwRh1b/r85KD5y7GgvsNt1056k6OYLvWUun0czCvogfJgylC22uJTwW1KzY3Gz65NZRlvoiQ== + dependencies: + postcss "^7.0.26" + +postcss-focus-visible@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz#477d107113ade6024b14128317ade2bd1e17046e" + integrity sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g== + dependencies: + postcss "^7.0.2" + +postcss-focus-within@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz#763b8788596cee9b874c999201cdde80659ef680" + integrity sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w== + dependencies: + postcss "^7.0.2" + +postcss-font-variant@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz#42d4c0ab30894f60f98b17561eb5c0321f502641" + integrity sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA== + dependencies: + postcss "^7.0.2" + +postcss-gap-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz#431c192ab3ed96a3c3d09f2ff615960f902c1715" + integrity sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg== + dependencies: + postcss "^7.0.2" + +postcss-image-set-function@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz#28920a2f29945bed4c3198d7df6496d410d3f288" + integrity sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw== + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-initial@^3.0.0: + version "3.0.2" + resolved "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.2.tgz#f018563694b3c16ae8eaabe3c585ac6319637b2d" + integrity sha512-ugA2wKonC0xeNHgirR4D3VWHs2JcU08WAi1KFLVcnb7IN89phID6Qtg2RIctWbnvp1TM2BOmDtX8GGLCKdR8YA== + dependencies: + lodash.template "^4.5.0" + postcss "^7.0.2" + +postcss-lab-function@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz#bb51a6856cd12289ab4ae20db1e3821ef13d7d2e" + integrity sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg== + dependencies: + "@csstools/convert-colors" "^1.4.0" + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + postcss-load-config@^2.0.0: version "2.1.2" resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a" @@ -10695,16 +11241,29 @@ postcss-load-config@^2.0.0: cosmiconfig "^5.0.0" import-cwd "^2.0.0" -postcss-loader@^4.0.4: - version "4.0.4" - resolved "https://registry.npmjs.org/postcss-loader/-/postcss-loader-4.0.4.tgz#b2d005b52e008a44991cf8123bee207e635eb53e" - integrity sha512-pntA9zIR14drQo84yGTjQJg1m7T0DkXR4vXYHBngiRZdJtEeCrojL6lOpqUanMzG375lIJbT4Yug85zC/AJWGw== +postcss-loader@3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d" + integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA== dependencies: - cosmiconfig "^7.0.0" - klona "^2.0.4" - loader-utils "^2.0.0" - schema-utils "^3.0.0" - semver "^7.3.2" + loader-utils "^1.1.0" + postcss "^7.0.0" + postcss-load-config "^2.0.0" + schema-utils "^1.0.0" + +postcss-logical@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz#2495d0f8b82e9f262725f75f9401b34e7b45d5b5" + integrity sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA== + dependencies: + postcss "^7.0.2" + +postcss-media-minmax@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz#b75bb6cbc217c8ac49433e12f22048814a4f5ed5" + integrity sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw== + dependencies: + postcss "^7.0.2" postcss-merge-longhand@^4.0.11: version "4.0.11" @@ -10858,6 +11417,13 @@ postcss-modules@^3.2.2: postcss-modules-values "^3.0.0" string-hash "^1.1.1" +postcss-nesting@^7.0.0: + version "7.0.1" + resolved "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz#b50ad7b7f0173e5b5e3880c3501344703e04c052" + integrity sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg== + dependencies: + postcss "^7.0.2" + postcss-normalize-charset@^4.0.1: version "4.0.1" resolved "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" @@ -10948,6 +11514,79 @@ postcss-ordered-values@^4.1.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" +postcss-overflow-shorthand@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz#31ecf350e9c6f6ddc250a78f0c3e111f32dd4c30" + integrity sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g== + dependencies: + postcss "^7.0.2" + +postcss-page-break@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz#add52d0e0a528cabe6afee8b46e2abb277df46bf" + integrity sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ== + dependencies: + postcss "^7.0.2" + +postcss-place@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz#e9f39d33d2dc584e46ee1db45adb77ca9d1dcc62" + integrity sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg== + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-preset-env@6.7.0: + version "6.7.0" + resolved "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz#c34ddacf8f902383b35ad1e030f178f4cdf118a5" + integrity sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg== + dependencies: + autoprefixer "^9.6.1" + browserslist "^4.6.4" + caniuse-lite "^1.0.30000981" + css-blank-pseudo "^0.1.4" + css-has-pseudo "^0.10.0" + css-prefers-color-scheme "^3.1.1" + cssdb "^4.4.0" + postcss "^7.0.17" + postcss-attribute-case-insensitive "^4.0.1" + postcss-color-functional-notation "^2.0.1" + postcss-color-gray "^5.0.0" + postcss-color-hex-alpha "^5.0.3" + postcss-color-mod-function "^3.0.3" + postcss-color-rebeccapurple "^4.0.1" + postcss-custom-media "^7.0.8" + postcss-custom-properties "^8.0.11" + postcss-custom-selectors "^5.1.2" + postcss-dir-pseudo-class "^5.0.0" + postcss-double-position-gradients "^1.0.0" + postcss-env-function "^2.0.2" + postcss-focus-visible "^4.0.0" + postcss-focus-within "^3.0.0" + postcss-font-variant "^4.0.0" + postcss-gap-properties "^2.0.0" + postcss-image-set-function "^3.0.1" + postcss-initial "^3.0.0" + postcss-lab-function "^2.0.1" + postcss-logical "^3.0.0" + postcss-media-minmax "^4.0.0" + postcss-nesting "^7.0.0" + postcss-overflow-shorthand "^2.0.0" + postcss-page-break "^2.0.0" + postcss-place "^4.0.1" + postcss-pseudo-class-any-link "^6.0.0" + postcss-replace-overflow-wrap "^3.0.0" + postcss-selector-matches "^4.0.0" + postcss-selector-not "^4.0.0" + +postcss-pseudo-class-any-link@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz#2ed3eed393b3702879dec4a87032b210daeb04d1" + integrity sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew== + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^5.0.0-rc.3" + postcss-reduce-initial@^4.0.3: version "4.0.3" resolved "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" @@ -10968,6 +11607,36 @@ postcss-reduce-transforms@^4.0.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" +postcss-replace-overflow-wrap@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz#61b360ffdaedca84c7c918d2b0f0d0ea559ab01c" + integrity sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw== + dependencies: + postcss "^7.0.2" + +postcss-safe-parser@4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz#a6d4e48f0f37d9f7c11b2a581bf00f8ba4870b96" + integrity sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g== + dependencies: + postcss "^7.0.26" + +postcss-selector-matches@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz#71c8248f917ba2cc93037c9637ee09c64436fcff" + integrity sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww== + dependencies: + balanced-match "^1.0.0" + postcss "^7.0.2" + +postcss-selector-not@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.0.tgz#c68ff7ba96527499e832724a2674d65603b645c0" + integrity sha512-W+bkBZRhqJaYN8XAnbbZPLWMvZD1wKTu0UxtFKdhtGjWYmxhkUneoeOhRJKdAE5V7ZTlnbHfCR+6bNwK9e1dTQ== + dependencies: + balanced-match "^1.0.0" + postcss "^7.0.2" + postcss-selector-parser@^3.0.0: version "3.1.2" resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270" @@ -10977,6 +11646,15 @@ postcss-selector-parser@^3.0.0: indexes-of "^1.0.1" uniq "^1.0.1" +postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: + version "5.0.0" + resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c" + integrity sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ== + dependencies: + cssesc "^2.0.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: version "6.0.4" resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3" @@ -11006,7 +11684,7 @@ postcss-unique-selectors@^4.0.1: postcss "^7.0.0" uniqs "^2.0.0" -postcss-value-parser@^3.0.0, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.1: +postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.1: version "3.3.1" resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== @@ -11016,6 +11694,15 @@ postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== +postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f" + integrity sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg== + dependencies: + flatten "^1.0.2" + indexes-of "^1.0.1" + uniq "^1.0.1" + postcss@6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/postcss/-/postcss-6.0.1.tgz#000dbd1f8eef217aa368b9a212c5fc40b2a8f3f2" @@ -11025,7 +11712,16 @@ postcss@6.0.1: source-map "^0.5.6" supports-color "^3.2.3" -postcss@^6.0.1, postcss@^6.0.23: +postcss@7.0.32: + version "7.0.32" + resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d" + integrity sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw== + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + +postcss@^6.0.1: version "6.0.23" resolved "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== @@ -11034,7 +11730,7 @@ postcss@^6.0.1, postcss@^6.0.23: source-map "^0.6.1" supports-color "^5.4.0" -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0.5, postcss@^7.0.6: +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: version "7.0.35" resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== @@ -11058,10 +11754,10 @@ prepend-http@^2.0.0: resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= -preserve@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" - integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks= +prettier@2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/prettier/-/prettier-2.1.1.tgz#d9485dd5e499daa6cb547023b87a6cf51bee37d6" + integrity sha512-9bY+5ZWCfqj3ghYBLxApy2zf6m+NJo5GzmLTpr9FsApsfjriNnS2dahWReHMi7qNPhhHl9SYHJs2cHZLgexNIw== pretty-error@^2.0.2: version "2.1.2" @@ -11071,12 +11767,17 @@ pretty-error@^2.0.2: lodash "^4.17.20" renderkid "^2.0.4" +pretty-time@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz#ffb7429afabb8535c346a34e41873adf3d74dd0e" + integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA== + process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== -process@^0.11.1, process@^0.11.10: +process@^0.11.10: version "0.11.10" resolved "https://registry.npmjs.org/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= @@ -11118,14 +11819,6 @@ promise@~7.0.1: dependencies: asap "~2.0.3" -prompts@^2.3.0: - version "2.4.0" - resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz#4aa5de0723a231d1ee9121c40fdf663df73f61d7" - integrity sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - promzard@^0.3.0: version "0.3.0" resolved "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee" @@ -11185,14 +11878,6 @@ public-encrypt@^4.0.0: randombytes "^2.0.1" safe-buffer "^5.1.2" -pump@^1.0.0: - version "1.0.3" - resolved "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz#5dfe8311c33bbf6fc18261f9f34702c47c08a954" - integrity sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - pump@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" @@ -11261,11 +11946,16 @@ querystring-es3@^0.2.0: resolved "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= -querystring@0.2.0, querystring@^0.2.0: +querystring@0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + quick-lru@^1.0.0: version "1.1.0" resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" @@ -11276,20 +11966,6 @@ quick-lru@^4.0.1: resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== -random-bytes@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz#4f68a1dc0ae58bd3fb95848c30324db75d64360b" - integrity sha1-T2ih3Arli9P7lYSMMDJNt11kNgs= - -randomatic@^3.0.0: - version "3.1.1" - resolved "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz#b776efc59375984e36c537b2f51a1f0aff0da1ed" - integrity sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw== - dependencies: - is-number "^4.0.0" - kind-of "^6.0.0" - math-random "^1.0.1" - randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" @@ -11320,15 +11996,13 @@ raw-body@2.4.0: iconv-lite "0.4.24" unpipe "1.0.0" -raw-body@^2.1.7: - version "2.4.1" - resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c" - integrity sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA== +raw-loader@4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.1.tgz#14e1f726a359b68437e183d5a5b7d33a3eba6933" + integrity sha512-baolhQBSi3iNh1cglJjA0mYzga+wePk7vdEX//1dTFd+v4TsQlQE0jitJSNF1OIP82rdYulH7otaVmdlDaJ64A== dependencies: - bytes "3.1.0" - http-errors "1.7.3" - iconv-lite "0.4.24" - unpipe "1.0.0" + loader-utils "^2.0.0" + schema-utils "^2.6.5" rc@^1.2.8: version "1.2.8" @@ -11340,6 +12014,11 @@ rc@^1.2.8: minimist "^1.2.0" strip-json-comments "~2.0.1" +react-error-overlay@6.0.7: + version "6.0.7" + resolved "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.7.tgz#1dcfb459ab671d53f660a991513cb2f0a0553108" + integrity sha512-TAv1KJFh3RhqxNvhzxj6LeT5NWklP6rDr2a0jaTfsZ5wSZWHOGeqQyejUp3xxLfPt2UpyJEcVQB/zyPcmonNFA== + read-cmd-shim@^1.0.1: version "1.0.5" resolved "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-1.0.5.tgz#87e43eba50098ba5a32d0ceb583ab8e43b961c16" @@ -11451,7 +12130,7 @@ read@1, read@~1.0.1: dependencies: mute-stream "~0.0.4" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== @@ -11464,7 +12143,7 @@ read@1, read@~1.0.1: string_decoder "~1.1.1" util-deprecate "~1.0.1" -"readable-stream@2 || 3", readable-stream@^3.0.2, readable-stream@^3.1.1, readable-stream@^3.6.0: +"readable-stream@2 || 3", readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -11483,7 +12162,7 @@ readdir-scoped-modules@^1.0.0: graceful-fs "^4.1.2" once "^1.3.0" -readdirp@^2.0.0, readdirp@^2.2.1: +readdirp@^2.2.1: version "2.2.1" resolved "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== @@ -11530,6 +12209,13 @@ redent@^3.0.0: indent-string "^4.0.0" strip-indent "^3.0.0" +redeyed@~2.1.0: + version "2.1.1" + resolved "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz#8984b5815d99cb220469c99eeeffe38913e6cc0b" + integrity sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs= + dependencies: + esprima "~4.0.0" + regenerate-unicode-properties@^8.2.0: version "8.2.0" resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" @@ -11554,13 +12240,6 @@ regenerator-transform@^0.14.2: dependencies: "@babel/runtime" "^7.8.4" -regex-cache@^0.4.2: - version "0.4.4" - resolved "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" - integrity sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ== - dependencies: - is-equal-shallow "^0.1.3" - regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" @@ -11672,7 +12351,7 @@ replace-ext@^1.0.0: resolved "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz#2d6d996d04a15855d967443631dd5f77825b016a" integrity sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw== -request@^2.81.0, request@^2.83.0, request@^2.88.0: +request@^2.83.0, request@^2.88.0: version "2.88.2" resolved "https://registry.npmjs.org/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== @@ -11698,11 +12377,6 @@ request@^2.81.0, request@^2.83.0, request@^2.88.0: tunnel-agent "^0.6.0" uuid "^3.3.2" -require-dir@^0.3.0: - version "0.3.2" - resolved "https://registry.npmjs.org/require-dir/-/require-dir-0.3.2.tgz#c1d5c75e9fbffde9f2e6b33e383db4f594b5a6a9" - integrity sha1-wdXHXp+//eny5rM+OD209ZS1pqk= - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -11730,6 +12404,13 @@ resolve-cwd@^2.0.0: dependencies: resolve-from "^3.0.0" +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + resolve-dir@^1.0.0, resolve-dir@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" @@ -11786,7 +12467,7 @@ resolve@1.17.0: dependencies: path-parse "^1.0.6" -resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1: +resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1: version "1.18.1" resolved "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz#018fcb2c5b207d2a6424aee361c5a266da8f4130" integrity sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA== @@ -11832,6 +12513,11 @@ retry@^0.10.0: resolved "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" integrity sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q= +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + rgb-regex@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" @@ -11863,7 +12549,7 @@ rimraf@3.0.2, rimraf@^3.0.2: dependencies: glob "^7.1.3" -rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3, rimraf@^2.7.1: +rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3: version "2.7.1" resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== @@ -12011,6 +12697,11 @@ run-async@^2.2.0: resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== +run-parallel@^1.1.9: + version "1.1.10" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz#60a51b2ae836636c81377df16cb107351bcd13ef" + integrity sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw== + run-queue@^1.0.0, run-queue@^1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" @@ -12030,12 +12721,7 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" - integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== - -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: +safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -12047,7 +12733,7 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@^2.1.2, safer-buffer@~2.1.0: +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -12066,7 +12752,7 @@ schema-utils@^1.0.0: ajv-errors "^1.0.0" ajv-keywords "^3.1.0" -schema-utils@^2.0.0, schema-utils@^2.5.0, schema-utils@^2.6.5, schema-utils@^2.6.6, schema-utils@^2.7.0: +schema-utils@^2.6.5, schema-utils@^2.6.6, schema-utils@^2.7.0, schema-utils@^2.7.1: version "2.7.1" resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== @@ -12075,14 +12761,10 @@ schema-utils@^2.0.0, schema-utils@^2.5.0, schema-utils@^2.6.5, schema-utils@^2.6 ajv "^6.12.4" ajv-keywords "^3.5.2" -schema-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz#67502f6aa2b66a2d4032b4279a2944978a0913ef" - integrity sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA== - dependencies: - "@types/json-schema" "^7.0.6" - ajv "^6.12.5" - ajv-keywords "^3.5.2" +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= semver-compare@^1.0.0: version "1.0.0" @@ -12111,7 +12793,7 @@ semver@7.0.0: resolved "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@7.3.2, semver@^7.3.2: +semver@7.3.2: version "7.3.2" resolved "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== @@ -12152,13 +12834,6 @@ serialize-javascript@^4.0.0: dependencies: randombytes "^2.1.0" -serialize-javascript@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" - integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== - dependencies: - randombytes "^2.1.0" - serve-static@1.14.1: version "1.14.1" resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" @@ -12250,11 +12925,6 @@ shebang-regex@^3.0.0: resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -shelljs@^0.5.3: - version "0.5.3" - resolved "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz#c54982b996c76ef0c1e6b59fbdc5825f5b713113" - integrity sha1-xUmCuZbHbvDB5rWfvcWCX1txMRM= - signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.3" resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" @@ -12276,21 +12946,11 @@ simple-swizzle@^0.2.2: dependencies: is-arrayish "^0.3.1" -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - slash2@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/slash2/-/slash2-2.0.0.tgz#f4e0a11708b8545b912695981cf7096f52c63487" integrity sha512-7ElvBydJPi3MHU/KEOblFSbO/skl4Z69jKkFCpYIYVOMSIZsKi4gYU43HGeZPmjxCXrHekoDAAewphPQNnsqtA== -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= - slash@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" @@ -12368,6 +13028,27 @@ snapdragon@^0.8.1: source-map-resolve "^0.5.0" use "^3.1.0" +sockjs-client@1.5.0: + version "1.5.0" + resolved "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.0.tgz#2f8ff5d4b659e0d092f7aba0b7c386bd2aa20add" + integrity sha512-8Dt3BDi4FYNrCFGTL/HtwVzkARrENdwOUf1ZoW/9p3M8lZdFT35jVdrHza+qgxuG9H3/shR4cuX/X9umUrjP8Q== + dependencies: + debug "^3.2.6" + eventsource "^1.0.7" + faye-websocket "^0.11.3" + inherits "^2.0.4" + json3 "^3.3.3" + url-parse "^1.4.7" + +sockjs@0.3.20: + version "0.3.20" + resolved "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz#b26a283ec562ef8b2687b44033a4eeceac75d855" + integrity sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA== + dependencies: + faye-websocket "^0.10.0" + uuid "^3.4.0" + websocket-driver "0.6.5" + socks-proxy-agent@^4.0.0: version "4.0.2" resolved "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz#3c8991f3145b2799e70e11bd5fbc8b1963116386" @@ -12403,7 +13084,7 @@ source-list-map@^2.0.0: resolved "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== -source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: +source-map-resolve@^0.5.0: version "0.5.3" resolved "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== @@ -12414,7 +13095,7 @@ source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@^0.5.16, source-map-support@^0.5.9, source-map-support@~0.5.12: +source-map-support@^0.5.16, source-map-support@^0.5.9, source-map-support@~0.5.12, source-map-support@~0.5.19: version "0.5.19" resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== @@ -12437,7 +13118,7 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@^0.7.3: +source-map@^0.7.3, source-map@~0.7.2: version "0.7.3" resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== @@ -12447,14 +13128,6 @@ sourcemap-codec@^1.4.4: resolved "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== -spawn-sync@^1.0.15: - version "1.0.15" - resolved "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz#b00799557eb7fb0c8376c29d44e8a1ea67e57476" - integrity sha1-sAeZVX63+wyDdsKdROih6mfldHY= - dependencies: - concat-stream "^1.4.7" - os-shim "^0.1.2" - spdx-correct@^3.0.0: version "3.1.1" resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" @@ -12481,6 +13154,36 @@ spdx-license-ids@^3.0.0: resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz#c80757383c28abf7296744998cbc106ae8b854ce" integrity sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw== +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" + integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== + dependencies: + debug "^4.1.0" + detect-node "^2.0.4" + hpack.js "^2.1.6" + obuf "^1.1.2" + readable-stream "^3.0.6" + wbuf "^1.7.3" + +spdy@4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" + integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== + dependencies: + debug "^4.1.0" + handle-thing "^2.0.0" + http-deceiver "^1.2.7" + select-hose "^2.0.0" + spdy-transport "^3.0.0" + +speed-measure-webpack-plugin@1.3.3: + version "1.3.3" + resolved "https://registry.npmjs.org/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.3.3.tgz#6ff894fc83e8a6310dde3af863a0329cd79da4f5" + integrity sha512-2ljD4Ch/rz2zG3HsLsnPfp23osuPBS0qPuz9sGpkNXTN1Ic4M+W9xB8l8rS8ob2cO4b1L+WTJw/0AJwWYVgcxQ== + dependencies: + chalk "^2.0.1" + split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" resolved "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" @@ -12529,14 +13232,6 @@ ssri@^6.0.0, ssri@^6.0.1: dependencies: figgy-pudding "^3.5.1" -ssri@^7.0.0: - version "7.1.0" - resolved "https://registry.npmjs.org/ssri/-/ssri-7.1.0.tgz#92c241bf6de82365b5c7fb4bd76e975522e1294d" - integrity sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g== - dependencies: - figgy-pudding "^3.5.1" - minipass "^3.1.1" - ssri@^8.0.0: version "8.0.0" resolved "https://registry.npmjs.org/ssri/-/ssri-8.0.0.tgz#79ca74e21f8ceaeddfcb4b90143c458b8d988808" @@ -12562,11 +13257,25 @@ static-extend@^0.1.1: define-property "^0.2.5" object-copy "^0.1.0" +stats-webpack-plugin@0.7.0: + version "0.7.0" + resolved "https://registry.npmjs.org/stats-webpack-plugin/-/stats-webpack-plugin-0.7.0.tgz#ccffe9b745de8bbb155571e063f8263fc0e2bc06" + integrity sha512-NT0YGhwuQ0EOX+uPhhUcI6/+1Sq/pMzNuSCBVT4GbFl/ac6I/JZefBcjlECNfAb1t3GOx5dEj1Z7x0cAxeeVLQ== + dependencies: + lodash "^4.17.4" + "statuses@>= 1.5.0 < 2", statuses@~1.5.0: version "1.5.0" resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= +std-env@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/std-env/-/std-env-2.2.1.tgz#2ffa0fdc9e2263e0004c1211966e960948a40f6b" + integrity sha512-IjYQUinA3lg5re/YMlwlfhqNRTzMZMqE+pezevdcTaHceqx8ngEi1alX9nNCk9Sc81fy1fLDeQoaCzeiW1yBOQ== + dependencies: + ci-info "^1.6.0" + stream-browserify@^2.0.1: version "2.0.2" resolved "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" @@ -12614,14 +13323,6 @@ string-hash@^1.1.1: resolved "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" integrity sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs= -string-replace-loader@^2.2.0: - version "2.3.0" - resolved "https://registry.npmjs.org/string-replace-loader/-/string-replace-loader-2.3.0.tgz#7f29be7d73c94dd92eccd5c5a15651181d7ecd3d" - integrity sha512-HYBIHStViMKLZC/Lehxy42OuwsBaPzX/LjcF5mkJlE2SnHXmW6SW6eiHABTXnY8ZCm/REbdJ8qnA0ptmIzN0Ng== - dependencies: - loader-utils "^1.2.3" - schema-utils "^2.6.5" - string-width@^1.0.1: version "1.0.2" resolved "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" @@ -12696,6 +13397,13 @@ stringify-object@^3.3.0: is-obj "^1.0.1" is-regexp "^1.0.0" +strip-ansi@6.0.0, strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.0.0" + strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" @@ -12717,13 +13425,6 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.0.0" - strip-bom@4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" @@ -12794,13 +13495,13 @@ style-inject@^0.3.0: resolved "https://registry.npmjs.org/style-inject/-/style-inject-0.3.0.tgz#d21c477affec91811cc82355832a700d22bf8dd3" integrity sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw== -style-loader@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz#828b4a3b3b7e7aa5847ce7bae9e874512114249e" - integrity sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q== +style-loader@1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/style-loader/-/style-loader-1.2.1.tgz#c5cbbfbf1170d076cfdd86e0109c5bba114baa1a" + integrity sha512-ByHSTQvHLkWE9Ir5+lGbVOXhxX10fbprhLvdg96wedFZb4NDekDPxVKv5Fwmio+QcMlkkNfuK+5W1peQ5CUhZg== dependencies: loader-utils "^2.0.0" - schema-utils "^2.7.0" + schema-utils "^2.6.6" stylehacks@^4.0.0: version "4.0.3" @@ -12811,29 +13512,6 @@ stylehacks@^4.0.0: postcss "^7.0.0" postcss-selector-parser "^3.0.0" -stylus-loader@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/stylus-loader/-/stylus-loader-3.0.2.tgz#27a706420b05a38e038e7cacb153578d450513c6" - integrity sha512-+VomPdZ6a0razP+zinir61yZgpw2NfljeSsdUF5kJuEzlo3khXhY19Fn6l8QQz1GRJGtMCo8nG5C04ePyV7SUA== - dependencies: - loader-utils "^1.0.2" - lodash.clonedeep "^4.5.0" - when "~3.6.x" - -stylus@^0.54.8: - version "0.54.8" - resolved "https://registry.npmjs.org/stylus/-/stylus-0.54.8.tgz#3da3e65966bc567a7b044bfe0eece653e099d147" - integrity sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg== - dependencies: - css-parse "~2.0.0" - debug "~3.1.0" - glob "^7.1.6" - mkdirp "~1.0.4" - safer-buffer "^2.1.2" - sax "~1.2.4" - semver "^6.3.0" - source-map "^0.7.3" - supports-color@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -12867,6 +13545,14 @@ supports-color@^7.0.0, supports-color@^7.1.0: dependencies: has-flag "^4.0.0" +supports-hyperlinks@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" + integrity sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA== + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" + svg-parser@^2.0.0: version "2.0.4" resolved "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" @@ -12906,38 +13592,15 @@ table@^5.2.3: slice-ansi "^2.1.0" string-width "^3.0.0" -tapable@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/tapable/-/tapable-2.0.0.tgz#a49c3d6a8a2bb606e7db372b82904c970d537a08" - integrity sha512-bjzn0C0RWoffnNdTzNi7rNDhs1Zlwk2tRXgk8EiHKAOX1Mag3d6T0Y5zNa7l9CJ+EoUne/0UHdwS8tMbkh9zDg== - -tapable@^1.0.0, tapable@^1.1.3: +tapable@1.1.3, tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" resolved "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== -tar-fs@^1.16.0: - version "1.16.3" - resolved "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz#966a628841da2c4010406a82167cbd5e0c72d509" - integrity sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw== - dependencies: - chownr "^1.0.1" - mkdirp "^0.5.1" - pump "^1.0.0" - tar-stream "^1.1.2" - -tar-stream@^1.1.2: - version "1.6.2" - resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" - integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A== - dependencies: - bl "^1.0.0" - buffer-alloc "^1.2.0" - end-of-stream "^1.0.0" - fs-constants "^1.0.0" - readable-stream "^2.3.0" - to-buffer "^1.1.1" - xtend "^4.0.0" +tapable@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/tapable/-/tapable-2.0.0.tgz#a49c3d6a8a2bb606e7db372b82904c970d537a08" + integrity sha512-bjzn0C0RWoffnNdTzNi7rNDhs1Zlwk2tRXgk8EiHKAOX1Mag3d6T0Y5zNa7l9CJ+EoUne/0UHdwS8tMbkh9zDg== tar@^4.4.10, tar@^4.4.12, tar@^4.4.8: version "4.4.13" @@ -12952,7 +13615,7 @@ tar@^4.4.10, tar@^4.4.12, tar@^4.4.8: safe-buffer "^5.1.2" yallist "^3.0.3" -tar@^6.0.2, tar@^6.0.5: +tar@^6.0.2: version "6.0.5" resolved "https://registry.npmjs.org/tar/-/tar-6.0.5.tgz#bde815086e10b39f1dcd298e89d596e1535e200f" integrity sha512-0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg== @@ -13003,6 +13666,21 @@ ternary-stream@^2.0.1: merge-stream "^1.0.0" through2 "^2.0.1" +terser-webpack-plugin@4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-4.1.0.tgz#6e9d6ae4e1a900d88ddce8da6a47507ea61f44bc" + integrity sha512-0ZWDPIP8BtEDZdChbufcXUigOYk6dOX/P/X0hWxqDDcVAQLb8Yy/0FAaemSfax3PAA67+DJR778oz8qVbmy4hA== + dependencies: + cacache "^15.0.5" + find-cache-dir "^3.3.1" + jest-worker "^26.3.0" + p-limit "^3.0.2" + schema-utils "^2.6.6" + serialize-javascript "^4.0.0" + source-map "^0.6.1" + terser "^5.0.0" + webpack-sources "^1.4.3" + terser-webpack-plugin@^1.4.3: version "1.4.5" resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" @@ -13018,22 +13696,7 @@ terser-webpack-plugin@^1.4.3: webpack-sources "^1.4.0" worker-farm "^1.7.0" -terser-webpack-plugin@^2.2.1: - version "2.3.8" - resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.8.tgz#894764a19b0743f2f704e7c2a848c5283a696724" - integrity sha512-/fKw3R+hWyHfYx7Bv6oPqmk4HGQcrWLtV3X6ggvPuwPNHSnzvVV51z6OaaCOus4YLjutYGOz3pEpbhe6Up2s1w== - dependencies: - cacache "^13.0.1" - find-cache-dir "^3.3.1" - jest-worker "^25.4.0" - p-limit "^2.3.0" - schema-utils "^2.6.6" - serialize-javascript "^4.0.0" - source-map "^0.6.1" - terser "^4.6.12" - webpack-sources "^1.4.3" - -terser@^4.1.0, terser@^4.1.2, terser@^4.6.12: +terser@^4.1.0, terser@^4.1.2: version "4.8.0" resolved "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== @@ -13042,6 +13705,15 @@ terser@^4.1.0, terser@^4.1.2, terser@^4.6.12: source-map "~0.6.1" source-map-support "~0.5.12" +terser@^5.0.0: + version "5.3.8" + resolved "https://registry.npmjs.org/terser/-/terser-5.3.8.tgz#991ae8ba21a3d990579b54aa9af11586197a75dd" + integrity sha512-zVotuHoIfnYjtlurOouTazciEfL7V38QMAOhGqpXDEg6yT13cF4+fEP9b0rrCEQTn+tT46uxgFsTZzhygk+CzQ== + dependencies: + commander "^2.20.0" + source-map "~0.7.2" + source-map-support "~0.5.19" + test-exclude@^5.2.3: version "5.2.3" resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" @@ -13076,15 +13748,6 @@ thenify-all@^1.0.0: dependencies: any-promise "^1.0.0" -thread-loader@^2.1.3: - version "2.1.3" - resolved "https://registry.npmjs.org/thread-loader/-/thread-loader-2.1.3.tgz#cbd2c139fc2b2de6e9d28f62286ab770c1acbdda" - integrity sha512-wNrVKH2Lcf8ZrWxDF/khdlLlsTMczdcwPA9VEK4c2exlEPynYWxi9op3nPTo5lAnDIkE0rQEB3VBP+4Zncc9Hg== - dependencies: - loader-runner "^2.3.1" - loader-utils "^1.1.0" - neo-async "^2.6.0" - throttle-debounce@^2.3.0: version "2.3.0" resolved "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-2.3.0.tgz#fd31865e66502071e411817e241465b3e9c372e2" @@ -13163,11 +13826,6 @@ to-arraybuffer@^1.0.0: resolved "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= -to-buffer@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" - integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== - to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" @@ -13393,13 +14051,6 @@ uid-number@0.0.6: resolved "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" integrity sha1-DqEOgDXo61uOREnwbaHHMGY7qoE= -uid-safe@~2.1.5: - version "2.1.5" - resolved "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz#2b3d5c7240e8fc2e58f8aa269e5ee49c0857bd3a" - integrity sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA== - dependencies: - random-bytes "~1.0.0" - umask@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/umask/-/umask-1.1.0.tgz#f29cebf01df517912bb58ff9c4e50fde8e33320d" @@ -13567,14 +14218,14 @@ urix@^0.1.0: resolved "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= -url-loader@^2.2.0: - version "2.3.0" - resolved "https://registry.npmjs.org/url-loader/-/url-loader-2.3.0.tgz#e0e2ef658f003efb8ca41b0f3ffbf76bab88658b" - integrity sha512-goSdg8VY+7nPZKUEChZSEtW5gjbS66USIGCeSJ1OVOJ7Yfuh/36YxCwMi5HVEJh6mqUYOoy3NJ0vlOMrWsSHog== +url-loader@4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/url-loader/-/url-loader-4.1.0.tgz#c7d6b0d6b0fccd51ab3ffc58a78d32b8d89a7be2" + integrity sha512-IzgAAIC8wRrg6NYkFIJY09vtktQcsvU8V6HhtQj9PTefbYImzLB1hufqo4m+RyM5N3mLx5BqJKccgxJS+W3kqw== dependencies: - loader-utils "^1.2.3" - mime "^2.4.4" - schema-utils "^2.5.0" + loader-utils "^2.0.0" + mime-types "^2.1.26" + schema-utils "^2.6.5" url-parse-lax@^3.0.0: version "3.0.0" @@ -13583,6 +14234,14 @@ url-parse-lax@^3.0.0: dependencies: prepend-http "^2.0.0" +url-parse@^1.4.3, url-parse@^1.4.7: + version "1.4.7" + resolved "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278" + integrity sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + url@^0.11.0: version "0.11.0" resolved "https://registry.npmjs.org/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" @@ -13633,13 +14292,6 @@ util@0.10.3: dependencies: inherits "2.0.1" -util@^0.10.3: - version "0.10.4" - resolved "https://registry.npmjs.org/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901" - integrity sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A== - dependencies: - inherits "2.0.3" - util@^0.11.0: version "0.11.1" resolved "https://registry.npmjs.org/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" @@ -13657,16 +14309,11 @@ utils-merge@1.0.1: resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= -uuid@^3.0.1, uuid@^3.3.2: +uuid@^3.0.1, uuid@^3.3.2, uuid@^3.4.0: version "3.4.0" resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== -v8-compile-cache@^2.1.1: - version "2.2.0" - resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz#9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132" - integrity sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q== - validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.3: version "3.0.4" resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" @@ -13797,10 +14444,10 @@ vue-i18n@^9.0.0-beta.2: dependencies: source-map "^0.6.1" -vue-loader@^16.0.0-beta.8: - version "16.0.0-beta.9" - resolved "https://registry.npmjs.org/vue-loader/-/vue-loader-16.0.0-beta.9.tgz#52512cb61c296827c99c0d54398bef84be4448fc" - integrity sha512-mu9pg6554GbXDSO8LlxkQM6qUJzUkb/A0FJc9LgRqnU9MCnhzEXwCt1Zx5NObvFpzs2mH2dH/uUCDwL8Qaz9sA== +vue-loader@^16.0.0-rc.1: + version "16.0.0-rc.1" + resolved "https://registry.npmjs.org/vue-loader/-/vue-loader-16.0.0-rc.1.tgz#9c1f1684e2d01c8a72216f9d4db119e15c622645" + integrity sha512-yR+BS90EOXTNieasf8ce9J3TFCpm2DGqoqdbtiwQ33hon3FyIznLX7sKavAq1VmfBnOeV6It0Htg4aniv8ph1g== dependencies: chalk "^4.1.0" hash-sum "^2.0.0" @@ -13811,22 +14458,6 @@ vue-router@^4.0.0-rc.1: resolved "https://registry.npmjs.org/vue-router/-/vue-router-4.0.0-rc.1.tgz#42f41315849163a1243886c9aa6d7c14f24fd003" integrity sha512-N3SSOIiRFo1/D6EkHGuahUSuyDvFhKizN5zVXkALX7wv0hYYndV49KwzRF5lKsAIt+OlDl7y+sNmwNewb7a4iw== -vue-style-loader@^4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.2.tgz#dedf349806f25ceb4e64f3ad7c0a44fba735fcf8" - integrity sha512-0ip8ge6Gzz/Bk0iHovU9XAUQaFt/G2B61bnWa2tCcqqdgfHs1lF9xXorFbE55Gmy92okFT+8bfmySuUOu13vxQ== - dependencies: - hash-sum "^1.0.2" - loader-utils "^1.0.2" - -vue-template-compiler@^2.6.10: - version "2.6.12" - resolved "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.12.tgz#947ed7196744c8a5285ebe1233fe960437fcc57e" - integrity sha512-OzzZ52zS41YUbkCBfdXShQTe69j1gQDZ9HIX8miuC9C3rBCk9wIRjLiZZLrmX9V+Ftq/YEyv1JaVr5Y/hNtByg== - dependencies: - de-indent "^1.0.2" - he "^1.1.0" - vue@^3.0.2: version "3.0.2" resolved "https://registry.npmjs.org/vue/-/vue-3.0.2.tgz#9d5b7b2983f35e64a34d13c7c9d6831239feca3c" @@ -13836,23 +14467,30 @@ vue@^3.0.2: "@vue/runtime-dom" "3.0.2" "@vue/shared" "3.0.2" -watchpack-chokidar2@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz#9948a1866cbbd6cb824dea13a7ed691f6c8ddff0" - integrity sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA== +watchpack-chokidar2@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" + integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== dependencies: chokidar "^2.1.8" watchpack@^1.7.4: - version "1.7.4" - resolved "https://registry.npmjs.org/watchpack/-/watchpack-1.7.4.tgz#6e9da53b3c80bb2d6508188f5b200410866cd30b" - integrity sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg== + version "1.7.5" + resolved "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" + integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== dependencies: graceful-fs "^4.1.2" neo-async "^2.5.0" optionalDependencies: chokidar "^3.4.1" - watchpack-chokidar2 "^2.0.0" + watchpack-chokidar2 "^2.0.1" + +wbuf@^1.1.0, wbuf@^1.7.3: + version "1.7.3" + resolved "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" + integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== + dependencies: + minimalistic-assert "^1.0.0" wcwidth@^1.0.0: version "1.0.1" @@ -13866,24 +14504,15 @@ webidl-conversions@^4.0.2: resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== -webpack-cli@^3.3.9: - version "3.3.12" - resolved "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.12.tgz#94e9ada081453cd0aa609c99e500012fd3ad2d4a" - integrity sha512-NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag== +webpack-chain@6.5.1: + version "6.5.1" + resolved "https://registry.npmjs.org/webpack-chain/-/webpack-chain-6.5.1.tgz#4f27284cbbb637e3c8fbdef43eef588d4d861206" + integrity sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA== dependencies: - chalk "^2.4.2" - cross-spawn "^6.0.5" - enhanced-resolve "^4.1.1" - findup-sync "^3.0.0" - global-modules "^2.0.0" - import-local "^2.0.0" - interpret "^1.4.0" - loader-utils "^1.4.0" - supports-color "^6.1.0" - v8-compile-cache "^2.1.1" - yargs "^13.3.2" + deepmerge "^1.5.2" + javascript-stringify "^2.0.1" -webpack-dev-middleware@^3.7.2: +webpack-dev-middleware@3.7.2: version "3.7.2" resolved "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3" integrity sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw== @@ -13894,16 +14523,6 @@ webpack-dev-middleware@^3.7.2: range-parser "^1.2.1" webpack-log "^2.0.0" -webpack-hot-middleware@^2.25.0: - version "2.25.0" - resolved "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.25.0.tgz#4528a0a63ec37f8f8ef565cf9e534d57d09fe706" - integrity sha512-xs5dPOrGPCzuRXNi8F6rwhawWvQQkeli5Ro48PRuQh8pYPCPmNnltP9itiUPT4xI8oW+y0m59lyyeQk54s5VgA== - dependencies: - ansi-html "0.0.7" - html-entities "^1.2.0" - querystring "^0.2.0" - strip-ansi "^3.0.0" - webpack-log@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" @@ -13912,12 +14531,15 @@ webpack-log@^2.0.0: ansi-colors "^3.0.0" uuid "^3.3.2" -webpack-merge@^4.2.2: - version "4.2.2" - resolved "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d" - integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g== +webpack-manifest-plugin@2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-2.2.0.tgz#19ca69b435b0baec7e29fbe90fb4015de2de4f16" + integrity sha512-9S6YyKKKh/Oz/eryM1RyLVDVmy3NSPV0JXMRhZ18fJsq+AwGxUY34X54VNwkzYcEmEkDwNxuEOboCZEebJXBAQ== dependencies: - lodash "^4.17.15" + fs-extra "^7.0.0" + lodash ">=3.5 <5" + object.entries "^1.1.0" + tapable "^1.0.0" webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: version "1.4.3" @@ -13927,10 +14549,10 @@ webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack- source-list-map "^2.0.0" source-map "~0.6.1" -webpack@^4.44.2: - version "4.44.2" - resolved "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz#6bfe2b0af055c8b2d1e90ed2cd9363f841266b72" - integrity sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q== +webpack@4.44.1: + version "4.44.1" + resolved "https://registry.npmjs.org/webpack/-/webpack-4.44.1.tgz#17e69fff9f321b8f117d1fda714edfc0b939cc21" + integrity sha512-4UOGAohv/VGUNQJstzEywwNxqX417FnjZgZJpJQegddzPmTvph37eBIRbRTfdySXzVtJXLJfbMN3mMYhM6GdmQ== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-module-context" "1.9.0" @@ -13956,6 +14578,41 @@ webpack@^4.44.2: watchpack "^1.7.4" webpack-sources "^1.4.1" +webpackbar@4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/webpackbar/-/webpackbar-4.0.0.tgz#ee7a87f16077505b5720551af413c8ecd5b1f780" + integrity sha512-k1qRoSL/3BVuINzngj09nIwreD8wxV4grcuhHTD8VJgUbGcy8lQSPqv+bM00B7F+PffwIsQ8ISd4mIwRbr23eQ== + dependencies: + ansi-escapes "^4.2.1" + chalk "^2.4.2" + consola "^2.10.0" + figures "^3.0.0" + pretty-time "^1.1.0" + std-env "^2.2.1" + text-table "^0.2.0" + wrap-ansi "^6.0.0" + +websocket-driver@0.6.5: + version "0.6.5" + resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36" + integrity sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY= + dependencies: + websocket-extensions ">=0.1.1" + +websocket-driver@>=0.5.1: + version "0.7.4" + resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" + integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" + integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== + whatwg-url@^7.0.0: version "7.1.0" resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" @@ -13970,11 +14627,6 @@ when@^3.7.8: resolved "https://registry.npmjs.org/when/-/when-3.7.8.tgz#c7130b6a7ea04693e842cdc9e7a1f2aa39a39f82" integrity sha1-xxMLan6gRpPoQs3J56Hyqjmjn4I= -when@~3.6.x: - version "3.6.4" - resolved "https://registry.npmjs.org/when/-/when-3.6.4.tgz#473b517ec159e2b85005497a13983f095412e34e" - integrity sha1-RztRfsFZ4rhQBUl6E5g/CVQS404= - which-module@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" @@ -13985,7 +14637,7 @@ which-pm-runs@^1.0.0: resolved "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= -which@^1.2.14, which@^1.2.8, which@^1.2.9, which@^1.3.1: +which@^1.2.14, which@^1.2.9, which@^1.3.1: version "1.3.1" resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -14018,11 +14670,6 @@ window-size@0.1.0: resolved "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" integrity sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0= -window-size@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876" - integrity sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY= - windows-release@^3.1.0: version "3.3.3" resolved "https://registry.npmjs.org/windows-release/-/windows-release-3.3.3.tgz#1c10027c7225743eec6b89df160d64c2e0293999" @@ -14052,14 +14699,6 @@ worker-farm@^1.7.0: dependencies: errno "~0.1.7" -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrap-ansi@^5.1.0: version "5.1.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" @@ -14069,7 +14708,7 @@ wrap-ansi@^5.1.0: string-width "^3.0.0" strip-ansi "^5.0.0" -wrap-ansi@^6.2.0: +wrap-ansi@^6.0.0, wrap-ansi@^6.2.0: version "6.2.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== @@ -14141,11 +14780,6 @@ xtend@^4.0.0, xtend@~4.0.0, xtend@~4.0.1: resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== -y18n@^3.2.0: - version "3.2.1" - resolved "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" - integrity sha1-bRX7qITAhnnA136I53WegR4H+kE= - y18n@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" @@ -14187,14 +14821,6 @@ yargs-parser@18.1.3, yargs-parser@^18.1.2, yargs-parser@^18.1.3: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" - integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - yargs-parser@^15.0.1: version "15.0.1" resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz#54786af40b820dcb2fb8025b11b4d659d76323b3" @@ -14220,22 +14846,6 @@ yargs@15.4.1, yargs@^15.1.0: y18n "^4.0.0" yargs-parser "^18.1.2" -yargs@^13.3.2: - version "13.3.2" - resolved "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" - integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== - dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.2" - yargs@^14.2.2: version "14.2.3" resolved "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz#1a1c3edced1afb2a2fea33604bc6d1d8d688a414" @@ -14253,19 +14863,6 @@ yargs@^14.2.2: y18n "^4.0.0" yargs-parser "^15.0.1" -yargs@^3.31.0: - version "3.32.0" - resolved "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz#03088e9ebf9e756b69751611d2a5ef591482c995" - integrity sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU= - dependencies: - camelcase "^2.0.1" - cliui "^3.0.3" - decamelize "^1.1.1" - os-locale "^1.4.0" - string-width "^1.0.1" - window-size "^0.1.4" - y18n "^3.2.0" - yargs@~3.10.0: version "3.10.0" resolved "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"