From 95ba16791cd8f2f2bc421dc2263c3a0e14c819ca Mon Sep 17 00:00:00 2001 From: Devin Date: Sun, 30 Jan 2022 23:33:24 -0800 Subject: [PATCH 1/7] Dev 1.3.8 Release: Adding support for CopyWebpackPlugin. Using HtmlWebpackPlugin hooks to do away with `additionalAsset` passes. --- README.md | 5 +- assets/favicon-red.png | Bin 0 -> 1365 bytes assets/favicon-red.svg | 13 + assets/logo.png | Bin 39105 -> 40448 bytes index.js | 97 +- package-lock.json | 3469 ++++++++++++++++++++++++++++++++++++++ package.json | 7 +- test/ava.test.js | 19 + test/copy.config.js | 50 + test/multi-src.config.js | 51 + 10 files changed, 3689 insertions(+), 22 deletions(-) create mode 100644 assets/favicon-red.png create mode 100644 assets/favicon-red.svg create mode 100644 package-lock.json create mode 100644 test/copy.config.js create mode 100644 test/multi-src.config.js diff --git a/README.md b/README.md index ec7813e..52f3f52 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,10 @@ No, you should checkout https://github.com/jantimon/favicons-webpack-plugin for By tapping into the Webpack 5's latest hooks, WebackFavicon digs into a given build to search for any instances of HTML file assets. While doing that, it leverages the favicon (https://github.com/itgalaxy/favicons) module to generate configured favicons off your provided source file. -Once done, you will have device or browser specific generated favicons written to disk while HTML files (with a `` tag) will have corresponding `` tags injected. +Once done, you will have device or browser specific generated favicons written to disk while HTML files (with a `` tag) will have corresponding `` tags injected. + +### Does this work with CopyWebpackPlugin? +Yep! While it is more common to see a Webpack configuration using `HtmlWebpackPlugin` in order to process .HTML files; WebpackFavicons will inject `` tags into HTML documents found being copied by `CopyWebpackPlugin` alone. --- ## Install diff --git a/assets/favicon-red.png b/assets/favicon-red.png new file mode 100644 index 0000000000000000000000000000000000000000..9e096047a5efcc59355fbd6afb134d3e9f3e856c GIT binary patch literal 1365 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSoCO|{#S9GGLLkg|>2BR01_oAk zPZ!6KiaBrRzBN^G6lq&;`+Gjm2?jw0CL;%y6Ac^!j7ng70;AxWdF9o&`wTCa?tXQx z=i|Qfmc`$Wp9}k1X8W~vby{MAnStYJeNkI;p#~XFhdvesccux-j3*{CJn>*CQem(p zPxyKHwfg$pvv1z4`E5OY`q}hbZ{C{D*E2J}dHQd&4db+FXUxoY?JusM|35@^&6*|i zeQOrz5pVscM~p6#93BVR3q?8BWmZ-jSJ#+SS7tua{E(ii(l9+_$;F3>!4;Do8XsHV zzI|7c@BiP+!NQfHhMT;YDm-1K7Mk@lv-Ug1#J-)c{_pJ3)|(#-mCv8`{Za3o%%Gn! z?>B>DK=J!`pSbF0JWbvF`n6kw=b}_4#yusb?-wtaaH0MEyJL3DyV#dVYc#TSEb2AM zevulSj~fByXC`^2mW1LX+} zrUx9>Z^-<|y^FU;K1gH>lh6V-!Pfl$Ve+=W8CaLkRc#P|U&8HMKR@)ah#VtV8k3O1 ztQWk}C#Jk&aii65lu2Yx)@~}_);=tr$v^qL)jk26#Bg+i- zE36YPm#c1Mhoum8{|3z?tGizY_&1!X%rsnCV>?^h<;rWOro+<@e_Cs?be8)k)&tYh z#qV!rT>;^F>^*Vx=%b3Q_Y~}(+-{9(@PEP`P*`gv?O!MKK=>z9MO;eao~V4ApJ$8q z{*(T+nZ?8P*q(h^JO)nt7-n!iYAtL0R}m$oF#pQIE~)CT#eO$UE_`+>TvI7k@oDB! z{TVgIr&vDh324#2`mb}^x?oG)jI|~Vf1GAAR4iPXcR=TjLUQ1*t@9K8G~+qH?74B^ z@|xt&{<0^Id|E&2|HdiY4dSmOEhN*qFK z*8djkT;vcJ9i8>9I!IrICzB6-dEol&U5O7PlpT7HOyO@8xv8X} zyX0ovfhDc;bi~-wnpZySm}tAKZpFr0w%QdhGeQGS8{U|6^qAkO>VuoFX0$3)X2ne2 z)s)9{Sv*0cqhaN}CA&YL-RH;eDzRDI;f#nZuQEpIF(;34!zxpW7slu3A9=Mj3R + + + + + + + + + diff --git a/assets/logo.png b/assets/logo.png index 0b08b1b3d5c9cffd08b64619bfc9575259223ab3..494cd9eccfea686972463b81fb77ab574d75b65c 100644 GIT binary patch literal 40448 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 literal 39105 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 diff --git a/index.js b/index.js index 6aebb3c..710a19e 100644 --- a/index.js +++ b/index.js @@ -1,5 +1,8 @@ const fs = require('fs'); const path = require('path'); +const { sources } = require('webpack'); + +const getAttributes = (markup) => markup.match(/([^\r\n\t\f\v= '"]+)(?:=(["'])?((?:.(?!\2?\s+(?:\S+)=|\2))+.)\2?)?/g).slice(1, -1); class WebpackFavicons { constructor(options, callback) { @@ -32,7 +35,7 @@ class WebpackFavicons { appleIcon: false, // Create Apple touch icons. `boolean` or `{ offset, background, mask, overlayGlow, overlayShadow }` or an array of sources appleStartup: false, // Create Apple startup images. `boolean` or `{ offset, background, mask, overlayGlow, overlayShadow }` or an array of sources coast: false, // Create Opera Coast icon. `boolean` or `{ offset, background, mask, overlayGlow, overlayShadow }` or an array of sources - favicons: false, // Create regular favicons. `boolean` or `{ offset, background, mask, overlayGlow, overlayShadow }` or an array of sources + favicons: true, // Create regular favicons. `boolean` or `{ offset, background, mask, overlayGlow, overlayShadow }` or an array of sources firefox: false, // Create Firefox OS icons. `boolean` or `{ offset, background, mask, overlayGlow, overlayShadow }` or an array of sources windows: false, // Create Windows 8 tile icons. `boolean` or `{ offset, background, mask, overlayGlow, overlayShadow }` or an array of sources yandex: false // Create Yandex browser icon. `boolean` or `{ offset, background, mask, overlayGlow, overlayShadow }` or an array of sources @@ -56,34 +59,90 @@ class WebpackFavicons { { name: 'WebpackFavicons', stage: compilation.PROCESS_ASSETS_STAGE_ADDITIONAL, // see below for more stages - additionalAssets: true + additionalAssets: false }, (assets) => import('favicons').then((module) => module.favicons( this.options.src, this.options, (error, response) => { + // If we have parsing error lets stop if (error) { console.error(error.message); return; } - // Clean favicon pathing - if (compiler.options.output.publicPath !== 'auto') { - response.html = Object.keys(response.html).map((i) => response.html[i].replace(/href="(.*?)"/g, (match, p1, string) => { - return `href="${path.normalize(`${compiler.options.output.publicPath}/${p1}`)}"`.replace(/\\/g, '/') - })); - } - // Run callback + // Check/Run plugin callback if (typeof this.callback === 'function') { response = Object.assign({ ...response }, this.callback(response)); } - // Adds favicon markup to any html documents - Object.keys(assets).map((i) => { - // limit assets to only .html files - if (i.indexOf('.html') !== -1) { - // get .html file's source out of buffer and into string - let HTML = assets[i]._value.toString(); - assets[i]._value = HTML.replace(/([\s\S]*?)<\/head>/, `$1\r${response.html.join('\r')}`); - } - }); + if (!Object.keys(assets).some((n) => n.indexOf('.html') !== -1)) { + //////// HtmlWebpackPlugin ////////// + try { + require('html-webpack-plugin/lib/hooks').getHtmlWebpackPluginHooks(compilation).alterAssetTags.tapAsync( + { name: 'WebpackFavicons' }, + (data, callback) => { + // Loop over favicon's response HTML tags + Object.keys(response.html).map((i) => { + // Collect HTML attributes into key|value object + let attrs = getAttributes(response.html[i]); + const attributes = {}; + + Object.keys(attrs).map((j) => { + const parts = attrs[j].split('='); + const key = parts[0]; + const value = parts[1].slice(1, -1); + + attributes[key] = value; + + if ( + key === 'href' + && compiler.options.output.publicPath !== 'auto' + ) { + attributes[key] = path.normalize(`${compiler.options.output.publicPath}/${value}`).replace(/\\/g, '/'); + } + }); + + // Push HTML object data into HtmlWebpackPlugin meta template + data.assetTags.meta.push({ + tagName: 'link', + voidTag: true, + meta: { plugin: 'WebpackFavicons' }, + attributes + }); + }); + + // Run required callback with altered data + callback(null, data); + } + ); + } catch (err) { } + } else { + //////// CopyWebpackPlugin ////////// + Object.keys(assets).map((i) => { + // Only alter .html files + if (i.indexOf('.html') === -1) { return false; } + + // Prepend output.plublicPath to favicon href paths by hand + if (compiler.options.output.publicPath !== 'auto') { + response.html = Object.keys(response.html).map( + (i) => response.html[i].replace( + /href="(.*?)"/g, + (match, p1, string) => `href="${path.normalize(`${compiler.options.output.publicPath}/${p1}`)}"`.replace(/\\/g, '/') + ) + ); + } + + // Inject favicon into .html document(s) + let HTML = compilation.getAsset(i).source.source().toString(); + compilation.updateAsset( + i, + new sources.RawSource( + HTML.replace( + /([\s\S]*?)<\/head>/, + `$1\r ${response.html.join('\r ')}\r ` + ) + ) + ); + }); + } // Adds generated images to build if (response.images) { @@ -110,7 +169,7 @@ class WebpackFavicons { return assets; } )) - ); + ); }); } } diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..d4285c7 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,3469 @@ +{ + "name": "webpack-favicons", + "version": "1.3.4", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@discoveryjs/json-ext": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz", + "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/eslint": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz", + "integrity": "sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "0.0.50", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", + "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", + "dev": true + }, + "@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", + "dev": true + }, + "@types/json-schema": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "dev": true + }, + "@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true + }, + "@types/node": { + "version": "17.0.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.13.tgz", + "integrity": "sha512-Y86MAxASe25hNzlDbsviXl8jQHb0RDvKt4c40ZJQ1Don0AAL0STLZSs4N+6gLEO55pedy7r2cLwS+ZDxPm/2Bw==", + "dev": true + }, + "@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dev": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dev": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@webpack-cli/configtest": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.1.tgz", + "integrity": "sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg==", + "dev": true + }, + "@webpack-cli/info": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.1.tgz", + "integrity": "sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA==", + "dev": true, + "requires": { + "envinfo": "^7.7.3" + } + }, + "@webpack-cli/serve": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.1.tgz", + "integrity": "sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw==", + "dev": true + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "acorn": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "dev": true + }, + "acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true + }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "dependencies": { + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + } + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "requires": { + "ajv": "^8.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", + "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.1.0.tgz", + "integrity": "sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==", + "dev": true + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "are-we-there-yet": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", + "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "arrgv": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arrgv/-/arrgv-1.0.2.tgz", + "integrity": "sha512-a4eg4yhp7mmruZDQFqVMlxNRFGi/i1r87pt8SDHy0/I8PqSXoUTlWZRdAZo0VXgvEARcujbtTk8kiZRi1uDGRw==", + "dev": true + }, + "arrify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-3.0.0.tgz", + "integrity": "sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==", + "dev": true + }, + "ava": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/ava/-/ava-4.0.1.tgz", + "integrity": "sha512-+12A/JDWyShBCZAKISEEPyM2dwkUrrAfPILqXi4LI4Aa58d92PzjY829hmuoSeACPNqrn2Wlbnja8c/n7bKV6Q==", + "dev": true, + "requires": { + "acorn": "^8.7.0", + "acorn-walk": "^8.2.0", + "ansi-styles": "^6.1.0", + "arrgv": "^1.0.2", + "arrify": "^3.0.0", + "callsites": "^4.0.0", + "cbor": "^8.1.0", + "chalk": "^5.0.0", + "chokidar": "^3.5.2", + "chunkd": "^2.0.1", + "ci-info": "^3.3.0", + "ci-parallel-vars": "^1.0.1", + "clean-yaml-object": "^0.1.0", + "cli-truncate": "^3.1.0", + "code-excerpt": "^3.0.0", + "common-path-prefix": "^3.0.0", + "concordance": "^5.0.4", + "currently-unhandled": "^0.4.1", + "debug": "^4.3.3", + "del": "^6.0.0", + "emittery": "^0.10.0", + "figures": "^4.0.0", + "globby": "^12.0.2", + "ignore-by-default": "^2.0.0", + "indent-string": "^5.0.0", + "is-error": "^2.2.2", + "is-plain-object": "^5.0.0", + "is-promise": "^4.0.0", + "matcher": "^5.0.0", + "mem": "^9.0.1", + "ms": "^2.1.3", + "p-event": "^5.0.1", + "p-map": "^5.3.0", + "picomatch": "^2.3.0", + "pkg-conf": "^4.0.0", + "plur": "^5.1.0", + "pretty-ms": "^7.0.1", + "resolve-cwd": "^3.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.5", + "strip-ansi": "^7.0.1", + "supertap": "^2.0.0", + "temp-dir": "^2.0.0", + "write-file-atomic": "^3.0.3", + "yargs": "^17.3.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "blueimp-md5": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.19.0.tgz", + "integrity": "sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==", + "dev": true + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", + "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001286", + "electron-to-chromium": "^1.4.17", + "escalade": "^3.1.1", + "node-releases": "^2.0.1", + "picocolors": "^1.0.0" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "callsites": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-4.0.0.tgz", + "integrity": "sha512-y3jRROutgpKdz5vzEhWM34TidDU8vkJppF8dszITeb1PQmSqV3DTxyV8G/lyO/DNvtE1YTedehmw9MPZsCBHxQ==", + "dev": true + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "caniuse-lite": { + "version": "1.0.30001303", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001303.tgz", + "integrity": "sha512-/Mqc1oESndUNszJP0kx0UaQU9kEv9nNtJ7Kn8AdA0mNnH8eR1cj0kG+NbNuC1Wq/b21eA8prhKRA3bbkjONegQ==", + "dev": true + }, + "cbor": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/cbor/-/cbor-8.1.0.tgz", + "integrity": "sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==", + "dev": true, + "requires": { + "nofilter": "^3.1.0" + } + }, + "chalk": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.0.tgz", + "integrity": "sha512-/duVOqst+luxCQRKEo4bNxinsOQtMP80ZYm7mMqzuh5PociNL0PvmHFvREJ9ueYL2TxlHjBcmLCdmocx9Vg+IQ==", + "dev": true + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true + }, + "chunkd": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/chunkd/-/chunkd-2.0.1.tgz", + "integrity": "sha512-7d58XsFmOq0j6el67Ug9mHf9ELUXsQXYJBkyxhH/k+6Ke0qXRnv0kbemx+Twc6fRJ07C49lcbdgm9FL1Ei/6SQ==", + "dev": true + }, + "ci-info": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", + "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==", + "dev": true + }, + "ci-parallel-vars": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ci-parallel-vars/-/ci-parallel-vars-1.0.1.tgz", + "integrity": "sha512-uvzpYrpmidaoxvIQHM+rKSrigjOe9feHYbw4uOI2gdfe1C3xIlxO+kVXq83WQWNniTf8bAxVpy+cQeFQsMERKg==", + "dev": true + }, + "clean-css": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.2.4.tgz", + "integrity": "sha512-nKseG8wCzEuji/4yrgM/5cthL9oTDc5UOQyFMvW/Q53oP6gLH690o1NbuTh6Y18nujr7BxlsFuS7gXLnLzKJGg==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "clean-webpack-plugin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-4.0.0.tgz", + "integrity": "sha512-WuWE1nyTNAyW5T7oNyys2EN0cfP2fdRxhxnIQWiAp0bMabPdHhoGxM8A6YL2GhqwgrPnnaemVE7nv5XJ2Fhh2w==", + "dev": true, + "requires": { + "del": "^4.1.1" + }, + "dependencies": { + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "dev": true, + "requires": { + "@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" + } + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "clean-yaml-object": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz", + "integrity": "sha1-Y/sRDcLOGoTcIfbZM0h20BCui2g=", + "dev": true + }, + "cli-truncate": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz", + "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==", + "dev": true, + "requires": { + "slice-ansi": "^5.0.0", + "string-width": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "string-width": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.0.tgz", + "integrity": "sha512-7x54QnN21P+XL/v8SuNKvfgsUre6PXpN7mc77N3HlZv+f1SBRGmjxtOud2Z6FZ8DmdkD/IdjCaf9XXbnqmTZGQ==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" + }, + "clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=" + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=" + }, + "cloneable-readable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", + "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", + "requires": { + "inherits": "^2.0.1", + "process-nextick-args": "^2.0.0", + "readable-stream": "^2.3.5" + } + }, + "code-excerpt": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/code-excerpt/-/code-excerpt-3.0.0.tgz", + "integrity": "sha512-VHNTVhd7KsLGOqfX3SyeO8RyYPMp1GJOg194VITk04WMYCv4plV68YWe6TJZxd9MhobjtpMRnVky01gqZsalaw==", + "dev": true, + "requires": { + "convert-to-spaces": "^1.0.1" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "color": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.0.tgz", + "integrity": "sha512-hHTcrbvEnGjC7WBMk6ibQWFVDgEFTVmjrz2Q5HlU6ltwxv0JJN2Z8I7uRbWeQLF04dikxs8zgyZkazRJvSMtyQ==", + "requires": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "color-string": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz", + "integrity": "sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==", + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "colorette": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", + "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", + "dev": true + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" + }, + "commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true + }, + "common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concordance": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/concordance/-/concordance-5.0.4.tgz", + "integrity": "sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==", + "dev": true, + "requires": { + "date-time": "^3.1.0", + "esutils": "^2.0.3", + "fast-diff": "^1.2.0", + "js-string-escape": "^1.0.1", + "lodash": "^4.17.15", + "md5-hex": "^3.0.1", + "semver": "^7.3.2", + "well-known-symbols": "^2.0.0" + } + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + }, + "convert-to-spaces": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/convert-to-spaces/-/convert-to-spaces-1.0.2.tgz", + "integrity": "sha1-fj5Iu+bZl7FBfdyihoIEtNPYVxU=", + "dev": true + }, + "copy-webpack-plugin": { + "version": "10.2.3", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.3.tgz", + "integrity": "sha512-DKg4/ijemcJmpo2vBQiwiL2u+t2XN6YYlr2v2Ejqltnn2vbPfXLAz/v0Rv8uB4UmlbB7NH4cGhLxCmtaVppvEQ==", + "dev": true, + "requires": { + "fast-glob": "^3.2.7", + "glob-parent": "^6.0.1", + "globby": "^12.0.2", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", + "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + } + } + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "css-select": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", + "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^5.1.0", + "domhandler": "^4.3.0", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "css-what": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", + "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", + "dev": true + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "date-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/date-time/-/date-time-3.1.0.tgz", + "integrity": "sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==", + "dev": true, + "requires": { + "time-zone": "^1.0.0" + } + }, + "debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dev": true, + "requires": { + "ms": "2.1.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "requires": { + "mimic-response": "^3.1.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + }, + "del": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", + "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", + "dev": true, + "requires": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "dependencies": { + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + } + } + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "requires": { + "utila": "~0.4" + } + }, + "dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true + }, + "domhandler": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", + "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.4.57", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.57.tgz", + "integrity": "sha512-FNC+P5K1n6pF+M0zIK+gFCoXcJhhzDViL3DRIGy2Fv5PohuSES1JHR7T+GlwxSxlzx4yYbsuzCZvHxcBSRCIOw==", + "dev": true + }, + "emittery": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.0.tgz", + "integrity": "sha512-AGvFfs+d0JKCJQ4o01ASQLGPmSCxgfU9RFXvzPvZdjKK8oscynksuJhWrSTSw7j7Ep/sZct5b5ZhYCi8S/t0HQ==", + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz", + "integrity": "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, + "envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "dev": true + }, + "es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==" + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "fast-glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fastest-levenshtein": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", + "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", + "dev": true + }, + "fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "favicons": { + "version": "7.0.0-beta.1", + "resolved": "https://registry.npmjs.org/favicons/-/favicons-7.0.0-beta.1.tgz", + "integrity": "sha512-68NaOyryvZpQlQw1w1K40AH6bl8KfhpL2Nb/EBedeBseYS7Rpz1d3t4eBaLIdOBRM2/353EKkZeKzBvQnp6LvA==", + "requires": { + "colors": "^1.4.0", + "escape-html": "^1.0.3", + "lodash.defaultsdeep": "^4.6.1", + "sharp": "^0.29.1", + "through2": "^4.0.2", + "vinyl": "^2.2.1", + "xml2js": "^0.4.23" + } + }, + "figures": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-4.0.0.tgz", + "integrity": "sha512-VnYcWq6H6F0qDN0QnorznBr0abEovifzUokmnezpKZBUbDmbLAt7LMryOp1TKFVxLxyNYkxEkCEADZR58U9oSw==", + "dev": true, + "requires": { + "escape-string-regexp": "^5.0.0", + "is-unicode-supported": "^1.0.0" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.2.0.tgz", + "integrity": "sha512-yWHzMzXCaFoABSnFTCPKNFlYoq4mSga9QLRRKOCLSJ33hSkzROB14ITbAWW0QDQDyuzsPQ33S1DsOWQb/oW1yA==", + "dev": true, + "requires": { + "locate-path": "^7.0.0", + "path-exists": "^5.0.0" + } + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=" + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "globby": { + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz", + "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==", + "dev": true, + "requires": { + "array-union": "^3.0.1", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.7", + "ignore": "^5.1.9", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "dependencies": { + "array-union": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", + "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", + "dev": true + }, + "slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true + } + } + }, + "graceful-fs": { + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "html-loader": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-3.1.0.tgz", + "integrity": "sha512-ycMYFRiCF7YANcLDNP72kh3Po5pTcH+bROzdDwh00iVOAY/BwvpuZ1BKPziQ35Dk9D+UD84VGX1Lu/H4HpO4fw==", + "dev": true, + "requires": { + "html-minifier-terser": "^6.0.2", + "parse5": "^6.0.1" + } + }, + "html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "dev": true, + "requires": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + } + }, + "html-webpack-plugin": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz", + "integrity": "sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==", + "dev": true, + "requires": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + } + }, + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true + }, + "ignore-by-default": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-2.0.0.tgz", + "integrity": "sha512-+mQSgMRiFD3L3AOxLYOCxjIq4OnAmo5CIuC+lj5ehCJcPtV++QacEV7FdpzvYxH6DaOySWzQU6RR0lPLy37ckA==", + "dev": true + }, + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "interpret": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", + "dev": true + }, + "irregular-plurals": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-3.3.0.tgz", + "integrity": "sha512-MVBLKUTangM3EfRPFROhmWQQKRDsrgI83J8GS3jXy+OwYqiR2/aoWndYQ5416jLE3uaGgLH7ncme3X9y09gZ3g==", + "dev": true + }, + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", + "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-error": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-error/-/is-error-2.2.2.tgz", + "integrity": "sha512-IOQqts/aHWbiisY5DuPJQ0gcbvaLFCa7fBa9xoLfxBZvQ+ZI/Zh9xoI7Gk+G64N0FdK4AbibytHht2tWgpJWLg==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true + }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "dev": true, + "requires": { + "is-path-inside": "^2.1.0" + }, + "dependencies": { + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "dev": true, + "requires": { + "path-is-inside": "^1.0.2" + } + } + } + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true + }, + "is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "dev": true + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-unicode-supported": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.1.0.tgz", + "integrity": "sha512-lDcxivp8TJpLG75/DpatAqNzOpDPSpED8XNtrpBHTdQ2InQ1PbW78jhwSxyxhhu+xbVSast2X38bwj8atwoUQA==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "jest-worker": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.6.tgz", + "integrity": "sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "js-string-escape": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz", + "integrity": "sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8=", + "dev": true + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "load-json-file": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-7.0.1.tgz", + "integrity": "sha512-Gnxj3ev3mB5TkVBGad0JM6dmLiQL+o0t23JPBZ9sd+yvSLk05mFoqKBw5N8gbbkU4TNXyqCgIrl/VM17OgUIgQ==", + "dev": true + }, + "loader-runner": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", + "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", + "dev": true + }, + "locate-path": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.0.0.tgz", + "integrity": "sha512-+cg2yXqDUKfo4hsFxwa3G1cBJeA+gs1vD8FyV9/odWoUlQe/4syxHQ5DPtKjtfm6gnKbZzjCqzX03kXosvZB1w==", + "dev": true, + "requires": { + "p-locate": "^6.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.defaultsdeep": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", + "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==" + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dev": true, + "requires": { + "p-defer": "^1.0.0" + } + }, + "matcher": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-5.0.0.tgz", + "integrity": "sha512-s2EMBOWtXFc8dgqvoAzKJXxNHibcdJMV0gwqKUaw9E2JBJuGUK7DrNKrA6g/i+v72TT16+6sVm5mS3thaMLQUw==", + "dev": true, + "requires": { + "escape-string-regexp": "^5.0.0" + } + }, + "md5-hex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-3.0.1.tgz", + "integrity": "sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==", + "dev": true, + "requires": { + "blueimp-md5": "^2.10.0" + } + }, + "mem": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/mem/-/mem-9.0.2.tgz", + "integrity": "sha512-F2t4YIv9XQUBHt6AOJ0y7lSmP1+cY7Fm1DRh9GClTGzKST7UWLMx6ly9WZdLH/G/ppM5RL4MlQfRT71ri9t19A==", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.3", + "mimic-fn": "^4.0.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "mime-db": { + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", + "dev": true + }, + "mime-types": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", + "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", + "dev": true, + "requires": { + "mime-db": "1.51.0" + } + }, + "mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true + }, + "mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node-abi": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.5.0.tgz", + "integrity": "sha512-LtHvNIBgOy5mO8mPEUtkCW/YCRWYEKshIvqhe1GHHyXEHEB5mgICyYnAcl4qan3uFeRROErKGzatFHPf6kDxWw==", + "requires": { + "semver": "^7.3.5" + } + }, + "node-addon-api": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz", + "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==" + }, + "node-releases": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", + "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", + "dev": true + }, + "nofilter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", + "integrity": "sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==", + "dev": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "nth-check": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + }, + "dependencies": { + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + } + } + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true + }, + "p-event": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-5.0.1.tgz", + "integrity": "sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==", + "dev": true, + "requires": { + "p-timeout": "^5.0.2" + } + }, + "p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dev": true, + "requires": { + "yocto-queue": "^1.0.0" + } + }, + "p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "dev": true, + "requires": { + "p-limit": "^4.0.0" + } + }, + "p-map": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-5.3.0.tgz", + "integrity": "sha512-SRbIQFoLYNezHkqZslqeg963HYUtqOrfMCxjNrFOpJ19WTYuq26rQoOXeX8QQiMLUlLqdYV/7PuDsdYJ7hLE1w==", + "dev": true, + "requires": { + "aggregate-error": "^4.0.0" + }, + "dependencies": { + "aggregate-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.0.tgz", + "integrity": "sha512-8DGp7zUt1E9k0NE2q4jlXHk+V3ORErmwolEdRz9iV+LKJ40WhMHh92cxAvhqV2I+zEn/gotIoqoMs0NjF3xofg==", + "dev": true, + "requires": { + "clean-stack": "^4.0.0", + "indent-string": "^5.0.0" + } + }, + "clean-stack": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.1.0.tgz", + "integrity": "sha512-dxXQYI7mfQVcaF12s6sjNFoZ6ZPDQuBBLp3QJ5156k9EvUFClUoZ11fo8HnLQO241DDVntHEug8MOuFO5PSfRg==", + "dev": true, + "requires": { + "escape-string-regexp": "5.0.0" + } + } + } + }, + "p-timeout": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-5.0.2.tgz", + "integrity": "sha512-sEmji9Yaq+Tw+STwsGAE56hf7gMy9p0tQfJojIAamB7WHJYJKf1qlsg9jqBWG8q9VCxKPhZaP/AcXwEoBcYQhQ==", + "dev": true + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "parse-ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz", + "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==", + "dev": true + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-conf": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-4.0.0.tgz", + "integrity": "sha512-7dmgi4UY4qk+4mj5Cd8v/GExPo0K+SlY+hulOSdfZ/T6jVH6//y7NtzZo5WrfhDBxuQ0jCa7fLZmNaNh7EWL/w==", + "dev": true, + "requires": { + "find-up": "^6.0.0", + "load-json-file": "^7.0.0" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + } + } + }, + "plur": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/plur/-/plur-5.1.0.tgz", + "integrity": "sha512-VP/72JeXqak2KiOzjgKtQen5y3IZHn+9GOuLDafPv0eXa47xq0At93XahYBs26MsifCQ4enGKwbjBTKgb9QJXg==", + "dev": true, + "requires": { + "irregular-plurals": "^3.3.0" + } + }, + "prebuild-install": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.0.1.tgz", + "integrity": "sha512-QBSab31WqkyxpnMWQxubYAHR5S9B2+r81ucocew34Fkl98FhvKIF50jIJnNOBmAZfyNV7vE5T6gd3hTVWgY6tg==", + "requires": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "npmlog": "^4.0.1", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "dependencies": { + "detect-libc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.0.tgz", + "integrity": "sha512-S55LzUl8HUav8l9E2PBTlC5PAJrHK7tkM+XXFGD+fbsbkTzhCpG6K05LxJcUOEWzMa4v6ptcMZ9s3fOdJDu0Zw==" + } + } + }, + "pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "dev": true, + "requires": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "pretty-ms": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz", + "integrity": "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==", + "dev": true, + "requires": { + "parse-ms": "^2.1.0" + } + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "rechoir": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", + "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", + "dev": true, + "requires": { + "resolve": "^1.9.0" + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + }, + "renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "dev": true, + "requires": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==" + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, + "resolve": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "dev": true, + "requires": { + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "serialize-error": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", + "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", + "dev": true, + "requires": { + "type-fest": "^0.13.1" + } + }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "sharp": { + "version": "0.29.3", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.29.3.tgz", + "integrity": "sha512-fKWUuOw77E4nhpyzCCJR1ayrttHoFHBT2U/kR/qEMRhvPEcluG4BKj324+SCO1e84+knXHwhJ1HHJGnUt4ElGA==", + "requires": { + "color": "^4.0.1", + "detect-libc": "^1.0.3", + "node-addon-api": "^4.2.0", + "prebuild-install": "^7.0.0", + "semver": "^7.3.5", + "simple-get": "^4.0.0", + "tar-fs": "^2.1.1", + "tunnel-agent": "^0.6.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "signal-exit": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", + "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==" + }, + "simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==" + }, + "simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "requires": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "requires": { + "is-arrayish": "^0.3.1" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "dev": true, + "requires": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "dev": true + } + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "stack-utils": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", + "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + } + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + }, + "supertap": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supertap/-/supertap-2.0.0.tgz", + "integrity": "sha512-jRzcXlCeDYvKoZGA5oRhYyR3jUIYu0enkSxtmAgHRlD7HwrovTpH4bDSi0py9FtuA8si9cW/fKommJHuaoDHJA==", + "dev": true, + "requires": { + "arrify": "^2.0.1", + "indent-string": "^4.0.0", + "js-yaml": "^3.14.0", + "serialize-error": "^7.0.1", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true + }, + "tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "requires": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "requires": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "dev": true + }, + "terser": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz", + "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.0.tgz", + "integrity": "sha512-LPIisi3Ol4chwAaPP8toUJ3L4qCM1G0wao7L3qNv57Drezxj6+VEyySpPw4B1HSO2Eg/hDY/MNF5XihCAoqnsQ==", + "dev": true, + "requires": { + "jest-worker": "^27.4.1", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1", + "terser": "^5.7.2" + } + }, + "through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "requires": { + "readable-stream": "3" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "time-zone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/time-zone/-/time-zone-1.0.0.tgz", + "integrity": "sha1-mcW/VZWJZq9tBtg73zgA3IL67F0=", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "dev": true + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true + }, + "vinyl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", + "requires": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + } + }, + "watchpack": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", + "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", + "dev": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "webpack": { + "version": "5.66.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.66.0.tgz", + "integrity": "sha512-NJNtGT7IKpGzdW7Iwpn/09OXz9inIkeIQ/ibY6B+MdV1x6+uReqz/5z1L89ezWnpPDWpXF0TY5PCYKQdWVn8Vg==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.0", + "@types/estree": "^0.0.50", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.8.3", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.3.1", + "webpack-sources": "^3.2.2" + } + }, + "webpack-cli": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz", + "integrity": "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==", + "dev": true, + "requires": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^1.1.0", + "@webpack-cli/info": "^1.4.0", + "@webpack-cli/serve": "^1.6.0", + "colorette": "^2.0.14", + "commander": "^7.0.0", + "execa": "^5.0.0", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^2.2.0", + "rechoir": "^0.7.0", + "webpack-merge": "^5.7.3" + }, + "dependencies": { + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true + } + } + }, + "webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true + }, + "well-known-symbols": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/well-known-symbols/-/well-known-symbols-2.0.0.tgz", + "integrity": "sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "requires": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + } + }, + "xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "yargs": { + "version": "17.3.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz", + "integrity": "sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==", + "dev": true + }, + "yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true + } + } +} diff --git a/package.json b/package.json index 1d113a3..ff53c21 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "webpack html favicon", "webpack favicons" ], - "version": "1.3.4", + "version": "1.3.8", "description": "Webpack plugin to generate favicons for devices and browsers", "repository": "drolsen/webpack-favicons", "bugs": { @@ -17,14 +17,16 @@ "author": "Devin R. Olsen (http://devinrolsen.com)", "license": "MIT", "scripts": { - "test": "npm run basic-test && npm run nested-test && npm run public-test && npm run mixed-test && npm run default-test && npm run callback-test && npm run full-test && npm run ava-test", + "test": "npm run basic-test && npm run nested-test && npm run public-test && npm run mixed-test && npm run default-test && npm run callback-test && npm run copy-test && npm run full-test && npm run ava-test", "basic-test": "webpack --config ./test/basic.config.js --mode production", "nested-test": "webpack --config ./test/nested.config.js --mode production", "public-test": "webpack --config ./test/public-path.config.js --mode production", "mixed-test": "webpack --config ./test/mixed-path.config.js --mode production", "full-test": "webpack --config ./test/full.config.js --mode production", "callback-test": "webpack --config ./test/callback.config.js --mode production", + "multi-test": "webpack --config ./test/multi-src.config.js --mode production", "default-test": "webpack --config ./test/default.config.js --mode production", + "copy-test": "webpack --config ./test/copy.config.js --mode production", "ava-test": "ava ./test/ava.test.js" }, "engines": { @@ -33,6 +35,7 @@ "devDependencies": { "ava": "4.0.1", "clean-webpack-plugin": "4.0.0", + "copy-webpack-plugin": "^10.2.3", "html-loader": "3.1.0", "html-webpack-plugin": "5.5.0", "webpack": "5.66.0", diff --git a/test/ava.test.js b/test/ava.test.js index 882ba61..c5a8cac 100644 --- a/test/ava.test.js +++ b/test/ava.test.js @@ -147,6 +147,25 @@ test('callback-test', t => { test = false; } + if (test) { + t.pass(); + } else { + t.fail(); + } +}); + +test('copy-test', t => { + let test = false; + + if (fs.existsSync(path.resolve(__dirname, '../dist/copy/test.html'))){ + test = true; + } + + const testData = fs.readFileSync(path.resolve(__dirname, '../dist/copy/test.html'), 'utf8'); + if (testData.toString().indexOf('favicon.ico') === -1) { + test = false; + } + if (test) { t.pass(); } else { diff --git a/test/copy.config.js b/test/copy.config.js new file mode 100644 index 0000000..9b5a014 --- /dev/null +++ b/test/copy.config.js @@ -0,0 +1,50 @@ +const WebpackFavicons = require('../index.js'); +const { CleanWebpackPlugin } = require('clean-webpack-plugin'); +const CopyPlugin = require("copy-webpack-plugin"); +const path = require('path'); + +module.exports = { + entry: path.resolve(__dirname, 'test.js'), + output: { + path: path.resolve(__dirname, '../dist/copy'), + filename: 'test.js', + pathinfo: false + }, + module: { + rules: [{ + 'test': /\.html$/, + 'exclude': /node_modules/, + 'include': [ + path.resolve(__dirname, 'test.html') + ], + 'use': { + 'loader': 'html-loader', // (see: https://www.npmjs.com/package/html-loader) + 'options': { 'minimize': false } + } + }] + }, + optimization: { + minimize: false + }, + plugins: [ + new CleanWebpackPlugin({ + 'cleanOnceBeforeBuildPatterns': [path.resolve('./dist/copy/')] + }), + new CopyPlugin({ + patterns: [ + { from: 'test/test.html', to: './' } + ], + }), + new WebpackFavicons({ + 'src': 'assets/favicon.svg', + 'path': 'assets/', + 'scope': 'resources/', + 'background': '#000', + 'theme_color': '#000', + 'icons': { + 'favicons': true + } + }) + ] +}; + diff --git a/test/multi-src.config.js b/test/multi-src.config.js new file mode 100644 index 0000000..15bdaee --- /dev/null +++ b/test/multi-src.config.js @@ -0,0 +1,51 @@ +const WebpackFavicons = require('../index.js'); +const { CleanWebpackPlugin } = require('clean-webpack-plugin'); +const HtmlWebpackPlugin = require('html-webpack-plugin'); +const path = require('path'); + +module.exports = { + entry: path.resolve(__dirname, 'test.js'), + output: { + path: path.resolve(__dirname, '../dist/multi-src/'), + publicPath: '/~media/', + filename: 'test.js', + pathinfo: false + }, + module: { + rules: [{ + 'test': /\.html$/, + 'exclude': /node_modules/, + 'include': [ + path.resolve(__dirname, 'test.html') + ], + 'use': { + 'loader': 'html-loader', // (see: https://www.npmjs.com/package/html-loader) + 'options': { 'minimize': false } + } + }] + }, + optimization: { + minimize: false + }, + plugins: [ + new CleanWebpackPlugin({ + 'cleanOnceBeforeBuildPatterns': [path.resolve(__dirname, '../dist/multi-src')] + }), + new HtmlWebpackPlugin({ + 'title': 'Basic Test', + 'template': './test/test.html', + 'filename': './test.html', + 'minify': false + }), + new WebpackFavicons({ + 'src': ['assets/favicon.svg', 'assets/favicon-red.png'], + 'path': 'assets', + 'background': '#000', + 'theme_color': '#000', + 'icons': { + 'favicons': true + } + }) + ] +}; + From aa2fb17808a07dc36fca837cab0e60b81642b9cd Mon Sep 17 00:00:00 2001 From: Devin Date: Mon, 31 Jan 2022 00:08:36 -0800 Subject: [PATCH 2/7] Dev 1.3.8 Release: Renames test from default to minimal --- package-lock.json | 3469 ----------------- package.json | 4 +- test/ava.test.js | 108 +- test/{default.config.js => minimal.config.js} | 4 +- 4 files changed, 54 insertions(+), 3531 deletions(-) delete mode 100644 package-lock.json rename test/{default.config.js => minimal.config.js} (89%) diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index d4285c7..0000000 --- a/package-lock.json +++ /dev/null @@ -1,3469 +0,0 @@ -{ - "name": "webpack-favicons", - "version": "1.3.4", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@discoveryjs/json-ext": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz", - "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==", - "dev": true - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@types/eslint": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz", - "integrity": "sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==", - "dev": true, - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", - "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", - "dev": true, - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "@types/estree": { - "version": "0.0.50", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", - "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", - "dev": true - }, - "@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", - "dev": true, - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", - "dev": true - }, - "@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", - "dev": true - }, - "@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "dev": true - }, - "@types/node": { - "version": "17.0.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.13.tgz", - "integrity": "sha512-Y86MAxASe25hNzlDbsviXl8jQHb0RDvKt4c40ZJQ1Don0AAL0STLZSs4N+6gLEO55pedy7r2cLwS+ZDxPm/2Bw==", - "dev": true - }, - "@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", - "dev": true, - "requires": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", - "dev": true - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", - "dev": true, - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "@webpack-cli/configtest": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.1.tgz", - "integrity": "sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg==", - "dev": true - }, - "@webpack-cli/info": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.1.tgz", - "integrity": "sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA==", - "dev": true, - "requires": { - "envinfo": "^7.7.3" - } - }, - "@webpack-cli/serve": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.1.tgz", - "integrity": "sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw==", - "dev": true - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", - "dev": true - }, - "acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "dev": true - }, - "acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "dependencies": { - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - } - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "requires": { - "ajv": "^8.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", - "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - } - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "ansi-styles": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.1.0.tgz", - "integrity": "sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==", - "dev": true - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" - }, - "are-we-there-yet": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", - "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "arrgv": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/arrgv/-/arrgv-1.0.2.tgz", - "integrity": "sha512-a4eg4yhp7mmruZDQFqVMlxNRFGi/i1r87pt8SDHy0/I8PqSXoUTlWZRdAZo0VXgvEARcujbtTk8kiZRi1uDGRw==", - "dev": true - }, - "arrify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-3.0.0.tgz", - "integrity": "sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw==", - "dev": true - }, - "ava": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/ava/-/ava-4.0.1.tgz", - "integrity": "sha512-+12A/JDWyShBCZAKISEEPyM2dwkUrrAfPILqXi4LI4Aa58d92PzjY829hmuoSeACPNqrn2Wlbnja8c/n7bKV6Q==", - "dev": true, - "requires": { - "acorn": "^8.7.0", - "acorn-walk": "^8.2.0", - "ansi-styles": "^6.1.0", - "arrgv": "^1.0.2", - "arrify": "^3.0.0", - "callsites": "^4.0.0", - "cbor": "^8.1.0", - "chalk": "^5.0.0", - "chokidar": "^3.5.2", - "chunkd": "^2.0.1", - "ci-info": "^3.3.0", - "ci-parallel-vars": "^1.0.1", - "clean-yaml-object": "^0.1.0", - "cli-truncate": "^3.1.0", - "code-excerpt": "^3.0.0", - "common-path-prefix": "^3.0.0", - "concordance": "^5.0.4", - "currently-unhandled": "^0.4.1", - "debug": "^4.3.3", - "del": "^6.0.0", - "emittery": "^0.10.0", - "figures": "^4.0.0", - "globby": "^12.0.2", - "ignore-by-default": "^2.0.0", - "indent-string": "^5.0.0", - "is-error": "^2.2.2", - "is-plain-object": "^5.0.0", - "is-promise": "^4.0.0", - "matcher": "^5.0.0", - "mem": "^9.0.1", - "ms": "^2.1.3", - "p-event": "^5.0.1", - "p-map": "^5.3.0", - "picomatch": "^2.3.0", - "pkg-conf": "^4.0.0", - "plur": "^5.1.0", - "pretty-ms": "^7.0.1", - "resolve-cwd": "^3.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.5", - "strip-ansi": "^7.0.1", - "supertap": "^2.0.0", - "temp-dir": "^2.0.0", - "write-file-atomic": "^3.0.3", - "yargs": "^17.3.1" - }, - "dependencies": { - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true - }, - "strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", - "dev": true, - "requires": { - "ansi-regex": "^6.0.1" - } - } - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true - }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "blueimp-md5": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.19.0.tgz", - "integrity": "sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==", - "dev": true - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "browserslist": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", - "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001286", - "electron-to-chromium": "^1.4.17", - "escalade": "^3.1.1", - "node-releases": "^2.0.1", - "picocolors": "^1.0.0" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "callsites": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-4.0.0.tgz", - "integrity": "sha512-y3jRROutgpKdz5vzEhWM34TidDU8vkJppF8dszITeb1PQmSqV3DTxyV8G/lyO/DNvtE1YTedehmw9MPZsCBHxQ==", - "dev": true - }, - "camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "dev": true, - "requires": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "caniuse-lite": { - "version": "1.0.30001303", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001303.tgz", - "integrity": "sha512-/Mqc1oESndUNszJP0kx0UaQU9kEv9nNtJ7Kn8AdA0mNnH8eR1cj0kG+NbNuC1Wq/b21eA8prhKRA3bbkjONegQ==", - "dev": true - }, - "cbor": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/cbor/-/cbor-8.1.0.tgz", - "integrity": "sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==", - "dev": true, - "requires": { - "nofilter": "^3.1.0" - } - }, - "chalk": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.0.tgz", - "integrity": "sha512-/duVOqst+luxCQRKEo4bNxinsOQtMP80ZYm7mMqzuh5PociNL0PvmHFvREJ9ueYL2TxlHjBcmLCdmocx9Vg+IQ==", - "dev": true - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true - }, - "chunkd": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/chunkd/-/chunkd-2.0.1.tgz", - "integrity": "sha512-7d58XsFmOq0j6el67Ug9mHf9ELUXsQXYJBkyxhH/k+6Ke0qXRnv0kbemx+Twc6fRJ07C49lcbdgm9FL1Ei/6SQ==", - "dev": true - }, - "ci-info": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", - "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==", - "dev": true - }, - "ci-parallel-vars": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ci-parallel-vars/-/ci-parallel-vars-1.0.1.tgz", - "integrity": "sha512-uvzpYrpmidaoxvIQHM+rKSrigjOe9feHYbw4uOI2gdfe1C3xIlxO+kVXq83WQWNniTf8bAxVpy+cQeFQsMERKg==", - "dev": true - }, - "clean-css": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.2.4.tgz", - "integrity": "sha512-nKseG8wCzEuji/4yrgM/5cthL9oTDc5UOQyFMvW/Q53oP6gLH690o1NbuTh6Y18nujr7BxlsFuS7gXLnLzKJGg==", - "dev": true, - "requires": { - "source-map": "~0.6.0" - } - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, - "clean-webpack-plugin": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-4.0.0.tgz", - "integrity": "sha512-WuWE1nyTNAyW5T7oNyys2EN0cfP2fdRxhxnIQWiAp0bMabPdHhoGxM8A6YL2GhqwgrPnnaemVE7nv5XJ2Fhh2w==", - "dev": true, - "requires": { - "del": "^4.1.1" - }, - "dependencies": { - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", - "dev": true, - "requires": { - "@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" - } - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "clean-yaml-object": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz", - "integrity": "sha1-Y/sRDcLOGoTcIfbZM0h20BCui2g=", - "dev": true - }, - "cli-truncate": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz", - "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==", - "dev": true, - "requires": { - "slice-ansi": "^5.0.0", - "string-width": "^5.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true - }, - "string-width": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.0.tgz", - "integrity": "sha512-7x54QnN21P+XL/v8SuNKvfgsUre6PXpN7mc77N3HlZv+f1SBRGmjxtOud2Z6FZ8DmdkD/IdjCaf9XXbnqmTZGQ==", - "dev": true, - "requires": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - } - }, - "strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", - "dev": true, - "requires": { - "ansi-regex": "^6.0.1" - } - } - } - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" - }, - "clone-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", - "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=" - }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "dependencies": { - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - } - } - }, - "clone-stats": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", - "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=" - }, - "cloneable-readable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", - "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", - "requires": { - "inherits": "^2.0.1", - "process-nextick-args": "^2.0.0", - "readable-stream": "^2.3.5" - } - }, - "code-excerpt": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/code-excerpt/-/code-excerpt-3.0.0.tgz", - "integrity": "sha512-VHNTVhd7KsLGOqfX3SyeO8RyYPMp1GJOg194VITk04WMYCv4plV68YWe6TJZxd9MhobjtpMRnVky01gqZsalaw==", - "dev": true, - "requires": { - "convert-to-spaces": "^1.0.1" - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, - "color": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/color/-/color-4.2.0.tgz", - "integrity": "sha512-hHTcrbvEnGjC7WBMk6ibQWFVDgEFTVmjrz2Q5HlU6ltwxv0JJN2Z8I7uRbWeQLF04dikxs8zgyZkazRJvSMtyQ==", - "requires": { - "color-convert": "^2.0.1", - "color-string": "^1.9.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "color-string": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz", - "integrity": "sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==", - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "colorette": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", - "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", - "dev": true - }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" - }, - "commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "dev": true - }, - "common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "concordance": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/concordance/-/concordance-5.0.4.tgz", - "integrity": "sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==", - "dev": true, - "requires": { - "date-time": "^3.1.0", - "esutils": "^2.0.3", - "fast-diff": "^1.2.0", - "js-string-escape": "^1.0.1", - "lodash": "^4.17.15", - "md5-hex": "^3.0.1", - "semver": "^7.3.2", - "well-known-symbols": "^2.0.0" - } - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" - }, - "convert-to-spaces": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/convert-to-spaces/-/convert-to-spaces-1.0.2.tgz", - "integrity": "sha1-fj5Iu+bZl7FBfdyihoIEtNPYVxU=", - "dev": true - }, - "copy-webpack-plugin": { - "version": "10.2.3", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.3.tgz", - "integrity": "sha512-DKg4/ijemcJmpo2vBQiwiL2u+t2XN6YYlr2v2Ejqltnn2vbPfXLAz/v0Rv8uB4UmlbB7NH4cGhLxCmtaVppvEQ==", - "dev": true, - "requires": { - "fast-glob": "^3.2.7", - "glob-parent": "^6.0.1", - "globby": "^12.0.2", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", - "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - } - } - } - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "css-select": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", - "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^5.1.0", - "domhandler": "^4.3.0", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - } - }, - "css-what": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", - "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", - "dev": true - }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, - "requires": { - "array-find-index": "^1.0.1" - } - }, - "date-time": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/date-time/-/date-time-3.1.0.tgz", - "integrity": "sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==", - "dev": true, - "requires": { - "time-zone": "^1.0.0" - } - }, - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, - "requires": { - "ms": "2.1.2" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "requires": { - "mimic-response": "^3.1.0" - } - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" - }, - "del": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", - "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", - "dev": true, - "requires": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - }, - "dependencies": { - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - } - }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - } - } - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" - }, - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "dev": true, - "requires": { - "utila": "~0.4" - } - }, - "dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, - "domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "dev": true - }, - "domhandler": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", - "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", - "dev": true, - "requires": { - "domelementtype": "^2.2.0" - } - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "dev": true, - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, - "electron-to-chromium": { - "version": "1.4.57", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.57.tgz", - "integrity": "sha512-FNC+P5K1n6pF+M0zIK+gFCoXcJhhzDViL3DRIGy2Fv5PohuSES1JHR7T+GlwxSxlzx4yYbsuzCZvHxcBSRCIOw==", - "dev": true - }, - "emittery": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.0.tgz", - "integrity": "sha512-AGvFfs+d0JKCJQ4o01ASQLGPmSCxgfU9RFXvzPvZdjKK8oscynksuJhWrSTSw7j7Ep/sZct5b5ZhYCi8S/t0HQ==", - "dev": true - }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "enhanced-resolve": { - "version": "5.8.3", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz", - "integrity": "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true - }, - "envinfo": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", - "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", - "dev": true - }, - "es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", - "dev": true - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "dev": true - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==" - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", - "dev": true - }, - "fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fastest-levenshtein": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", - "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", - "dev": true - }, - "fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "favicons": { - "version": "7.0.0-beta.1", - "resolved": "https://registry.npmjs.org/favicons/-/favicons-7.0.0-beta.1.tgz", - "integrity": "sha512-68NaOyryvZpQlQw1w1K40AH6bl8KfhpL2Nb/EBedeBseYS7Rpz1d3t4eBaLIdOBRM2/353EKkZeKzBvQnp6LvA==", - "requires": { - "colors": "^1.4.0", - "escape-html": "^1.0.3", - "lodash.defaultsdeep": "^4.6.1", - "sharp": "^0.29.1", - "through2": "^4.0.2", - "vinyl": "^2.2.1", - "xml2js": "^0.4.23" - } - }, - "figures": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-4.0.0.tgz", - "integrity": "sha512-VnYcWq6H6F0qDN0QnorznBr0abEovifzUokmnezpKZBUbDmbLAt7LMryOp1TKFVxLxyNYkxEkCEADZR58U9oSw==", - "dev": true, - "requires": { - "escape-string-regexp": "^5.0.0", - "is-unicode-supported": "^1.0.0" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-up": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.2.0.tgz", - "integrity": "sha512-yWHzMzXCaFoABSnFTCPKNFlYoq4mSga9QLRRKOCLSJ33hSkzROB14ITbAWW0QDQDyuzsPQ33S1DsOWQb/oW1yA==", - "dev": true, - "requires": { - "locate-path": "^7.0.0", - "path-exists": "^5.0.0" - } - }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - }, - "github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=" - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, - "globby": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz", - "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==", - "dev": true, - "requires": { - "array-union": "^3.0.1", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.7", - "ignore": "^5.1.9", - "merge2": "^1.4.1", - "slash": "^4.0.0" - }, - "dependencies": { - "array-union": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", - "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", - "dev": true - }, - "slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true - } - } - }, - "graceful-fs": { - "version": "4.2.9", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "html-loader": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-3.1.0.tgz", - "integrity": "sha512-ycMYFRiCF7YANcLDNP72kh3Po5pTcH+bROzdDwh00iVOAY/BwvpuZ1BKPziQ35Dk9D+UD84VGX1Lu/H4HpO4fw==", - "dev": true, - "requires": { - "html-minifier-terser": "^6.0.2", - "parse5": "^6.0.1" - } - }, - "html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", - "dev": true, - "requires": { - "camel-case": "^4.1.2", - "clean-css": "^5.2.2", - "commander": "^8.3.0", - "he": "^1.2.0", - "param-case": "^3.0.4", - "relateurl": "^0.2.7", - "terser": "^5.10.0" - } - }, - "html-webpack-plugin": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz", - "integrity": "sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==", - "dev": true, - "requires": { - "@types/html-minifier-terser": "^6.0.0", - "html-minifier-terser": "^6.0.2", - "lodash": "^4.17.21", - "pretty-error": "^4.0.0", - "tapable": "^2.0.0" - } - }, - "htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true - }, - "ignore-by-default": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-2.0.0.tgz", - "integrity": "sha512-+mQSgMRiFD3L3AOxLYOCxjIq4OnAmo5CIuC+lj5ehCJcPtV++QacEV7FdpzvYxH6DaOySWzQU6RR0lPLy37ckA==", - "dev": true - }, - "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "indent-string": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", - "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "dev": true - }, - "irregular-plurals": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-3.3.0.tgz", - "integrity": "sha512-MVBLKUTangM3EfRPFROhmWQQKRDsrgI83J8GS3jXy+OwYqiR2/aoWndYQ5416jLE3uaGgLH7ncme3X9y09gZ3g==", - "dev": true - }, - "is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-error": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/is-error/-/is-error-2.2.2.tgz", - "integrity": "sha512-IOQqts/aHWbiisY5DuPJQ0gcbvaLFCa7fBa9xoLfxBZvQ+ZI/Zh9xoI7Gk+G64N0FdK4AbibytHht2tWgpJWLg==", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true - }, - "is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", - "dev": true, - "requires": { - "is-path-inside": "^2.1.0" - }, - "dependencies": { - "is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", - "dev": true, - "requires": { - "path-is-inside": "^1.0.2" - } - } - } - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true - }, - "is-promise": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", - "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", - "dev": true - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-unicode-supported": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.1.0.tgz", - "integrity": "sha512-lDcxivp8TJpLG75/DpatAqNzOpDPSpED8XNtrpBHTdQ2InQ1PbW78jhwSxyxhhu+xbVSast2X38bwj8atwoUQA==", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "jest-worker": { - "version": "27.4.6", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.6.tgz", - "integrity": "sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw==", - "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - }, - "js-string-escape": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz", - "integrity": "sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8=", - "dev": true - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, - "load-json-file": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-7.0.1.tgz", - "integrity": "sha512-Gnxj3ev3mB5TkVBGad0JM6dmLiQL+o0t23JPBZ9sd+yvSLk05mFoqKBw5N8gbbkU4TNXyqCgIrl/VM17OgUIgQ==", - "dev": true - }, - "loader-runner": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", - "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", - "dev": true - }, - "locate-path": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.0.0.tgz", - "integrity": "sha512-+cg2yXqDUKfo4hsFxwa3G1cBJeA+gs1vD8FyV9/odWoUlQe/4syxHQ5DPtKjtfm6gnKbZzjCqzX03kXosvZB1w==", - "dev": true, - "requires": { - "p-locate": "^6.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "lodash.defaultsdeep": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", - "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==" - }, - "lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dev": true, - "requires": { - "tslib": "^2.0.3" - } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", - "dev": true, - "requires": { - "p-defer": "^1.0.0" - } - }, - "matcher": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/matcher/-/matcher-5.0.0.tgz", - "integrity": "sha512-s2EMBOWtXFc8dgqvoAzKJXxNHibcdJMV0gwqKUaw9E2JBJuGUK7DrNKrA6g/i+v72TT16+6sVm5mS3thaMLQUw==", - "dev": true, - "requires": { - "escape-string-regexp": "^5.0.0" - } - }, - "md5-hex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-3.0.1.tgz", - "integrity": "sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==", - "dev": true, - "requires": { - "blueimp-md5": "^2.10.0" - } - }, - "mem": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/mem/-/mem-9.0.2.tgz", - "integrity": "sha512-F2t4YIv9XQUBHt6AOJ0y7lSmP1+cY7Fm1DRh9GClTGzKST7UWLMx6ly9WZdLH/G/ppM5RL4MlQfRT71ri9t19A==", - "dev": true, - "requires": { - "map-age-cleaner": "^0.1.3", - "mimic-fn": "^4.0.0" - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - } - }, - "mime-db": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", - "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", - "dev": true - }, - "mime-types": { - "version": "2.1.34", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", - "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", - "dev": true, - "requires": { - "mime-db": "1.51.0" - } - }, - "mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true - }, - "mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "dev": true, - "requires": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node-abi": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.5.0.tgz", - "integrity": "sha512-LtHvNIBgOy5mO8mPEUtkCW/YCRWYEKshIvqhe1GHHyXEHEB5mgICyYnAcl4qan3uFeRROErKGzatFHPf6kDxWw==", - "requires": { - "semver": "^7.3.5" - } - }, - "node-addon-api": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz", - "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==" - }, - "node-releases": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", - "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", - "dev": true - }, - "nofilter": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", - "integrity": "sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==", - "dev": true - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "nth-check": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", - "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", - "dev": true, - "requires": { - "boolbase": "^1.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - }, - "dependencies": { - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - } - } - }, - "p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", - "dev": true - }, - "p-event": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/p-event/-/p-event-5.0.1.tgz", - "integrity": "sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==", - "dev": true, - "requires": { - "p-timeout": "^5.0.2" - } - }, - "p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", - "dev": true, - "requires": { - "yocto-queue": "^1.0.0" - } - }, - "p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", - "dev": true, - "requires": { - "p-limit": "^4.0.0" - } - }, - "p-map": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-5.3.0.tgz", - "integrity": "sha512-SRbIQFoLYNezHkqZslqeg963HYUtqOrfMCxjNrFOpJ19WTYuq26rQoOXeX8QQiMLUlLqdYV/7PuDsdYJ7hLE1w==", - "dev": true, - "requires": { - "aggregate-error": "^4.0.0" - }, - "dependencies": { - "aggregate-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.0.tgz", - "integrity": "sha512-8DGp7zUt1E9k0NE2q4jlXHk+V3ORErmwolEdRz9iV+LKJ40WhMHh92cxAvhqV2I+zEn/gotIoqoMs0NjF3xofg==", - "dev": true, - "requires": { - "clean-stack": "^4.0.0", - "indent-string": "^5.0.0" - } - }, - "clean-stack": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-4.1.0.tgz", - "integrity": "sha512-dxXQYI7mfQVcaF12s6sjNFoZ6ZPDQuBBLp3QJ5156k9EvUFClUoZ11fo8HnLQO241DDVntHEug8MOuFO5PSfRg==", - "dev": true, - "requires": { - "escape-string-regexp": "5.0.0" - } - } - } - }, - "p-timeout": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-5.0.2.tgz", - "integrity": "sha512-sEmji9Yaq+Tw+STwsGAE56hf7gMy9p0tQfJojIAamB7WHJYJKf1qlsg9jqBWG8q9VCxKPhZaP/AcXwEoBcYQhQ==", - "dev": true - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "dev": true, - "requires": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "parse-ms": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz", - "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==", - "dev": true - }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, - "pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "dev": true, - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, - "pkg-conf": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-4.0.0.tgz", - "integrity": "sha512-7dmgi4UY4qk+4mj5Cd8v/GExPo0K+SlY+hulOSdfZ/T6jVH6//y7NtzZo5WrfhDBxuQ0jCa7fLZmNaNh7EWL/w==", - "dev": true, - "requires": { - "find-up": "^6.0.0", - "load-json-file": "^7.0.0" - } - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - } - } - }, - "plur": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/plur/-/plur-5.1.0.tgz", - "integrity": "sha512-VP/72JeXqak2KiOzjgKtQen5y3IZHn+9GOuLDafPv0eXa47xq0At93XahYBs26MsifCQ4enGKwbjBTKgb9QJXg==", - "dev": true, - "requires": { - "irregular-plurals": "^3.3.0" - } - }, - "prebuild-install": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.0.1.tgz", - "integrity": "sha512-QBSab31WqkyxpnMWQxubYAHR5S9B2+r81ucocew34Fkl98FhvKIF50jIJnNOBmAZfyNV7vE5T6gd3hTVWgY6tg==", - "requires": { - "detect-libc": "^2.0.0", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", - "node-abi": "^3.3.0", - "npmlog": "^4.0.1", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^4.0.0", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0" - }, - "dependencies": { - "detect-libc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.0.tgz", - "integrity": "sha512-S55LzUl8HUav8l9E2PBTlC5PAJrHK7tkM+XXFGD+fbsbkTzhCpG6K05LxJcUOEWzMa4v6ptcMZ9s3fOdJDu0Zw==" - } - } - }, - "pretty-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", - "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", - "dev": true, - "requires": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" - } - }, - "pretty-ms": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz", - "integrity": "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==", - "dev": true, - "requires": { - "parse-ms": "^2.1.0" - } - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "rechoir": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", - "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", - "dev": true, - "requires": { - "resolve": "^1.9.0" - } - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "dev": true - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" - }, - "renderkid": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", - "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", - "dev": true, - "requires": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "replace-ext": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", - "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==" - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true - }, - "resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", - "dev": true, - "requires": { - "is-core-module": "^2.8.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "serialize-error": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", - "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", - "dev": true, - "requires": { - "type-fest": "^0.13.1" - } - }, - "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } - }, - "sharp": { - "version": "0.29.3", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.29.3.tgz", - "integrity": "sha512-fKWUuOw77E4nhpyzCCJR1ayrttHoFHBT2U/kR/qEMRhvPEcluG4BKj324+SCO1e84+knXHwhJ1HHJGnUt4ElGA==", - "requires": { - "color": "^4.0.1", - "detect-libc": "^1.0.3", - "node-addon-api": "^4.2.0", - "prebuild-install": "^7.0.0", - "semver": "^7.3.5", - "simple-get": "^4.0.0", - "tar-fs": "^2.1.1", - "tunnel-agent": "^0.6.0" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "signal-exit": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", - "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==" - }, - "simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==" - }, - "simple-get": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", - "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", - "requires": { - "decompress-response": "^6.0.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "requires": { - "is-arrayish": "^0.3.1" - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "slice-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", - "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", - "dev": true, - "requires": { - "ansi-styles": "^6.0.0", - "is-fullwidth-code-point": "^4.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", - "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", - "dev": true - } - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "stack-utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", - "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", - "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true - } - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" - }, - "supertap": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supertap/-/supertap-2.0.0.tgz", - "integrity": "sha512-jRzcXlCeDYvKoZGA5oRhYyR3jUIYu0enkSxtmAgHRlD7HwrovTpH4bDSi0py9FtuA8si9cW/fKommJHuaoDHJA==", - "dev": true, - "requires": { - "arrify": "^2.0.1", - "indent-string": "^4.0.0", - "js-yaml": "^3.14.0", - "serialize-error": "^7.0.1", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true - }, - "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true - }, - "tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "requires": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "requires": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "temp-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", - "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", - "dev": true - }, - "terser": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz", - "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.20" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - } - } - }, - "terser-webpack-plugin": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.0.tgz", - "integrity": "sha512-LPIisi3Ol4chwAaPP8toUJ3L4qCM1G0wao7L3qNv57Drezxj6+VEyySpPw4B1HSO2Eg/hDY/MNF5XihCAoqnsQ==", - "dev": true, - "requires": { - "jest-worker": "^27.4.1", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1", - "terser": "^5.7.2" - } - }, - "through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "requires": { - "readable-stream": "3" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "time-zone": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/time-zone/-/time-zone-1.0.0.tgz", - "integrity": "sha1-mcW/VZWJZq9tBtg73zgA3IL67F0=", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", - "dev": true - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "type-fest": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", - "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", - "dev": true - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", - "dev": true - }, - "vinyl": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", - "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", - "requires": { - "clone": "^2.1.1", - "clone-buffer": "^1.0.0", - "clone-stats": "^1.0.0", - "cloneable-readable": "^1.0.0", - "remove-trailing-separator": "^1.0.1", - "replace-ext": "^1.0.0" - } - }, - "watchpack": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", - "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", - "dev": true, - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, - "webpack": { - "version": "5.66.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.66.0.tgz", - "integrity": "sha512-NJNtGT7IKpGzdW7Iwpn/09OXz9inIkeIQ/ibY6B+MdV1x6+uReqz/5z1L89ezWnpPDWpXF0TY5PCYKQdWVn8Vg==", - "dev": true, - "requires": { - "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.50", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.3", - "es-module-lexer": "^0.9.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.3.1", - "webpack-sources": "^3.2.2" - } - }, - "webpack-cli": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz", - "integrity": "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.1.0", - "@webpack-cli/info": "^1.4.0", - "@webpack-cli/serve": "^1.6.0", - "colorette": "^2.0.14", - "commander": "^7.0.0", - "execa": "^5.0.0", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^2.2.0", - "rechoir": "^0.7.0", - "webpack-merge": "^5.7.3" - }, - "dependencies": { - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true - } - } - }, - "webpack-merge": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", - "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - } - }, - "webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true - }, - "well-known-symbols": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/well-known-symbols/-/well-known-symbols-2.0.0.tgz", - "integrity": "sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==", - "dev": true - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "requires": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, - "wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", - "dev": true - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "xml2js": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", - "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - } - }, - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "yargs": { - "version": "17.3.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz", - "integrity": "sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==", - "dev": true - }, - "yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", - "dev": true - } - } -} diff --git a/package.json b/package.json index ff53c21..343992b 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "author": "Devin R. Olsen (http://devinrolsen.com)", "license": "MIT", "scripts": { - "test": "npm run basic-test && npm run nested-test && npm run public-test && npm run mixed-test && npm run default-test && npm run callback-test && npm run copy-test && npm run full-test && npm run ava-test", + "test": "npm run basic-test && npm run nested-test && npm run public-test && npm run mixed-test && npm run minimal-test && npm run callback-test && npm run copy-test && npm run full-test && npm run ava-test", "basic-test": "webpack --config ./test/basic.config.js --mode production", "nested-test": "webpack --config ./test/nested.config.js --mode production", "public-test": "webpack --config ./test/public-path.config.js --mode production", @@ -25,7 +25,7 @@ "full-test": "webpack --config ./test/full.config.js --mode production", "callback-test": "webpack --config ./test/callback.config.js --mode production", "multi-test": "webpack --config ./test/multi-src.config.js --mode production", - "default-test": "webpack --config ./test/default.config.js --mode production", + "minimal-test": "webpack --config ./test/minimal.config.js --mode production", "copy-test": "webpack --config ./test/copy.config.js --mode production", "ava-test": "ava ./test/ava.test.js" }, diff --git a/test/ava.test.js b/test/ava.test.js index c5a8cac..a62f720 100644 --- a/test/ava.test.js +++ b/test/ava.test.js @@ -2,82 +2,74 @@ const test = require('ava'); const fs = require('fs'); const path = require('path'); -test('write', t => { - let insert = false; +test('write (ensures tags in test.HTML and favicons written to disk)', t => { + let writeTest = true; const testData = fs.readFileSync(path.resolve(__dirname, '../dist/test.html'), 'utf8'); - if (testData.toString().indexOf(' { - let hasFile = false; - if (fs.existsSync(path.resolve(__dirname, '../dist/assets/favicon.ico'))){ - hasFile = true; - } - if (hasFile) { + if (writeTest) { t.pass(); } else { t.fail(); } }); -test('nested-folders', t => { - let hasFile = false; - if (fs.existsSync(path.resolve(__dirname, '../dist/nested/assets/favicon.ico'))){ - hasFile = true; - } +test('recursive-test (ensures output folder(s) gets recursivly created)', t => { + let recursiveOutputTest = false; + if (fs.existsSync(path.resolve(__dirname, '../dist/nested/assets/favicon.ico'))){ + recursiveOutputTest = true; + } - if (hasFile) { + if (recursiveOutputTest) { t.pass(); } else { t.fail(); } }); -test('public-path-test', t => { - let insert = false; +test('public-path-test (ensures output.publicPath accounted for)', t => { + let publicPathTest = false; const testData = fs.readFileSync(path.resolve(__dirname, '../dist/public/test.html'), 'utf8'); if (testData.toString().indexOf('href="/~media/') !== -1) { - insert = true; + publicPathTest = true; } - if (insert) { + if (publicPathTest) { t.pass(); } else { t.fail(); } }); -test('mixed-pathing-test', t => { - let insert = false; +test('mixed-path-test (ensure output.publicPath and WebpackFavicons path accounted for)', t => { + let mixedPathTest = false; const testData = fs.readFileSync(path.resolve(__dirname, '../dist/mixed/test.html'), 'utf8'); if (testData.toString().indexOf('href="/~media/assets/favicon') !== -1) { - insert = true; + mixedPathTest = true; } - if (insert) { + if (mixedPathTest) { t.pass(); } else { t.fail(); } }); -test('default-test (no "icon": {} config)', t => { - let hasFile = true; +test('minimal-test (no WebpackFavicons "icon": {} configuration)', t => { + let minimalTest = true; - if (!fs.existsSync(path.resolve(__dirname, '../dist/default/assets/favicon.ico'))){ - hasFile = false; + if (!fs.existsSync(path.resolve(__dirname, '../dist/minimal/assets/favicon.ico'))){ + minimalTest = false; } - if (hasFile) { + if (minimalTest) { t.pass(); } else { t.fail(); @@ -85,88 +77,88 @@ test('default-test (no "icon": {} config)', t => { }); -test('full-test (all favicon types)', t => { - let hasFiles = true; +test('full-test (builds lots of favicon types)', t => { + let fullTest = true; if (!fs.existsSync(path.resolve(__dirname, '../dist/full/assets/android-chrome-144x144.png'))){ - hasFiles = false; + fullTest = false; } if (!fs.existsSync(path.resolve(__dirname, '../dist/full/assets/apple-touch-icon-1024x1024.png'))){ - hasFiles = false; + fullTest = false; } if (!fs.existsSync(path.resolve(__dirname, '../dist/full/assets/apple-touch-startup-image-1125x2436.png'))){ - hasFiles = false; + fullTest = false; } if (!fs.existsSync(path.resolve(__dirname, '../dist/full/assets/favicon-16x16.png'))){ - hasFiles = false; + fullTest = false; } if (!fs.existsSync(path.resolve(__dirname, '../dist/full/assets/favicon-16x16.png'))){ - hasFiles = false; + fullTest = false; } if (!fs.existsSync(path.resolve(__dirname, '../dist/full/assets/favicon-32x32.png'))){ - hasFiles = false; + fullTest = false; } if (!fs.existsSync(path.resolve(__dirname, '../dist/full/assets/favicon-48x48.png'))){ - hasFiles = false; + fullTest = false; } if (!fs.existsSync(path.resolve(__dirname, '../dist/full/assets/favicon.ico'))){ - hasFiles = false; + fullTest = false; } if (!fs.existsSync(path.resolve(__dirname, '../dist/full/assets/mstile-144x144.png'))){ - hasFiles = false; + fullTest = false; } if (!fs.existsSync(path.resolve(__dirname, '../dist/full/assets/yandex-browser-50x50.png'))){ - hasFiles = false; + fullTest = false; } - if (hasFiles) { + if (fullTest) { t.pass(); } else { t.fail(); } }); -test('callback-test', t => { - let test = false; +test('callback-test (ensures callback can alter favicon data)', t => { + let callbackTest = false; if (fs.existsSync(path.resolve(__dirname, '../dist/callback/assets/custom.ico'))){ - test = true; + callbackTest = true; } const testData = fs.readFileSync(path.resolve(__dirname, '../dist/callback/test.html'), 'utf8'); if (testData.toString().indexOf('custom.ico') === -1) { - test = false; + callbackTest = false; } - if (test) { + if (callbackTest) { t.pass(); } else { t.fail(); } }); -test('copy-test', t => { - let test = false; +test('copy-test (ensures added to html documented moved by CopyWebpackPlugin)', t => { + let copyTest = false; if (fs.existsSync(path.resolve(__dirname, '../dist/copy/test.html'))){ - test = true; + copyTest = true; } const testData = fs.readFileSync(path.resolve(__dirname, '../dist/copy/test.html'), 'utf8'); if (testData.toString().indexOf('favicon.ico') === -1) { - test = false; + copyTest = false; } - if (test) { + if (copyTest) { t.pass(); } else { t.fail(); diff --git a/test/default.config.js b/test/minimal.config.js similarity index 89% rename from test/default.config.js rename to test/minimal.config.js index 51dcc09..c874943 100644 --- a/test/default.config.js +++ b/test/minimal.config.js @@ -6,7 +6,7 @@ const path = require('path'); module.exports = { entry: path.resolve(__dirname, 'test.js'), output: { - path: path.resolve(__dirname, '../dist/default'), + path: path.resolve(__dirname, '../dist/minimal'), filename: 'test.js', pathinfo: false }, @@ -28,7 +28,7 @@ module.exports = { }, plugins: [ new CleanWebpackPlugin({ - 'cleanOnceBeforeBuildPatterns': [path.resolve('./dist/default')] + 'cleanOnceBeforeBuildPatterns': [path.resolve('./dist/minimal')] }), new HtmlWebpackPlugin({ 'title': 'Basic Test', From 344cd28e48eb885042175d734c4a70c6119725a9 Mon Sep 17 00:00:00 2001 From: Devin Date: Mon, 31 Jan 2022 00:18:24 -0800 Subject: [PATCH 3/7] Dev 1.3.8 Release: Fixing tests post rename and options changes --- test/ava.test.js | 6 +++--- test/basic.config.js | 4 ++-- test/mixed-path.config.js | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/test/ava.test.js b/test/ava.test.js index a62f720..d035633 100644 --- a/test/ava.test.js +++ b/test/ava.test.js @@ -4,13 +4,13 @@ const path = require('path'); test('write (ensures tags in test.HTML and favicons written to disk)', t => { let writeTest = true; - const testData = fs.readFileSync(path.resolve(__dirname, '../dist/test.html'), 'utf8'); + const testData = fs.readFileSync(path.resolve(__dirname, '../dist/basic/test.html'), 'utf8'); if (testData.toString().indexOf(' { test('mixed-path-test (ensure output.publicPath and WebpackFavicons path accounted for)', t => { let mixedPathTest = false; const testData = fs.readFileSync(path.resolve(__dirname, '../dist/mixed/test.html'), 'utf8'); - if (testData.toString().indexOf('href="/~media/assets/favicon') !== -1) { + if (testData.toString().indexOf('href="/~media/custom/favicon') !== -1) { mixedPathTest = true; } diff --git a/test/basic.config.js b/test/basic.config.js index bae92d0..95b40de 100644 --- a/test/basic.config.js +++ b/test/basic.config.js @@ -6,7 +6,7 @@ const path = require('path'); module.exports = { entry: path.resolve(__dirname, 'test.js'), output: { - path: path.resolve(__dirname, '../dist'), + path: path.resolve(__dirname, '../dist/basic'), filename: 'test.js', pathinfo: false }, @@ -28,7 +28,7 @@ module.exports = { }, plugins: [ new CleanWebpackPlugin({ - 'cleanOnceBeforeBuildPatterns': [path.resolve('./dist/')] + 'cleanOnceBeforeBuildPatterns': [path.resolve('./dist')] }), new HtmlWebpackPlugin({ 'title': 'Basic Test', diff --git a/test/mixed-path.config.js b/test/mixed-path.config.js index f3906ea..66ab3e5 100644 --- a/test/mixed-path.config.js +++ b/test/mixed-path.config.js @@ -39,7 +39,7 @@ module.exports = { }), new WebpackFavicons({ 'src': 'assets/favicon.svg', - 'path': 'assets', + 'path': 'custom', 'background': '#000', 'theme_color': '#000', 'icons': { From e668acf7735cf259981fe217e0d929b582f4282e Mon Sep 17 00:00:00 2001 From: Devin Date: Mon, 31 Jan 2022 00:37:52 -0800 Subject: [PATCH 4/7] Dev 1.3.8 Release: Reomving multi-source testing --- README.md | 1 + assets/favicon-red.png | Bin 1365 -> 0 bytes assets/favicon-red.svg | 13 ---------- assets/favicon.png | Bin 1407 -> 0 bytes package.json | 1 - test/multi-src.config.js | 51 --------------------------------------- 6 files changed, 1 insertion(+), 65 deletions(-) delete mode 100644 assets/favicon-red.png delete mode 100644 assets/favicon-red.svg delete mode 100644 assets/favicon.png delete mode 100644 test/multi-src.config.js diff --git a/README.md b/README.md index 52f3f52..bc4bf75 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,7 @@ Yep! While it is more common to see a Webpack configuration using `HtmlWebpackPl ``` npm i --save webpack-favicons ``` +or ``` yarn add --dev webpack-favicons ``` diff --git a/assets/favicon-red.png b/assets/favicon-red.png deleted file mode 100644 index 9e096047a5efcc59355fbd6afb134d3e9f3e856c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1365 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSoCO|{#S9GGLLkg|>2BR01_oAk zPZ!6KiaBrRzBN^G6lq&;`+Gjm2?jw0CL;%y6Ac^!j7ng70;AxWdF9o&`wTCa?tXQx z=i|Qfmc`$Wp9}k1X8W~vby{MAnStYJeNkI;p#~XFhdvesccux-j3*{CJn>*CQem(p zPxyKHwfg$pvv1z4`E5OY`q}hbZ{C{D*E2J}dHQd&4db+FXUxoY?JusM|35@^&6*|i zeQOrz5pVscM~p6#93BVR3q?8BWmZ-jSJ#+SS7tua{E(ii(l9+_$;F3>!4;Do8XsHV zzI|7c@BiP+!NQfHhMT;YDm-1K7Mk@lv-Ug1#J-)c{_pJ3)|(#-mCv8`{Za3o%%Gn! z?>B>DK=J!`pSbF0JWbvF`n6kw=b}_4#yusb?-wtaaH0MEyJL3DyV#dVYc#TSEb2AM zevulSj~fByXC`^2mW1LX+} zrUx9>Z^-<|y^FU;K1gH>lh6V-!Pfl$Ve+=W8CaLkRc#P|U&8HMKR@)ah#VtV8k3O1 ztQWk}C#Jk&aii65lu2Yx)@~}_);=tr$v^qL)jk26#Bg+i- zE36YPm#c1Mhoum8{|3z?tGizY_&1!X%rsnCV>?^h<;rWOro+<@e_Cs?be8)k)&tYh z#qV!rT>;^F>^*Vx=%b3Q_Y~}(+-{9(@PEP`P*`gv?O!MKK=>z9MO;eao~V4ApJ$8q z{*(T+nZ?8P*q(h^JO)nt7-n!iYAtL0R}m$oF#pQIE~)CT#eO$UE_`+>TvI7k@oDB! z{TVgIr&vDh324#2`mb}^x?oG)jI|~Vf1GAAR4iPXcR=TjLUQ1*t@9K8G~+qH?74B^ z@|xt&{<0^Id|E&2|HdiY4dSmOEhN*qFK z*8djkT;vcJ9i8>9I!IrICzB6-dEol&U5O7PlpT7HOyO@8xv8X} zyX0ovfhDc;bi~-wnpZySm}tAKZpFr0w%QdhGeQGS8{U|6^qAkO>VuoFX0$3)X2ne2 z)s)9{Sv*0cqhaN}CA&YL-RH;eDzRDI;f#nZuQEpIF(;34!zxpW7slu3A9=Mj3R - - - - - - - - - diff --git a/assets/favicon.png b/assets/favicon.png deleted file mode 100644 index 4eb1587c46dc2dbcaa596691769cb6791e384bc7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1407 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSoCO|{#S9GGLLkg|>2BR01_o9` zPZ!6KiaBrR-VJxEPg+`Bi=+RpCXo^-3Z%WT3; z_Qsw6o%2XPi-~B9)wSdtmNYhq#B{87DDXY}`}gkIXVdcR=3oCP@?*P+(18y9OBoh2 z*IKW$amjq2GjCp5+KxY;r%#`5^=VZ~%2XDEN8KieuKy9$s1SK{@StPCydU=4w{Oog zk-GZH#>OV)|K2O?22HOlSvVT?zrTE`x$498oA>XRfB*h{D?{$0qe_fDC86(EFPLzl zZT|fE>9uSo{2u1ZS%egXeU}sl|5zDcD-Gc*FXi6P`11FmPit2Q&k!uRR@2%)&sHV! zUGReDPAQh$y`m=iFOrwE-S=+rS-^1HjZo(e6YH+z$%j?1aX~_aL1>xM* zZ$ExShzoIDGvC;}UQ#F~Hg={QmuXwR_!NH5fC;;ITbGxWiP^Nc*^b^xn5u7YnEJL5?a7u$#q{hOBz-vlo*YIRxQvu zd%h^alS4>BdA614(b6NzKPE6lH_T!va!MC+o&ZZhflOh($9%A)emsVUplT6 zcVeOU_3PJX{ro)PZ39OSM}UXL*;8D8J2Uu#s_N?2sZXDl%scC_NOE7yK{4H&bs}|} z!on5*HU{~qO;!rsIE#UK#kIBV(o-0&*1fxU%zv4Oi-3xSm6egN&{L+$xpU^MxW&ID z!b9R0OT_%+;*myt{F%!9PnPn9=S3j3^P6 Date: Mon, 31 Jan 2022 00:44:47 -0800 Subject: [PATCH 5/7] Dev 1.3.8 Release: All tests using svg. Removes unwanted console log in callback test. --- test/callback.config.js | 2 +- test/full.config.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/callback.config.js b/test/callback.config.js index bd16cd2..be87bb5 100644 --- a/test/callback.config.js +++ b/test/callback.config.js @@ -38,7 +38,7 @@ module.exports = { 'minify': false }), new WebpackFavicons({ - 'src': 'assets/favicon.png', + 'src': 'assets/favicon.svg', 'path': 'assets', 'background': '#000', 'theme_color': '#000', diff --git a/test/full.config.js b/test/full.config.js index 5d4e555..6370c53 100644 --- a/test/full.config.js +++ b/test/full.config.js @@ -38,7 +38,7 @@ module.exports = { 'minify': false }), new WebpackFavicons({ - 'src': 'assets/favicon.png', + 'src': 'assets/favicon.svg', 'path': 'assets', 'background': '#000', 'theme_color': '#000', From 4e78bd7a6d1cf19f678f54ea8b659c41e3b230d8 Mon Sep 17 00:00:00 2001 From: Devin Date: Mon, 31 Jan 2022 01:06:53 -0800 Subject: [PATCH 6/7] Dev 1.3.8 Release: Allows for both HtmlWebpackPlugin and CopyWebpackPlugin configuration --- index.js | 128 +++++++++++++++++++------------------- package.json | 3 +- test/ava.test.js | 34 +++++++++- test/copy.config.js | 5 +- test/hybridcopy.config.js | 57 +++++++++++++++++ 5 files changed, 155 insertions(+), 72 deletions(-) create mode 100644 test/hybridcopy.config.js diff --git a/index.js b/index.js index 710a19e..4542df0 100644 --- a/index.js +++ b/index.js @@ -73,76 +73,74 @@ class WebpackFavicons { response = Object.assign({ ...response }, this.callback(response)); } - if (!Object.keys(assets).some((n) => n.indexOf('.html') !== -1)) { - //////// HtmlWebpackPlugin ////////// - try { - require('html-webpack-plugin/lib/hooks').getHtmlWebpackPluginHooks(compilation).alterAssetTags.tapAsync( - { name: 'WebpackFavicons' }, - (data, callback) => { - // Loop over favicon's response HTML tags - Object.keys(response.html).map((i) => { - // Collect HTML attributes into key|value object - let attrs = getAttributes(response.html[i]); - const attributes = {}; - - Object.keys(attrs).map((j) => { - const parts = attrs[j].split('='); - const key = parts[0]; - const value = parts[1].slice(1, -1); - - attributes[key] = value; - - if ( - key === 'href' - && compiler.options.output.publicPath !== 'auto' - ) { - attributes[key] = path.normalize(`${compiler.options.output.publicPath}/${value}`).replace(/\\/g, '/'); - } - }); - - // Push HTML object data into HtmlWebpackPlugin meta template - data.assetTags.meta.push({ - tagName: 'link', - voidTag: true, - meta: { plugin: 'WebpackFavicons' }, - attributes - }); + //////// if HtmlWebpackPlugin found ////////// + try { + require('html-webpack-plugin/lib/hooks').getHtmlWebpackPluginHooks(compilation).alterAssetTags.tapAsync( + { name: 'WebpackFavicons' }, + (data, callback) => { + // Loop over favicon's response HTML tags + Object.keys(response.html).map((i) => { + // Collect HTML attributes into key|value object + let attrs = getAttributes(response.html[i]); + const attributes = {}; + + Object.keys(attrs).map((j) => { + const parts = attrs[j].split('='); + const key = parts[0]; + const value = parts[1].slice(1, -1); + + attributes[key] = value; + + if ( + key === 'href' + && compiler.options.output.publicPath !== 'auto' + ) { + attributes[key] = path.normalize(`${compiler.options.output.publicPath}/${value}`).replace(/\\/g, '/'); + } }); - // Run required callback with altered data - callback(null, data); - } - ); - } catch (err) { } - } else { - //////// CopyWebpackPlugin ////////// - Object.keys(assets).map((i) => { - // Only alter .html files - if (i.indexOf('.html') === -1) { return false; } - - // Prepend output.plublicPath to favicon href paths by hand - if (compiler.options.output.publicPath !== 'auto') { - response.html = Object.keys(response.html).map( - (i) => response.html[i].replace( - /href="(.*?)"/g, - (match, p1, string) => `href="${path.normalize(`${compiler.options.output.publicPath}/${p1}`)}"`.replace(/\\/g, '/') - ) - ); - } + // Push HTML object data into HtmlWebpackPlugin meta template + data.assetTags.meta.push({ + tagName: 'link', + voidTag: true, + meta: { plugin: 'WebpackFavicons' }, + attributes + }); + }); - // Inject favicon into .html document(s) - let HTML = compilation.getAsset(i).source.source().toString(); - compilation.updateAsset( - i, - new sources.RawSource( - HTML.replace( - /([\s\S]*?)<\/head>/, - `$1\r ${response.html.join('\r ')}\r ` - ) + // Run required callback with altered data + callback(null, data); + } + ); + } catch (err) { } + + //////// if CopyWebpackPlugin found ////////// + Object.keys(assets).map((i) => { + // Only alter .html files + if (i.indexOf('.html') === -1) { return false; } + + // Prepend output.plublicPath to favicon href paths by hand + if (compiler.options.output.publicPath !== 'auto') { + response.html = Object.keys(response.html).map( + (i) => response.html[i].replace( + /href="(.*?)"/g, + (match, p1, string) => `href="${path.normalize(`${compiler.options.output.publicPath}/${p1}`)}"`.replace(/\\/g, '/') ) ); - }); - } + } + + // Inject favicon into .html document(s) + let HTML = compilation.getAsset(i).source.source().toString(); + compilation.updateAsset( + i, + new sources.RawSource( + HTML.replace( + /([\s\S]*?)<\/head>/, + `$1\r ${response.html.join('\r ')}\r ` + ) + ) + ); + }); // Adds generated images to build if (response.images) { diff --git a/package.json b/package.json index 5256d47..4050a1d 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "author": "Devin R. Olsen (http://devinrolsen.com)", "license": "MIT", "scripts": { - "test": "npm run basic-test && npm run nested-test && npm run public-test && npm run mixed-test && npm run minimal-test && npm run callback-test && npm run copy-test && npm run full-test && npm run ava-test", + "test": "npm run basic-test && npm run nested-test && npm run public-test && npm run mixed-test && npm run minimal-test && npm run callback-test && npm run copy-test && npm run hybrid-test && npm run full-test && npm run ava-test", "basic-test": "webpack --config ./test/basic.config.js --mode production", "nested-test": "webpack --config ./test/nested.config.js --mode production", "public-test": "webpack --config ./test/public-path.config.js --mode production", @@ -26,6 +26,7 @@ "callback-test": "webpack --config ./test/callback.config.js --mode production", "minimal-test": "webpack --config ./test/minimal.config.js --mode production", "copy-test": "webpack --config ./test/copy.config.js --mode production", + "hybrid-test": "webpack --config ./test/hybridcopy.config.js --mode production", "ava-test": "ava ./test/ava.test.js" }, "engines": { diff --git a/test/ava.test.js b/test/ava.test.js index d035633..1ddc65c 100644 --- a/test/ava.test.js +++ b/test/ava.test.js @@ -147,10 +147,10 @@ test('callback-test (ensures callback can alter favicon data)', t => { }); test('copy-test (ensures added to html documented moved by CopyWebpackPlugin)', t => { - let copyTest = false; + let copyTest = true; - if (fs.existsSync(path.resolve(__dirname, '../dist/copy/test.html'))){ - copyTest = true; + if (!fs.existsSync(path.resolve(__dirname, '../dist/copy/test.html'))){ + copyTest = false; } const testData = fs.readFileSync(path.resolve(__dirname, '../dist/copy/test.html'), 'utf8'); @@ -163,4 +163,32 @@ test('copy-test (ensures added to html documented moved by CopyWebpackPlu } else { t.fail(); } +}); + +test('hybrid-test (ensures s added to both CopyWebpackPlugin and HtmlWebpackPlugin)', t => { + let hybridTest = true; + + if (!fs.existsSync(path.resolve(__dirname, '../dist/hybrid/test.html'))){ + hybridTest = false; + } + + if (!fs.existsSync(path.resolve(__dirname, '../dist/hybrid/testing.html'))){ + hybridTest = false; + } + + const testData1 = fs.readFileSync(path.resolve(__dirname, '../dist/hybrid/test.html'), 'utf8'); + if (testData1.toString().indexOf('favicon.ico') === -1) { + hybridTest = false; + } + + const testData2 = fs.readFileSync(path.resolve(__dirname, '../dist/hybrid/testing.html'), 'utf8'); + if (testData2.toString().indexOf('favicon.ico') === -1) { + hybridTest = false; + } + + if (hybridTest) { + t.pass(); + } else { + t.fail(); + } }); \ No newline at end of file diff --git a/test/copy.config.js b/test/copy.config.js index 9b5a014..04b26fc 100644 --- a/test/copy.config.js +++ b/test/copy.config.js @@ -34,7 +34,7 @@ module.exports = { patterns: [ { from: 'test/test.html', to: './' } ], - }), + }), new WebpackFavicons({ 'src': 'assets/favicon.svg', 'path': 'assets/', @@ -46,5 +46,4 @@ module.exports = { } }) ] -}; - +}; \ No newline at end of file diff --git a/test/hybridcopy.config.js b/test/hybridcopy.config.js new file mode 100644 index 0000000..23ace7b --- /dev/null +++ b/test/hybridcopy.config.js @@ -0,0 +1,57 @@ +const WebpackFavicons = require('../index.js'); +const { CleanWebpackPlugin } = require('clean-webpack-plugin'); +const HtmlWebpackPlugin = require('html-webpack-plugin'); +const CopyPlugin = require("copy-webpack-plugin"); +const path = require('path'); + +module.exports = { + entry: path.resolve(__dirname, 'test.js'), + output: { + path: path.resolve(__dirname, '../dist/hybrid'), + filename: 'test.js', + pathinfo: false + }, + module: { + rules: [{ + 'test': /\.html$/, + 'exclude': /node_modules/, + 'include': [ + path.resolve(__dirname, 'test.html') + ], + 'use': { + 'loader': 'html-loader', // (see: https://www.npmjs.com/package/html-loader) + 'options': { 'minimize': false } + } + }] + }, + optimization: { + minimize: false + }, + plugins: [ + new CleanWebpackPlugin({ + 'cleanOnceBeforeBuildPatterns': [path.resolve('./dist/hybrid/')] + }), + new CopyPlugin({ + patterns: [ + { from: 'test/test.html', to: './' } + ], + }), + new HtmlWebpackPlugin({ + 'title': 'Hybrid Test', + 'template': './test/test.html', + 'filename': './testing.html', + 'minify': false + }), + new WebpackFavicons({ + 'src': 'assets/favicon.svg', + 'path': 'assets/', + 'scope': 'resources/', + 'background': '#000', + 'theme_color': '#000', + 'icons': { + 'favicons': true + } + }) + ] +}; + From 84d5b7ee4ebabeef2350edf781f0d43b01c7f8df Mon Sep 17 00:00:00 2001 From: Devin Date: Mon, 31 Jan 2022 01:36:02 -0800 Subject: [PATCH 7/7] Dev 1.3.8 Release: Update to install instructions within README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index bc4bf75..ee72999 100644 --- a/README.md +++ b/README.md @@ -22,12 +22,12 @@ While doing that, it leverages the favicon (https://github.com/itgalaxy/favicons Once done, you will have device or browser specific generated favicons written to disk while HTML files (with a `` tag) will have corresponding `` tags injected. ### Does this work with CopyWebpackPlugin? -Yep! While it is more common to see a Webpack configuration using `HtmlWebpackPlugin` in order to process .HTML files; WebpackFavicons will inject `` tags into HTML documents found being copied by `CopyWebpackPlugin` alone. +Yep! While it is more common to see a Webpack configuration using `HtmlWebpackPlugin` in order to process HTML files; WebpackFavicons will inject `` tags into HTML documents found being copied by `CopyWebpackPlugin` and/or `HtmlWebpackPlugin`. --- ## Install ``` -npm i --save webpack-favicons +npm i --save-dev webpack-favicons ``` or ```