diff --git a/.github/workflows/prod-test.yml b/.github/workflows/prod-test.yml index 4585a2da3..17a6871b8 100644 --- a/.github/workflows/prod-test.yml +++ b/.github/workflows/prod-test.yml @@ -23,17 +23,6 @@ jobs: - name: Install Dependencies run: yarn install --frozen-lockfile - - name: Cache Build Results - id: build-cache - uses: actions/cache@v2.1.7 - with: - path: .cache - key: v2-build-cache-${{ hashFiles('yarn.lock') }}-${{ hashFiles('scripts/build/**/*') }}-${{ github.ref }}- - restore-keys: | - v2-build-cache-${{ hashFiles('yarn.lock') }}-${{ hashFiles('scripts/build/**/*') }}-${{ github.ref }}- - v2-build-cache-${{ hashFiles('yarn.lock') }}-${{ hashFiles('scripts/build/**/*') }}-refs/heads/${{ github.base_ref }}- - v2-build-cache-${{ hashFiles('yarn.lock') }}-${{ hashFiles('scripts/build/**/*') }}-refs/heads/main- - - name: Build Package run: yarn build @@ -45,7 +34,6 @@ jobs: # This step calls `git reset` # It should be the last step - # The cache step might saving the result of main branch, need investigate - name: Check Sizes if: ${{ github.event_name == 'pull_request' && startsWith(github.head_ref, 'dependabot/npm_and_yarn/') }} uses: preactjs/compressed-size-action@2.3.0 diff --git a/cspell.json b/cspell.json index 3fa49eba6..74bb8f328 100644 --- a/cspell.json +++ b/cspell.json @@ -93,6 +93,7 @@ "eqeqeq", "Ericsburgh", "Esben", + "esbuild", "eslintignore", "eslump", "espree", @@ -188,6 +189,7 @@ "mdast", "Memberish", "meriyah", + "metafile", "MichaƂ", "Microsyntax", "Mikael", @@ -227,6 +229,8 @@ "onwarn", "Oopsy", "outdent", + "outfile", + "outro", "overparenthesization", "Panasenko", "pandoc", diff --git a/package.json b/package.json index 8450c94b1..699c1f54f 100644 --- a/package.json +++ b/package.json @@ -91,24 +91,24 @@ "@babel/core": "7.16.7", "@babel/preset-env": "7.16.7", "@babel/types": "7.16.7", + "@esbuild-plugins/node-globals-polyfill": "0.1.1", + "@esbuild-plugins/node-modules-polyfill": "0.1.4", "@glimmer/reference": "0.83.1", - "@rollup/plugin-alias": "3.1.9", - "@rollup/plugin-babel": "5.3.0", - "@rollup/plugin-commonjs": "21.0.1", - "@rollup/plugin-json": "4.1.0", - "@rollup/plugin-node-resolve": "13.1.3", - "@rollup/plugin-replace": "3.0.1", "@types/estree": "0.0.50", "@types/jest": "27.4.0", "babel-jest": "27.4.6", "@typescript-eslint/eslint-plugin": "5.9.0", "babel-loader": "8.2.3", "benchmark": "2.1.4", + "browserslist": "4.19.1", "builtin-modules": "3.2.0", "core-js": "3.20.2", "cross-env": "7.0.3", "cspell": "5.15.1", "enquirer": "2.3.6", + "esbuild": "0.14.10", + "esbuild-plugin-browserslist": "0.4.1", + "esbuild-plugin-text-replace": "1.1.3", "eslint": "8.6.0", "eslint-config-prettier": "8.3.0", "eslint-formatter-friendly": "7.0.0", @@ -132,14 +132,9 @@ "prettier": "2.5.1", "pretty-bytes": "5.6.0", "rimraf": "3.0.2", - "rollup": "2.63.0", - "rollup-plugin-polyfill-node": "0.8.0", - "rollup-plugin-terser": "7.0.2", + "rollup-plugin-license": "2.2.0", "snapshot-diff": "0.9.0", - "string-replace-loader": "3.1.0", - "tempy": "1.0.1", - "terser-webpack-plugin": "5.3.0", - "webpack": "5.49.0" + "tempy": "1.0.1" }, "scripts": { "prepublishOnly": "echo \"Error: must publish from dist/\" && exit 1", @@ -163,7 +158,7 @@ "fix": "run-s fix:eslint fix:prettier", "fix:eslint": "yarn lint:eslint --fix", "fix:prettier": "yarn lint:prettier --write", - "build": "node --max-old-space-size=4096 ./scripts/build/build.mjs", + "build": "node ./scripts/build/build.mjs", "build:website": "node ./scripts/build-website.mjs" }, "browserslist": [ diff --git a/scripts/build/README.md b/scripts/build/README.md index e4d5366e7..3521599df 100644 --- a/scripts/build/README.md +++ b/scripts/build/README.md @@ -12,14 +12,6 @@ yarn build ## Flags -### `--no-cache` flag - -Run script with `--no-cache` flag will clean up the cache directory (`.cache` in project root) before bundling files. - -```sh -yarn build --no-cache -``` - ### `--playground` Run script with `--playground` flag will only build files needed for the website. diff --git a/scripts/build/build.mjs b/scripts/build/build.mjs index b66020ada..c95b7c3fb 100644 --- a/scripts/build/build.mjs +++ b/scripts/build/build.mjs @@ -9,7 +9,6 @@ import prettyBytes from "pretty-bytes"; import rimraf from "rimraf"; import { PROJECT_ROOT, - BUILD_CACHE_DIR, DIST_DIR, readJson, writeJson, @@ -17,7 +16,7 @@ import { } from "../utils/index.mjs"; import bundler from "./bundler.mjs"; import bundleConfigs from "./config.mjs"; -import Cache from "./cache.mjs"; +import saveLicenses from "./save-licenses.mjs"; // Errors in promises should be fatal. const loggedErrors = new Set(); @@ -29,9 +28,7 @@ process.on("unhandledRejection", (err) => { process.exit(1); }); -const CACHE_VERSION = "v38"; // This need update when updating build scripts const statusConfig = [ - { color: "bgYellow", text: "CACHED" }, { color: "bgGreen", text: "DONE" }, { color: "bgRed", text: "FAIL" }, { color: "bgGray", text: "SKIPPED" }, @@ -58,22 +55,17 @@ function fitTerminal(input, suffix = "") { return input; } -async function createBundle(bundleConfig, cache, options) { +async function createBundle(bundleConfig, options) { const { output, target, format, type } = bundleConfig; process.stdout.write(fitTerminal(output)); try { - const { cached, skipped } = await bundler(bundleConfig, cache, options); + const { skipped } = await bundler(bundleConfig, options); if (skipped) { console.log(status.SKIPPED); return; } - if (cached) { - console.log(status.CACHED); - return; - } - const file = path.join(DIST_DIR, output); // Files including U+FFEE can't load in Chrome Extension @@ -143,9 +135,10 @@ async function preparePackage() { } async function run(params) { - const shouldUseCache = params.cache && !params.file && params.minify === null; const shouldPreparePackage = !params.playground && !params.file && params.minify === null; + const shouldSaveBundledPackagesLicenses = shouldPreparePackage; + let configs = bundleConfigs; if (params.file) { configs = configs.filter(({ output }) => output === params.file); @@ -153,39 +146,34 @@ async function run(params) { rimraf.sync(DIST_DIR); } - if (!params.cache) { - rimraf.sync(BUILD_CACHE_DIR); - } - - let bundleCache; - if (shouldUseCache) { - bundleCache = new Cache({ - cacheDir: BUILD_CACHE_DIR, - distDir: DIST_DIR, - version: CACHE_VERSION, - }); - await bundleCache.load(); + const licenses = []; + if (shouldSaveBundledPackagesLicenses) { + params.onLicenseFound = (dependencies) => licenses.push(...dependencies); } console.log(chalk.inverse(" Building packages ")); for (const bundleConfig of configs) { - await createBundle(bundleConfig, bundleCache, params); - } - - if (shouldUseCache) { - await bundleCache.save(); + await createBundle(bundleConfig, params); } if (shouldPreparePackage) { await preparePackage(); } + + if (shouldSaveBundledPackagesLicenses) { + await saveLicenses(licenses); + } else { + console.warn( + chalk.red("Bundled packages licenses not included in `dist/LICENSE`.") + ); + } } run( minimist(process.argv.slice(2), { - boolean: ["cache", "playground", "print-size", "minify"], + boolean: ["playground", "print-size", "minify"], string: ["file"], - default: { cache: true, playground: false, printSize: false, minify: null }, + default: { playground: false, printSize: false, minify: null }, }) ); diff --git a/scripts/build/bundler.mjs b/scripts/build/bundler.mjs index b62b4e3bd..ceb8d22f1 100644 --- a/scripts/build/bundler.mjs +++ b/scripts/build/bundler.mjs @@ -1,58 +1,28 @@ +import fs from "node:fs/promises"; import path from "node:path"; -import fs from "node:fs"; -import { rollup } from "rollup"; -import webpack from "webpack"; -import { nodeResolve as rollupPluginNodeResolve } from "@rollup/plugin-node-resolve"; -import rollupPluginAlias from "@rollup/plugin-alias"; -import rollupPluginCommonjs from "@rollup/plugin-commonjs"; -import rollupPluginPolyfillNode from "rollup-plugin-polyfill-node"; -import rollupPluginJson from "@rollup/plugin-json"; -import rollupPluginReplace from "@rollup/plugin-replace"; -import { terser as rollupPluginTerser } from "rollup-plugin-terser"; -import { babel as rollupPluginBabel } from "@rollup/plugin-babel"; -import WebpackPluginTerser from "terser-webpack-plugin"; import createEsmUtils from "esm-utils"; import builtinModules from "builtin-modules"; +import browserslist from "browserslist"; +import * as babel from "@babel/core"; +import esbuild from "esbuild"; +import { NodeModulesPolyfillPlugin as esbuildPluginNodeModulePolyfills } from "@esbuild-plugins/node-modules-polyfill"; +import { NodeGlobalsPolyfillPlugin as esbuildPluginNodeGlobalsPolyfills } from "@esbuild-plugins/node-globals-polyfill"; +import esbuildPluginTextReplace from "esbuild-plugin-text-replace"; +import { resolveToEsbuildTarget } from "esbuild-plugin-browserslist"; import { PROJECT_ROOT, DIST_DIR } from "../utils/index.mjs"; -import rollupPluginExecutable from "./rollup-plugins/executable.mjs"; -import rollupPluginEvaluate from "./rollup-plugins/evaluate.mjs"; -import rollupPluginReplaceModule from "./rollup-plugins/replace-module.mjs"; +import esbuildPluginEvaluate from "./esbuild-plugins/evaluate.mjs"; +import esbuildPluginReplaceModule from "./esbuild-plugins/replace-module.mjs"; +import esbuildPluginLicense from "./esbuild-plugins/license.mjs"; +import esbuildPluginUmd from "./esbuild-plugins/umd.mjs"; import bundles from "./config.mjs"; const { __dirname, json } = createEsmUtils(import.meta); const packageJson = json.loadSync("../../package.json"); -const entries = [ - // Force using the CJS file, instead of ESM; i.e. get the file - // from `"main"` instead of `"module"` (rollup default) of package.json - { - find: "@angular/compiler/src", - replacement: path.resolve( - `${PROJECT_ROOT}/node_modules/@angular/compiler/esm2015/src` - ), - }, -]; - -function webpackNativeShims(config, modules) { - if (!config.resolve) { - config.resolve = {}; - } - const { resolve } = config; - resolve.alias = resolve.alias || {}; - resolve.fallback = resolve.fallback || {}; - for (const module of modules) { - if (module in resolve.alias || module in resolve.fallback) { - throw new Error(`fallback/alias for "${module}" already exists.`); - } - const file = path.join(__dirname, `shims/${module}.mjs`); - if (fs.existsSync(file)) { - resolve.alias[module] = file; - } else { - resolve.fallback[module] = false; - } - } - return config; -} +const umdTarget = resolveToEsbuildTarget( + browserslist(packageJson.browserslist), + { printUnknownTargets: false } +); function getBabelConfig(bundle) { const config = { @@ -62,7 +32,7 @@ function getBabelConfig(bundle) { }, sourceType: "unambiguous", plugins: bundle.babelPlugins || [], - compact: bundle.type === "plugin" ? false : "auto", + compact: false, exclude: [/\/core-js\//], }; const targets = { node: "10" }; @@ -75,7 +45,9 @@ function getBabelConfig(bundle) { { targets, exclude: [ + "es.array.unscopables.flat", "es.array.unscopables.flat-map", + "es.array.sort", "es.promise", "es.promise.finally", "es.string.replace", @@ -99,40 +71,12 @@ function getBabelConfig(bundle) { return config; } -function getRollupConfig(bundle) { - const config = { - input: path.join(PROJECT_ROOT, bundle.input), - onwarn(warning) { - if ( - // ignore `MIXED_EXPORTS` warn - warning.code === "MIXED_EXPORTS" || - (warning.code === "CIRCULAR_DEPENDENCY" && - (warning.importer.startsWith("node_modules") || - warning.importer.startsWith("\x00polyfill-node."))) || - warning.code === "SOURCEMAP_ERROR" || - warning.code === "THIS_IS_UNDEFINED" - ) { - return; - } - - // web bundle can't have external requires - if ( - warning.code === "UNRESOLVED_IMPORT" && - bundle.target === "universal" - ) { - throw new Error( - `Unresolved dependency in universal bundle: ${warning.source}` - ); - } - - console.warn(warning); - }, - external: [], - }; - +function* getEsbuildOptions(bundle, options) { const replaceStrings = { "process.env.PRETTIER_TARGET": JSON.stringify(bundle.target), "process.env.NODE_ENV": JSON.stringify("production"), + // `tslib` exports global variables + "createExporter(root": "createExporter({}", }; if (bundle.target === "universal") { // We can't reference `process` in UMD bundles and this is @@ -148,12 +92,6 @@ function getRollupConfig(bundle) { "/prettier-security-dirname-placeholder" ); } - Object.assign(replaceStrings, bundle.replace); - - const babelConfig = { babelHelpers: "bundled", ...getBabelConfig(bundle) }; - - const alias = { ...bundle.alias }; - alias.entries = [...entries, ...(alias.entries || [])]; const replaceModule = {}; // Replace other bundled files @@ -171,7 +109,7 @@ function getRollupConfig(bundle) { // Universal bundle only use version info from package.json // Replace package.json with `{version: "{VERSION}"}` replaceModule[path.join(PROJECT_ROOT, "package.json")] = { - code: `export default ${JSON.stringify({ + code: `module.exports = ${JSON.stringify({ version: packageJson.version, })};`, }; @@ -186,238 +124,125 @@ function getRollupConfig(bundle) { "src/language-markdown/parsers.js", "src/language-yaml/parsers.js", ]) { - replaceModule[path.join(PROJECT_ROOT, file)] = { - code: "export default undefined;", - }; + replaceModule[path.join(PROJECT_ROOT, file)] = { code: "" }; } } - Object.assign(replaceModule, bundle.replaceModule); - - config.plugins = [ - rollupPluginReplace({ - values: replaceStrings, - delimiters: ["", ""], - preventAssignment: true, - }), - rollupPluginExecutable(), - rollupPluginEvaluate(), - rollupPluginJson({ - exclude: Object.keys(replaceModule) - .filter((file) => file.endsWith(".json")) - .map((file) => path.relative(PROJECT_ROOT, file)), - }), - rollupPluginAlias(alias), - rollupPluginNodeResolve({ - extensions: [".js", ".json"], - preferBuiltins: bundle.target === "node", - mainFields: ["main"], - }), - rollupPluginCommonjs({ - ignoreGlobal: bundle.target === "node", - ignore: - bundle.type === "plugin" - ? undefined - : (id) => /\.\/parser-.*?/.test(id), - requireReturnsDefault: "preferred", - ignoreDynamicRequires: true, - ignoreTryCatch: bundle.target === "node", - ...bundle.commonjs, - }), - rollupPluginReplaceModule(replaceModule), - bundle.target === "universal" && rollupPluginPolyfillNode(), - rollupPluginBabel(babelConfig), - ].filter(Boolean); - - if (bundle.target === "node") { - config.external.push(...builtinModules); - } - if (bundle.external) { - config.external.push(...bundle.external); - } - - return config; -} - -function getRollupOutputOptions(bundle, buildOptions) { - const options = { - // Avoid warning form #8797 - exports: "auto", - file: path.join(DIST_DIR, bundle.output), - name: bundle.name, - plugins: [], - }; - - let shouldMinify = buildOptions.minify; + let shouldMinify = options.minify; if (typeof shouldMinify !== "boolean") { shouldMinify = bundle.minify !== false && bundle.target === "universal"; } - if (shouldMinify) { - options.plugins.push( - rollupPluginTerser({ - output: { - ascii_only: true, - }, - }) - ); - } - - if (bundle.target === "node") { - options.format = "cjs"; - } else if (bundle.target === "universal") { - if (!bundle.format && bundle.bundler !== "webpack") { - return [ - { - ...options, - format: "umd", - }, - !buildOptions.playground && { - ...options, - format: "esm", - file: path.join( - DIST_DIR, - `esm/${bundle.output.replace(".js", ".mjs")}` - ), - }, - ].filter(Boolean); - } - options.format = bundle.format; - } - - if (buildOptions.playground && bundle.bundler !== "webpack") { - return { skipped: true }; - } - - return [options]; -} - -function getWebpackConfig(bundle, buildOptions) { - if (bundle.type !== "plugin" || bundle.target !== "universal") { - throw new Error("Must use rollup for this bundle"); - } - - const config = { - mode: "production", - performance: { hints: false }, - entry: path.resolve(PROJECT_ROOT, bundle.input), - module: { - rules: [ - { - test: /\.js$/, - use: { - loader: "babel-loader", - options: getBabelConfig(bundle), + const esbuildOptions = { + entryPoints: [path.join(PROJECT_ROOT, bundle.input)], + bundle: true, + metafile: true, + plugins: [ + bundle.target === "universal" && esbuildPluginNodeGlobalsPolyfills(), + bundle.target === "universal" && esbuildPluginNodeModulePolyfills(), + esbuildPluginEvaluate(), + esbuildPluginReplaceModule({ ...replaceModule, ...bundle.replaceModule }), + esbuildPluginTextReplace({ + include: /\.[cm]?js$/, + // TODO[@fisker]: Use RegExp when possible + pattern: Object.entries({ ...replaceStrings, ...bundle.replace }), + }), + options.onLicenseFound && + esbuildPluginLicense({ + cwd: PROJECT_ROOT, + thirdParty: { + includePrivate: true, + output: options.onLicenseFound, }, - }, - { - test: /\.js$/, - use: { - loader: "string-replace-loader", - options: { - multiple: Object.entries(bundle.replace).map( - ([search, replace]) => ({ search, replace }) - ), - }, - }, - }, - ], - }, - output: { - path: DIST_DIR, - filename: bundle.output, - library: { - type: "umd", - name: bundle.name.split("."), - }, - // https://github.com/webpack/webpack/issues/6642 - globalObject: 'new Function("return this")()', - }, - optimization: {}, - resolve: { - // Webpack@5 can't resolve "postcss/lib/parser" and "postcss/lib/stringifier"" imported by `postcss-scss` - // Ignore `exports` field to fix bundle script - exportsFields: [], - }, + }), + ].filter(Boolean), + minify: shouldMinify, + legalComments: "none", + external: [...(bundle.external || [])], + // Disable esbuild auto discover `tsconfig.json` file + tsconfig: path.join(__dirname, "empty-tsconfig.json"), + mainFields: ["main"], + target: ["node10"], + logLevel: "error", }; - let shouldMinify = buildOptions.minify; - if (typeof shouldMinify !== "boolean") { - shouldMinify = true; - } + if (bundle.target === "universal") { + esbuildOptions.target.push(...umdTarget); - if (shouldMinify) { - config.optimization.minimizer = [ - new WebpackPluginTerser({ - // prevent terser generate extra .LICENSE file - extractComments: false, - terserOptions: { - // prevent U+FFFE in the output - output: { - ascii_only: true, - }, - }, - }), - ]; + yield { + ...esbuildOptions, + outfile: path.join(DIST_DIR, bundle.output), + plugins: [ + esbuildPluginUmd({ name: bundle.name }), + ...esbuildOptions.plugins, + ], + format: "umd", + }; + + if (!bundle.format && !options.playground) { + yield { + ...esbuildOptions, + outfile: path.join( + DIST_DIR, + `esm/${bundle.output.replace(".js", ".mjs")}` + ), + format: "esm", + }; + } } else { - config.optimization.minimize = false; - } + esbuildOptions.external.push( + ...builtinModules, + "./package.json*", + ...bundles + .filter((item) => item.input !== bundle.input) + .map((item) => `./${item.output}*`) + ); - return webpackNativeShims(config, ["os", "path", "util", "url", "fs"]); + yield { + ...esbuildOptions, + outfile: path.join(DIST_DIR, bundle.output), + format: "cjs", + }; + } } -function runWebpack(config) { - return new Promise((resolve, reject) => { - webpack(config, (error, stats) => { - if (error) { - reject(error); - return; - } +async function runBuild(bundle, esbuildOptions) { + const { format, plugins, outfile } = esbuildOptions; - if (stats.hasErrors()) { - const { errors } = stats.toJson(); - const error = new Error(errors[0].message); - error.errors = errors; - reject(error); - return; - } + await esbuild.build({ + ...esbuildOptions, + plugins: plugins.filter(({ name }) => name !== "umd"), + format: format === "umd" ? "cjs" : format, + minify: false, + }); - if (stats.hasWarnings()) { - const { warnings } = stats.toJson(); - console.warn(warnings); - } + const text = await fs.readFile(outfile); - resolve(); - }); + const { code } = await babel.transformAsync(text, { + filename: outfile, + ...getBabelConfig(bundle), + }); + await fs.writeFile(outfile, code); + + await esbuild.build({ + ...esbuildOptions, + plugins: plugins.filter(({ name }) => name === "umd"), + entryPoints: [outfile], + allowOverwrite: true, }); } -async function createBundle(bundle, cache, options) { - const inputOptions = getRollupConfig(bundle); - const outputOptions = getRollupOutputOptions(bundle, options); - - if (!Array.isArray(outputOptions) && outputOptions.skipped) { +async function createBundle(bundle, options) { + if ( + options.playground && + (bundle.target !== "universal" || bundle.output === "doc.js") + ) { return { skipped: true }; } - if ( - cache && - ( - await Promise.all( - outputOptions.map((outputOption) => - cache.isCached(inputOptions, outputOption) - ) - ) - ).every((cached) => cached) - ) { - return { cached: true }; - } - - if (bundle.bundler === "webpack") { - await runWebpack(getWebpackConfig(bundle, options)); - } else { - const result = await rollup(inputOptions); - await Promise.all(outputOptions.map((option) => result.write(option))); + const esbuildOptions = getEsbuildOptions(bundle, options); + for (const options of esbuildOptions) { + await runBuild(bundle, options); } return { bundled: true }; diff --git a/scripts/build/cache.mjs b/scripts/build/cache.mjs deleted file mode 100644 index d3b94fdec..000000000 --- a/scripts/build/cache.mjs +++ /dev/null @@ -1,160 +0,0 @@ -import { strict as assert } from "node:assert"; -import crypto from "node:crypto"; -import fs from "node:fs/promises"; -import path from "node:path"; -import { rollup } from "rollup"; -import { - PROJECT_ROOT, - readJson, - writeJson, - copyFile, -} from "../utils/index.mjs"; - -class Cache { - constructor({ cacheDir, distDir, version }) { - this.cacheDir = cacheDir || required("cacheDir"); - this.distDir = distDir || required("distDir"); - this.manifest = path.join(cacheDir, "manifest.json"); - this.version = version || required("version"); - this.checksums = {}; - this.files = {}; - this.updated = { - version: this.version, - checksums: {}, - files: {}, - }; - } - - // Loads the manifest.json file with the information from the last build - async load() { - // This should never throw, if it does, let it fail the build - const lockfile = await fs.readFile( - path.join(PROJECT_ROOT, "yarn.lock"), - "utf8" - ); - const lockfileHash = hashString(lockfile); - this.updated.checksums["yarn.lock"] = lockfileHash; - - try { - const { version, checksums, files } = await readJson(this.manifest); - - // Ignore the cache if the version changed - assert.strictEqual(this.version, version); - - assert.ok(typeof checksums === "object"); - // If yarn.lock changed, rebuild everything - assert.strictEqual(lockfileHash, checksums["yarn.lock"]); - - assert.ok(typeof files === "object"); - - for (const modules of Object.values(files)) { - assert.ok(Array.isArray(modules)); - } - - this.checksums = checksums; - this.files = files; - } catch { - // noop - } - } - - // Run rollup to get the list of files included in the bundle and check if - // any (or the list itself) have changed. - // This takes the same rollup config used for bundling to include files that are - // resolved by specific plugins. - async checkBundle(id, inputOptions, outputOptions) { - const files = new Set(this.files[id]); - const newFiles = (this.updated.files[id] = []); - - let dirty = false; - - const bundle = await rollup(getRollupConfig(inputOptions)); - const { output } = await bundle.generate(outputOptions); - - const modules = output - .filter((mod) => !/\0/.test(mod.facadeModuleId)) - .map((mod) => [ - path.relative(PROJECT_ROOT, mod.facadeModuleId), - mod.code, - ]); - - for (const [id, code] of modules) { - newFiles.push(id); - // If we already checked this file for another bundle, reuse the hash - if (!this.updated.checksums[id]) { - this.updated.checksums[id] = hashString(code); - } - const hash = this.updated.checksums[id]; - - // Check if this file changed - if (!this.checksums[id] || this.checksums[id] !== hash) { - dirty = true; - } - - // Check if this file is new - if (!files.delete(id)) { - dirty = true; - } - } - - // Final check: if any file was removed, `files` is not empty - return !dirty && files.size === 0; - } - - async save() { - const { manifest, updated } = this; - - await writeJson(manifest, updated); - - const files = Object.keys(updated.files); - for (const file of files) { - await copyFile( - path.join(this.distDir, file), - path.join(this.cacheDir, "files", file) - ); - } - } - - async isCached(inputOptions, outputOption) { - const file = path.relative(this.distDir, outputOption.file); - const useCache = await this.checkBundle(file, inputOptions, outputOption); - - if (useCache) { - try { - await copyFile( - path.join(this.cacheDir, "files", file), - path.join(this.distDir, file) - ); - - return true; - } catch { - // Proceed to build - } - } - return false; - } -} - -function required(name) { - throw new Error(name + " is required"); -} - -function hashString(string) { - return crypto.createHash("md5").update(string).digest("hex"); -} - -function getRollupConfig(rollupConfig) { - return { - ...rollupConfig, - onwarn() {}, - plugins: rollupConfig.plugins.filter( - (plugin) => - // We're not interested in dependencies, we already check `yarn.lock` - plugin.name !== "node-resolve" && - // This is really slow, we need this "preflight" to be fast - plugin.name !== "babel" - ), - }; -} - -export default Cache; diff --git a/scripts/build/config.mjs b/scripts/build/config.mjs index aa3cf0ced..1ebb4b441 100644 --- a/scripts/build/config.mjs +++ b/scripts/build/config.mjs @@ -1,4 +1,7 @@ import path from "node:path"; +import createEsmUtils from "esm-utils"; + +const { require } = createEsmUtils(import.meta); /** * @typedef {Object} Bundle @@ -7,8 +10,6 @@ import path from "node:path"; * @property {string?} name - name for the UMD bundle (for plugins, it'll be `prettierPlugins.${name}`) * @property {'node' | 'universal'} target - should generate a CJS only for node or universal bundle * @property {'core' | 'plugin'} type - it's a plugin bundle or core part of prettier - * @property {'rollup' | 'webpack'} [bundler='rollup'] - define which bundler to use - * @property {CommonJSConfig} [commonjs={}] - options for `rollup-plugin-commonjs` * @property {string[]} external - array of paths that should not be included in the final bundle * @property {Object.} replaceModule - module replacement path or code * @property {Object.} replace - map of strings to replace when processing the bundle @@ -46,6 +47,7 @@ const parsers = [ // `rollup-plugin-polyfill-node` don't have polyfill for these modules 'require("perf_hooks")': "{}", 'require("inspector")': "{}", + "_fs.realpathSync.native": "_fs.realpathSync && _fs.realpathSync.native", // Dynamic `require()`s "ts.sys && ts.sys.require": "false", "require(etwModulePath)": "undefined", @@ -66,6 +68,9 @@ const parsers = [ }, { input: "src/language-js/parse/angular.js", + replace: { + "@angular/compiler/src": "@angular/compiler/esm2015/src", + }, }, { input: "src/language-css/parser-postcss.js", @@ -77,22 +82,18 @@ const parsers = [ "node.constructor.name === 'Word'": "node.type === 'word'", }, }, - { - input: "dist/parser-postcss.js", - output: "esm/parser-postcss.mjs", - format: "esm", - }, { input: "src/language-graphql/parser-graphql.js", }, { input: "src/language-markdown/parser-markdown.js", + replaceModule: { + [require.resolve("parse-entities/decode-entity.browser.js")]: + require.resolve("parse-entities/decode-entity.js"), + }, }, { input: "src/language-handlebars/parser-glimmer.js", - commonjs: { - ignore: ["source-map"], - }, }, { input: "src/language-html/parser-html.js", diff --git a/scripts/build/empty-tsconfig.json b/scripts/build/empty-tsconfig.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/scripts/build/empty-tsconfig.json @@ -0,0 +1 @@ +{} diff --git a/scripts/build/esbuild-plugins/evaluate.mjs b/scripts/build/esbuild-plugins/evaluate.mjs new file mode 100644 index 000000000..ba76a0159 --- /dev/null +++ b/scripts/build/esbuild-plugins/evaluate.mjs @@ -0,0 +1,22 @@ +import createEsmUtils from "esm-utils"; + +const { require } = createEsmUtils(import.meta); + +export default function esbuildPluginEvaluate() { + return { + name: "evaluate", + + setup(build) { + build.onLoad({ filter: /\.evaluate\.js$/ }, ({ path }) => { + const json = JSON.stringify(require(path), (_, v) => { + if (typeof v === "function") { + throw new TypeError("Cannot evaluate functions."); + } + return v; + }); + + return { loader: "json", contents: json }; + }); + }, + }; +} diff --git a/scripts/build/esbuild-plugins/license.mjs b/scripts/build/esbuild-plugins/license.mjs new file mode 100644 index 000000000..3c9e28d06 --- /dev/null +++ b/scripts/build/esbuild-plugins/license.mjs @@ -0,0 +1,24 @@ +import rollupPluginLicense from "rollup-plugin-license"; + +export default function esbuildPluginLicense(options) { + const plugin = rollupPluginLicense(options); + + return { + name: "license", + + setup(build) { + build.initialOptions.metafile = true; + + build.onEnd((result) => { + const files = Object.keys(result.metafile.inputs); + const chunk = { + modules: Object.fromEntries( + files.map((file) => [file, { renderedLength: 1 }]) + ), + }; + plugin.renderChunk("", chunk); + plugin.generateBundle(); + }); + }, + }; +} diff --git a/scripts/build/esbuild-plugins/replace-module.mjs b/scripts/build/esbuild-plugins/replace-module.mjs new file mode 100644 index 000000000..e4fba83eb --- /dev/null +++ b/scripts/build/esbuild-plugins/replace-module.mjs @@ -0,0 +1,34 @@ +import fs from "node:fs"; + +export default function esbuildPluginReplaceModule(replacements = {}) { + return { + name: "replace-module", + setup(build) { + build.onLoad({ filter: /./ }, ({ path }) => { + if (!Reflect.has(replacements, path)) { + return; + } + + const replacement = replacements[path]; + + if (typeof replacement === "string") { + return { + contents: `module.exports = require(${JSON.stringify( + replacement + )});`, + }; + } + + if (replacement.file) { + return { + contents: fs.readFileSync(replacement.file, "utf8"), + }; + } + + return { + contents: replacement.code, + }; + }); + }, + }; +} diff --git a/scripts/build/esbuild-plugins/umd.mjs b/scripts/build/esbuild-plugins/umd.mjs new file mode 100644 index 000000000..77eb5ddd2 --- /dev/null +++ b/scripts/build/esbuild-plugins/umd.mjs @@ -0,0 +1,115 @@ +import fs from "node:fs"; +import camelCase from "camelcase"; +import { outdent } from "outdent"; + +function getUmdWrapper(name, build) { + const path = name.split("."); + const { minify } = build.initialOptions; + const temporaryName = minify ? "m" : camelCase(name); + const placeholder = "/*! bundled code !*/"; + + let globalObjectText = []; + for (let index = 0; index < path.length; index++) { + const object = ["root", ...path.slice(0, index + 1)].join("."); + if (index === path.length - 1) { + globalObjectText.push(`${object} = factory();`); + } else { + globalObjectText.push(`${object} = ${object} || {};`); + } + } + globalObjectText = globalObjectText + .map((text) => `${" ".repeat(4)}${text}`) + .join("\n"); + + let wrapper = outdent` + (function (factory) { + if (typeof exports === "object" && typeof module === "object") { + module.exports = factory(); + } else if (typeof define === "function" && define.amd) { + define(factory); + } else { + var root = + typeof globalThis !== "undefined" + ? globalThis + : typeof global !== "undefined" + ? global + : typeof self !== "undefined" + ? self + : this || {}; + ${globalObjectText.trimStart()} + } + })(function() { + ${placeholder} + return ${temporaryName}; + }); + `; + + if (minify) { + wrapper = build.esbuild + .buildSync({ stdin: { contents: wrapper }, minify, write: false }) + .outputFiles[0].text.trim(); + } + + const [intro, outro] = wrapper.split(placeholder); + + return { + name: temporaryName, + intro, + outro, + expectedOutput: `"use strict";${minify ? "" : "\n"}var ${temporaryName}${ + minify ? "=" : " = " + }`, + }; +} + +export default function esbuildPluginUmd({ name }) { + return { + name: "umd", + setup(build) { + const options = build.initialOptions; + const { globalName, format, outfile } = options; + + if (globalName) { + throw new Error("'globalName' in options cannot be set."); + } + + if (format !== "umd") { + throw new Error("'format' options must be 'umd'."); + } + + if (!outfile) { + throw new Error("'outfile' options is required."); + } + + const { + name: temporaryName, + intro, + outro, + expectedOutput, + } = getUmdWrapper(name, build); + options.globalName = temporaryName; + options.format = "iife"; + + build.onEnd(() => { + if (!fs.existsSync(outfile)) { + throw new Error(`${outfile} not exists`); + } + const text = fs.readFileSync(outfile, "utf8"); + const actualOutput = text.slice(0, expectedOutput.length); + if (actualOutput !== expectedOutput) { + console.log(); + console.error(outdent` + Expected output starts with: + ${expectedOutput} + + Got: + ${actualOutput} + `); + throw new Error("Unexpected output"); + } + + fs.writeFileSync(outfile, intro + text.trim() + outro); + }); + }, + }; +} diff --git a/scripts/build/rollup-plugins/evaluate.mjs b/scripts/build/rollup-plugins/evaluate.mjs deleted file mode 100644 index 961ce7584..000000000 --- a/scripts/build/rollup-plugins/evaluate.mjs +++ /dev/null @@ -1,30 +0,0 @@ -import createEsmUtils from "esm-utils"; - -const { require } = createEsmUtils(import.meta); - -export default function rollupPluginEvaluate() { - return { - name: "evaluate", - - transform(_text, id) { - if (!/\.evaluate\.js$/.test(id)) { - return; - } - - const json = JSON.stringify( - require(id.replace(/^\0commonjs-proxy:/, "")), - (_, v) => { - if (typeof v === "function") { - throw new TypeError("Cannot evaluate functions."); - } - return v; - } - ); - - return { - code: `export default ${json};`, - map: { mappings: "" }, - }; - }, - }; -} diff --git a/scripts/build/rollup-plugins/executable.mjs b/scripts/build/rollup-plugins/executable.mjs deleted file mode 100644 index 651dd1439..000000000 --- a/scripts/build/rollup-plugins/executable.mjs +++ /dev/null @@ -1,47 +0,0 @@ -import fs from "node:fs"; -import path from "node:path"; - -export default function rollupPluginExecutable() { - let banner; - let entry; - let file; - - return { - name: "executable", - - options(inputOptions) { - entry = path.resolve(inputOptions.input); - }, - - generateBundle(outputOptions) { - file = outputOptions.file; - }, - - load(id) { - if (id !== entry) { - return; - } - const source = fs.readFileSync(id, "utf-8"); - const match = source.match(/^\s*(#!.*)/); - if (match) { - banner = match[1]; - return ( - source.slice(0, match.index) + - source.slice(match.index + banner.length) - ); - } - }, - - renderChunk(code) { - if (banner) { - return { code: banner + "\n" + code }; - } - }, - - writeBundle() { - if (banner && file) { - fs.chmodSync(file, 0o755 & ~process.umask()); - } - }, - }; -} diff --git a/scripts/build/rollup-plugins/replace-module.mjs b/scripts/build/rollup-plugins/replace-module.mjs deleted file mode 100644 index 5d84dd8c5..000000000 --- a/scripts/build/rollup-plugins/replace-module.mjs +++ /dev/null @@ -1,19 +0,0 @@ -export default function rollupPluginReplaceModule(replacements = {}) { - return { - name: "replace-module", - - load(importee) { - if (!Reflect.has(replacements, importee)) { - return; - } - - const replacement = replacements[importee]; - - if (typeof replacement === "string") { - return `export default require(${JSON.stringify(replacement)});`; - } - - return replacement.code; - }, - }; -} diff --git a/scripts/build/save-licenses.mjs b/scripts/build/save-licenses.mjs new file mode 100644 index 000000000..12f323fc5 --- /dev/null +++ b/scripts/build/save-licenses.mjs @@ -0,0 +1,87 @@ +import path from "node:path"; +import { promises as fs } from "node:fs"; +import { outdent } from "outdent"; +import { DIST_DIR } from "../utils/index.mjs"; + +const file = path.join(DIST_DIR, "LICENSE"); +const separator = `\n${"-".repeat(40)}\n\n`; + +async function saveLicenses(dependencies) { + // Unique by `name` and `version` + dependencies = dependencies.filter( + (dependency, index) => + index === + dependencies.findIndex( + ({ name, version }) => + dependency.name === name && dependency.version === version + ) + ); + + dependencies.sort( + (dependencyA, dependencyB) => + dependencyA.name.localeCompare(dependencyB.name) || + dependencyA.version.localeCompare(dependencyB.version) + ); + + const prettierLicense = await fs.readFile(file, "utf8"); + + const licenses = [ + ...new Set( + dependencies + .filter(({ license }) => license) + .map(({ license }) => license) + ), + ]; + const text = outdent` + # Prettier license + + Prettier is released under the MIT license: + + ${prettierLicense.trim()} + + ## Licenses of bundled dependencies + + The published Prettier artifact additionally contains code with the following licenses: + ${licenses.join(", ")} + + ## Bundled dependencies + `; + + const content = dependencies + .map((dependency) => { + let text = `### ${dependency.name}@v${dependency.version}\n`; + + const meta = []; + + if (dependency.license) { + meta.push(`License: ${dependency.license}`); + } + if (dependency.author?.name) { + meta.push(`By: ${dependency.author.name}`); + } + if (dependency.repository?.url) { + meta.push(`Repository: <${dependency.repository.url}>`); + } + + if (meta.length > 0) { + text += "\n" + meta.join("\n") + "\n"; + } + + if (dependency.licenseText) { + text += + "\n" + + dependency.licenseText + .trim() + .split("\n") + .map((line) => (line ? `> ${line}` : ">")) + .join("\n") + + "\n"; + } + return text; + }) + .join(separator); + + await fs.writeFile(file, text + "\n\n" + content); +} + +export default saveLicenses; diff --git a/scripts/build/shims/assert.mjs b/scripts/build/shims/assert.mjs deleted file mode 100644 index 88e0542d1..000000000 --- a/scripts/build/shims/assert.mjs +++ /dev/null @@ -1,4 +0,0 @@ -function assert() {} -assert.ok = function () {}; -assert.strictEqual = function () {}; -export default assert; diff --git a/scripts/build/shims/events.mjs b/scripts/build/shims/events.mjs deleted file mode 100644 index 890a0781e..000000000 --- a/scripts/build/shims/events.mjs +++ /dev/null @@ -1 +0,0 @@ -export class EventEmitter {} diff --git a/scripts/build/shims/fs.mjs b/scripts/build/shims/fs.mjs deleted file mode 100644 index a91fc24ce..000000000 --- a/scripts/build/shims/fs.mjs +++ /dev/null @@ -1,4 +0,0 @@ -export const existsSync = () => false; -export const readFileSync = () => ""; -const fs = { existsSync, readFileSync }; -export default fs; diff --git a/scripts/build/shims/os.mjs b/scripts/build/shims/os.mjs deleted file mode 100644 index a39aa4726..000000000 --- a/scripts/build/shims/os.mjs +++ /dev/null @@ -1,6 +0,0 @@ -const os = { - EOL: "\n", - platform: () => "browser", - cpus: () => [{ model: "Prettier" }], -}; -export default os; diff --git a/scripts/build/shims/path.mjs b/scripts/build/shims/path.mjs deleted file mode 100644 index 85c8fe123..000000000 --- a/scripts/build/shims/path.mjs +++ /dev/null @@ -1,2 +0,0 @@ -export * from "path-browserify"; -export { default } from "path-browserify"; diff --git a/scripts/build/shims/tty.mjs b/scripts/build/shims/tty.mjs deleted file mode 100644 index 8023208d1..000000000 --- a/scripts/build/shims/tty.mjs +++ /dev/null @@ -1,6 +0,0 @@ -const tty = { - isatty() { - return false; - }, -}; -export default tty; diff --git a/scripts/release/steps/generate-bundles.js b/scripts/release/steps/generate-bundles.js index 52e2430b3..22ca621e3 100644 --- a/scripts/release/steps/generate-bundles.js +++ b/scripts/release/steps/generate-bundles.js @@ -2,7 +2,7 @@ import chalk from "chalk"; import { runYarn, logPromise, readJson } from "../utils.js"; export default async function generateBundles({ version }) { - await logPromise("Generating bundles", runYarn(["build", "--no-cache"])); + await logPromise("Generating bundles", runYarn(["build"])); const builtPkg = await readJson("dist/package.json"); if (builtPkg.version !== version) { diff --git a/scripts/utils/index.mjs b/scripts/utils/index.mjs index 3fe0a0e39..46438ac31 100644 --- a/scripts/utils/index.mjs +++ b/scripts/utils/index.mjs @@ -28,14 +28,12 @@ async function writeFile(file, content) { } const PROJECT_ROOT = url.fileURLToPath(new URL("../../", import.meta.url)); -const BUILD_CACHE_DIR = path.join(PROJECT_ROOT, ".cache"); const DIST_DIR = path.join(PROJECT_ROOT, "dist"); const WEBSITE_DIR = path.join(PROJECT_ROOT, "website"); export { PROJECT_ROOT, DIST_DIR, - BUILD_CACHE_DIR, WEBSITE_DIR, readJson, writeJson, diff --git a/yarn.lock b/yarn.lock index 803d04820..e49d2f751 100644 --- a/yarn.lock +++ b/yarn.lock @@ -16,7 +16,7 @@ dependencies: "@babel/highlight" "^7.0.0" -"@babel/code-frame@7.16.7", "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.14.5", "@babel/code-frame@^7.16.7": +"@babel/code-frame@7.16.7", "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.14.5", "@babel/code-frame@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== @@ -162,14 +162,7 @@ dependencies: "@babel/types" "^7.16.7" -"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.12.13": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz#90538e60b672ecf1b448f5f4f5433d37e79a3ec3" - integrity sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-module-imports@^7.16.7": +"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== @@ -891,9 +884,9 @@ esutils "^2.0.2" "@babel/runtime@^7.8.4": - version "7.16.3" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.3.tgz#b86f0db02a04187a3c17caa77de69840165d42d5" - integrity sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ== + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.7.tgz#03ff99f64106588c9c403c6ecb8c3bafbbdff1fa" + integrity sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ== dependencies: regenerator-runtime "^0.13.4" @@ -1168,6 +1161,19 @@ resolved "https://registry.yarnpkg.com/@cspell/dict-vue/-/dict-vue-2.0.1.tgz#7514875f760ae755d2a6ef1fd00917d107682fe1" integrity sha512-n9So2C2Zw+uSDRzb2h9wq3PjZBqoHx+vBvu6a34H2qpumNjZ6HaEronrzX5tXJJXzOtocIQYrLxdd128TAU3+g== +"@esbuild-plugins/node-globals-polyfill@0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@esbuild-plugins/node-globals-polyfill/-/node-globals-polyfill-0.1.1.tgz#a313ab3efbb2c17c8ce376aa216c627c9b40f9d7" + integrity sha512-MR0oAA+mlnJWrt1RQVQ+4VYuRJW/P2YmRTv1AsplObyvuBMnPHiizUF95HHYiSsMGLhyGtWufaq2XQg6+iurBg== + +"@esbuild-plugins/node-modules-polyfill@0.1.4": + version "0.1.4" + resolved "https://registry.yarnpkg.com/@esbuild-plugins/node-modules-polyfill/-/node-modules-polyfill-0.1.4.tgz#eb2f55da11967b2986c913f1a7957d1c868849c0" + integrity sha512-uZbcXi0zbmKC/050p3gJnne5Qdzw8vkXIv+c2BW0Lsc1ji1SkrxbKPUy5Efr0blbTu1SL8w4eyfpnSdPg3G0Qg== + dependencies: + escape-string-regexp "^4.0.0" + rollup-plugin-node-polyfills "^0.2.1" + "@eslint/eslintrc@^1.0.5": version "1.0.5" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.0.5.tgz#33f1b838dbf1f923bfa517e008362b78ddbbf318" @@ -1439,7 +1445,28 @@ jest-haste-map "^27.4.6" jest-runtime "^27.4.6" -"@jest/transform@^27.4.2", "@jest/transform@^27.4.6": +"@jest/transform@^27.4.2": + version "27.4.5" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.4.5.tgz#3dfe2e3680cd4aa27356172bf25617ab5b94f195" + integrity sha512-PuMet2UlZtlGzwc6L+aZmR3I7CEBpqadO03pU40l2RNY2fFJ191b9/ITB44LNOhVtsyykx0OZvj0PCyuLm7Eew== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^27.4.2" + babel-plugin-istanbul "^6.0.0" + chalk "^4.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.4" + jest-haste-map "^27.4.5" + jest-regex-util "^27.4.0" + jest-util "^27.4.2" + micromatch "^4.0.4" + pirates "^4.0.1" + slash "^3.0.0" + source-map "^0.6.1" + write-file-atomic "^3.0.0" + +"@jest/transform@^27.4.6": version "27.4.6" resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.4.6.tgz#153621940b1ed500305eacdb31105d415dc30231" integrity sha512-9MsufmJC8t5JTpWEQJ0OcOOAXaH5ioaIX6uHVBLBMoCZPfKKQF+EqP8kACAvCZ0Y1h2Zr3uOccg8re+Dr5jxyw== @@ -1497,79 +1524,6 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@rollup/plugin-alias@3.1.9": - version "3.1.9" - resolved "https://registry.yarnpkg.com/@rollup/plugin-alias/-/plugin-alias-3.1.9.tgz#a5d267548fe48441f34be8323fb64d1d4a1b3fdf" - integrity sha512-QI5fsEvm9bDzt32k39wpOwZhVzRcL5ydcffUHMyLVaVaLeC70I8TJZ17F1z1eMoLu4E/UOcH9BWVkKpIKdrfiw== - dependencies: - slash "^3.0.0" - -"@rollup/plugin-babel@5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.0.tgz#9cb1c5146ddd6a4968ad96f209c50c62f92f9879" - integrity sha512-9uIC8HZOnVLrLHxayq/PTzw+uS25E14KPUBh5ktF+18Mjo5yK0ToMMx6epY0uEgkjwJw0aBW4x2horYXh8juWw== - dependencies: - "@babel/helper-module-imports" "^7.10.4" - "@rollup/pluginutils" "^3.1.0" - -"@rollup/plugin-commonjs@21.0.1": - version "21.0.1" - resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-21.0.1.tgz#1e57c81ae1518e4df0954d681c642e7d94588fee" - integrity sha512-EA+g22lbNJ8p5kuZJUYyhhDK7WgJckW5g4pNN7n4mAFUM96VuwUnNT3xr2Db2iCZPI1pJPbGyfT5mS9T1dHfMg== - dependencies: - "@rollup/pluginutils" "^3.1.0" - commondir "^1.0.1" - estree-walker "^2.0.1" - glob "^7.1.6" - is-reference "^1.2.1" - magic-string "^0.25.7" - resolve "^1.17.0" - -"@rollup/plugin-inject@^4.0.0": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@rollup/plugin-inject/-/plugin-inject-4.0.3.tgz#6f04ebc14790a8bf892286fe9b8c0eb1ddf4d5ce" - integrity sha512-lzMXmj0LZjd67MI+M8H9dk/oCxR0TYqYAdZ6ZOejWQLSUtud+FUPu4NCMAO8KyWWAalFo8ean7yFHCMvCNsCZw== - dependencies: - "@rollup/pluginutils" "^3.1.0" - estree-walker "^2.0.1" - magic-string "^0.25.7" - -"@rollup/plugin-json@4.1.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-json/-/plugin-json-4.1.0.tgz#54e09867ae6963c593844d8bd7a9c718294496f3" - integrity sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw== - dependencies: - "@rollup/pluginutils" "^3.0.8" - -"@rollup/plugin-node-resolve@13.1.3": - version "13.1.3" - resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.1.3.tgz#2ed277fb3ad98745424c1d2ba152484508a92d79" - integrity sha512-BdxNk+LtmElRo5d06MGY4zoepyrXX1tkzX2hrnPEZ53k78GuOMWLqmJDGIIOPwVRIFZrLQOo+Yr6KtCuLIA0AQ== - dependencies: - "@rollup/pluginutils" "^3.1.0" - "@types/resolve" "1.17.1" - builtin-modules "^3.1.0" - deepmerge "^4.2.2" - is-module "^1.0.0" - resolve "^1.19.0" - -"@rollup/plugin-replace@3.0.1": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-3.0.1.tgz#f774550f482091719e52e9f14f67ffc0046a883d" - integrity sha512-989J5oRzf3mm0pO/0djTijdfEh9U3n63BIXN5X7T4U9BP+fN4oxQ6DvDuBvFaHA6scaHQRclqmKQEkBhB7k7Hg== - dependencies: - "@rollup/pluginutils" "^3.1.0" - magic-string "^0.25.7" - -"@rollup/pluginutils@^3.0.8", "@rollup/pluginutils@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" - integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== - dependencies: - "@types/estree" "0.0.39" - estree-walker "^1.0.1" - picomatch "^2.2.2" - "@simple-dom/interface@^1.4.0": version "1.4.0" resolved "https://registry.yarnpkg.com/@simple-dom/interface/-/interface-1.4.0.tgz#e8feea579232017f89b0138e2726facda6fbb71f" @@ -1627,32 +1581,11 @@ dependencies: "@babel/types" "^7.3.0" -"@types/eslint-scope@^3.7.0": - version "3.7.1" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.1.tgz#8dc390a7b4f9dd9f1284629efce982e41612116e" - integrity sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g== - dependencies: - "@types/eslint" "*" - "@types/estree" "*" - -"@types/eslint@*": - version "8.2.0" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.2.0.tgz#afd0519223c29c347087542cbaee2fedc0873b16" - integrity sha512-74hbvsnc+7TEDa1z5YLSe4/q8hGYB3USNvCuzHUJrjPV6hXaq8IXcngCrHkuvFt0+8rFz7xYXrHgNayIX0UZvQ== - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - -"@types/estree@*", "@types/estree@0.0.50", "@types/estree@^0.0.50": +"@types/estree@0.0.50": version "0.0.50" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== -"@types/estree@0.0.39": - version "0.0.39" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" - integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== - "@types/graceful-fs@^4.1.2": version "4.1.5" resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" @@ -1687,7 +1620,7 @@ jest-diff "^27.0.0" pretty-format "^27.0.0" -"@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": +"@types/json-schema@^7.0.5", "@types/json-schema@^7.0.9": version "7.0.9" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== @@ -1717,13 +1650,6 @@ resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.4.2.tgz#4c62fae93eb479660c3bd93f9d24d561597a8281" integrity sha512-ekoj4qOQYp7CvjX8ZDBgN86w3MqQhLE1hczEJbEIjgFEumDy+na/4AJAbLXfgEWFNB2pKadM5rPFtuSGMWK7xA== -"@types/resolve@1.17.1": - version "1.17.1" - resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" - integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== - dependencies: - "@types/node" "*" - "@types/stack-utils@^2.0.0": version "2.0.1" resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" @@ -1820,11 +1746,6 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.9.0.tgz#e5619803e39d24a03b3369506df196355736e1a3" integrity sha512-mWp6/b56Umo1rwyGCk8fPIzb9Migo8YOniBGPAQDNC6C52SeyNGN4gsVwQTAR+RS2L5xyajON4hOLwAGwPtUwg== -"@typescript-eslint/types@5.9.0": - version "5.9.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.9.0.tgz#e5619803e39d24a03b3369506df196355736e1a3" - integrity sha512-mWp6/b56Umo1rwyGCk8fPIzb9Migo8YOniBGPAQDNC6C52SeyNGN4gsVwQTAR+RS2L5xyajON4hOLwAGwPtUwg== - "@typescript-eslint/typescript-estree@5.5.0": version "5.5.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.5.0.tgz#12f422698c1636bd0206086bbec9844c54625ebc" @@ -1851,19 +1772,6 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@5.9.0": - version "5.9.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.9.0.tgz#0e5c6f03f982931abbfbc3c1b9df5fbf92a3490f" - integrity sha512-kxo3xL2mB7XmiVZcECbaDwYCt3qFXz99tBSuVJR4L/sR7CJ+UNAPrYILILktGj1ppfZ/jNt/cWYbziJUlHl1Pw== - dependencies: - "@typescript-eslint/types" "5.9.0" - "@typescript-eslint/visitor-keys" "5.9.0" - debug "^4.3.2" - globby "^11.0.4" - is-glob "^4.0.3" - semver "^7.3.5" - tsutils "^3.21.0" - "@typescript-eslint/visitor-keys@5.5.0": version "5.5.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.5.0.tgz#4787586897b61f26068a3db5c50b3f5d254f9083" @@ -1880,145 +1788,6 @@ "@typescript-eslint/types" "5.9.0" eslint-visitor-keys "^3.0.0" -"@typescript-eslint/visitor-keys@5.9.0": - version "5.9.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.9.0.tgz#7585677732365e9d27f1878150fab3922784a1a6" - integrity sha512-6zq0mb7LV0ThExKlecvpfepiB+XEtFv/bzx7/jKSgyXTFD7qjmSu1FoiS0x3OZaiS+UIXpH2vd9O89f02RCtgw== - dependencies: - "@typescript-eslint/types" "5.9.0" - eslint-visitor-keys "^3.0.0" - -"@webassemblyjs/ast@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" - integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== - dependencies: - "@webassemblyjs/helper-numbers" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - -"@webassemblyjs/floating-point-hex-parser@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f" - integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== - -"@webassemblyjs/helper-api-error@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16" - integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== - -"@webassemblyjs/helper-buffer@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5" - integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== - -"@webassemblyjs/helper-numbers@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae" - integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/helper-wasm-bytecode@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1" - integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== - -"@webassemblyjs/helper-wasm-section@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a" - integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== - dependencies: - "@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@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614" - integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5" - integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff" - integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== - -"@webassemblyjs/wasm-edit@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6" - integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== - dependencies: - "@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@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76" - integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== - dependencies: - "@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@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2" - integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== - dependencies: - "@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@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199" - integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== - dependencies: - "@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@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0" - integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@xtuc/long" "4.2.2" - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - abab@^2.0.3, abab@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" @@ -2032,11 +1801,6 @@ acorn-globals@^6.0.0: acorn "^7.1.1" acorn-walk "^7.1.1" -acorn-import-assertions@^1.7.6: - version "1.8.0" - resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" - integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== - acorn-jsx@^5.3.1: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" @@ -2052,7 +1816,7 @@ acorn@^7.1.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.2.4, acorn@^8.4.1, acorn@^8.7.0: +acorn@^8.2.4, acorn@^8.7.0: version "8.7.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== @@ -2077,7 +1841,7 @@ ajv-keywords@^3.5.2: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5: +ajv@^6.10.0, ajv@^6.12.4: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -2173,6 +1937,11 @@ argparse@^2.0.1: resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== +array-find-index@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= + array-includes@^3.1.3, array-includes@^3.1.4: version "3.1.4" resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9" @@ -2255,7 +2024,7 @@ babel-plugin-dynamic-import-node@^2.3.3: dependencies: object.assign "^4.1.0" -babel-plugin-istanbul@^6.1.1: +babel-plugin-istanbul@^6.0.0, babel-plugin-istanbul@^6.1.1: version "6.1.1" resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== @@ -2369,7 +2138,18 @@ browser-process-hrtime@^1.0.0: resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== -browserslist@^4.14.5, browserslist@^4.16.8, browserslist@^4.17.5, browserslist@^4.18.1: +browserslist@4.19.1, browserslist@^4.19.1: + version "4.19.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3" + integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A== + dependencies: + caniuse-lite "^1.0.30001286" + electron-to-chromium "^1.4.17" + escalade "^3.1.1" + node-releases "^2.0.1" + picocolors "^1.0.0" + +browserslist@^4.16.8, browserslist@^4.17.5: version "4.18.1" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.18.1.tgz#60d3920f25b6860eb917c6c7b185576f4d8b017f" integrity sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ== @@ -2392,7 +2172,7 @@ buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== -builtin-modules@3.2.0, builtin-modules@^3.0.0, builtin-modules@^3.1.0: +builtin-modules@3.2.0, builtin-modules@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887" integrity sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA== @@ -2425,6 +2205,11 @@ caniuse-lite@^1.0.30001267, caniuse-lite@^1.0.30001280: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001283.tgz#8573685bdae4d733ef18f78d44ba0ca5fe9e896b" integrity sha512-9RoKo841j1GQFSJz/nCXOj0sD7tHBtlowjYlrqIUS812x9/emfBLBt6IyMz1zIaYc/eRL8Cs6HPUVi2Hzq4sIg== +caniuse-lite@^1.0.30001286: + version "1.0.30001298" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001298.tgz#0e690039f62e91c3ea581673d716890512e7ec52" + integrity sha512-AcKqikjMLlvghZL/vfTHorlQsLDhGRalYf1+GmWCf5SCMziSGjRYQW/JEksj14NaYHIR6KIhrFAy0HV5C25UzQ== + ccount@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" @@ -2472,11 +2257,6 @@ character-reference-invalid@^1.0.0: resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== -chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== - ci-info@3.3.0, ci-info@^3.2.0, ci-info@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.0.tgz#b4ed1fb6818dea4803a55c623041f9165d2066b2" @@ -2575,7 +2355,7 @@ combined-stream@^1.0.8: dependencies: delayed-stream "~1.0.0" -commander@^2.19.0, commander@^2.20.0: +commander@^2.19.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -2601,6 +2381,11 @@ comment-parser@^1.1.2: resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-1.3.0.tgz#68beb7dbe0849295309b376406730cd16c719c44" integrity sha512-hRpmWIKgzd81vn0ydoWoyPoALEOnF4wt8yKD35Ib1D6XC2siLiYaiqfGkYrunuKdsXGwpBpHU3+9r+RVw2NZfA== +commenting@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/commenting/-/commenting-1.1.0.tgz#fae14345c6437b8554f30bc6aa6c1e1633033590" + integrity sha512-YeNK4tavZwtH7jEgK1ZINXzLKm6DZdEMfsaaieOsCAN0S8vsY7UeuO3Q7d/M018EFgE+IeUAuBOKkFccBZsUZA== + commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" @@ -2631,14 +2416,14 @@ convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: safe-buffer "~5.1.1" core-js-compat@^3.18.0, core-js-compat@^3.19.1: - version "3.19.2" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.19.2.tgz#18066a3404a302433cb0aa8be82dd3d75c76e5c4" - integrity sha512-ObBY1W5vx/LFFMaL1P5Udo4Npib6fu+cMokeziWkA8Tns4FcDemKF5j9JvaI5JhdkW8EQJQGJN1EcrzmEwuAqQ== + version "3.20.2" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.20.2.tgz#d1ff6936c7330959b46b2e08b122a8b14e26140b" + integrity sha512-qZEzVQ+5Qh6cROaTPFLNS4lkvQ6mBzE3R6A6EEpssj7Zr2egMHgsy4XapdifqJDGC9CBiNv7s+ejI96rLNQFdg== dependencies: - browserslist "^4.18.1" + browserslist "^4.19.1" semver "7.0.0" -core-js@3.20.2, core-js@^3.16.2: +core-js@3.20.2, core-js@^3.16.2, core-js@^3.4.1: version "3.20.2" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.20.2.tgz#46468d8601eafc8b266bd2dd6bf9dee622779581" integrity sha512-nuqhq11DcOAbFBV4zCbKeGbKQsUDRqTX0oqx7AttUBuqe3h20ixsE039QHelbL6P4h+9kytVqyEtyZ6gsiwEYw== @@ -2798,7 +2583,7 @@ data-urls@^2.0.0: whatwg-mimetype "^2.3.0" whatwg-url "^8.0.0" -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2: +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.3: version "4.3.3" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== @@ -2942,6 +2727,11 @@ electron-to-chromium@^1.3.896: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.6.tgz#7bf0c03001bcdbd0fc57a45c6b23bc6432246ade" integrity sha512-YDZAXP0P8USm0YoyIXWijxFT3tJHbt3WwY7CTQiK3+Ad6Ai/b9N4GqfDR107jfGilAfxl7Gkhb+h0KPoKXAgqw== +electron-to-chromium@^1.4.17: + version "1.4.38" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.38.tgz#10ea58d73d36b13e78d5024f3b74a352d3958d01" + integrity sha512-WhHt3sZazKj0KK/UpgsbGQnUUoFeAHVishzHFExMxagpZgjiGYSC9S0ZlbhCfSH2L2i+2A1yyqOIliTctMx7KQ== + emittery@^0.8.1: version "0.8.1" resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" @@ -2957,14 +2747,6 @@ emojis-list@^3.0.0: resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== -enhanced-resolve@^5.8.0: - version "5.8.3" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz#6d552d465cce0423f5b3d718511ea53826a7b2f0" - integrity sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - enquirer@2.3.6, enquirer@^2.3.5: version "2.3.6" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" @@ -3005,11 +2787,6 @@ es-abstract@^1.19.0, es-abstract@^1.19.1: string.prototype.trimstart "^1.0.4" unbox-primitive "^1.0.1" -es-module-lexer@^0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.7.1.tgz#c2c8e0f46f2df06274cdaf0dd3f3b33e0a0b267d" - integrity sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw== - es-to-primitive@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" @@ -3019,6 +2796,135 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" +esbuild-android-arm64@0.14.10: + version "0.14.10" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.10.tgz#c854db57dc2d4df6f4f62185ca812f26a132bf1e" + integrity sha512-vzkTafHKoiMX4uIN1kBnE/HXYLpNT95EgGanVk6DHGeYgDolU0NBxjO7yZpq4ZGFPOx8384eAdDrBYhO11TAlQ== + +esbuild-darwin-64@0.14.10: + version "0.14.10" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.10.tgz#c44fab6b8bfc83e5d083f513e4acbff14fb82eac" + integrity sha512-DJwzFVB95ZV7C3PQbf052WqaUuuMFXJeZJ0LKdnP1w+QOU0rlbKfX0tzuhoS//rOXUj1TFIwRuRsd0FX6skR7A== + +esbuild-darwin-arm64@0.14.10: + version "0.14.10" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.10.tgz#9454b3763b36407dc395c4c3529fb5ddd4a6225f" + integrity sha512-RNaaoZDg3nsqs5z56vYCjk/VJ76npf752W0rOaCl5lO5TsgV9zecfdYgt7dtUrIx8b7APhVaNYud+tGsDOVC9g== + +esbuild-freebsd-64@0.14.10: + version "0.14.10" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.10.tgz#04eef46d5d5e4152c6b5a6a12f432db0fe7c89de" + integrity sha512-10B3AzW894u6bGZZhWiJOHw1uEHb4AFbUuBdyml1Ht0vIqd+KqWW+iY/yMwQAzILr2WJZqEhbOXRkJtY8aRqOw== + +esbuild-freebsd-arm64@0.14.10: + version "0.14.10" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.10.tgz#67ca88529543ada948737c95819253ead16494a7" + integrity sha512-mSQrKB7UaWvuryBTCo9leOfY2uEUSimAvcKIaUWbk5Hth9Sg+Try+qNA/NibPgs/vHkX0KFo/Rce6RPea+P15g== + +esbuild-linux-32@0.14.10: + version "0.14.10" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.10.tgz#8f3d5fb0b9b616d6b604da781d71767d7679f64f" + integrity sha512-lktF09JgJLZ63ANYHIPdYe339PDuVn19Q/FcGKkXWf+jSPkn5xkYzAabboNGZNUgNqSJ/vY7VrOn6UrBbJjgYA== + +esbuild-linux-64@0.14.10: + version "0.14.10" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.10.tgz#c1c60a079c4709164bdd89fbb007a2edeea7c34a" + integrity sha512-K+gCQz2oLIIBI8ZM77e9sYD5/DwEpeYCrOQ2SYXx+R4OU2CT9QjJDi4/OpE7ko4AcYMlMW7qrOCuLSgAlEj4Wg== + +esbuild-linux-arm64@0.14.10: + version "0.14.10" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.10.tgz#d8f1f89190f6d8b6e06a1214aafba454e5daa990" + integrity sha512-+qocQuQvcp5wo/V+OLXxqHPc+gxHttJEvbU/xrCGE03vIMqraL4wMua8JQx0SWEnJCWP+Nhf//v8OSwz1Xr5kA== + +esbuild-linux-arm@0.14.10: + version "0.14.10" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.10.tgz#43192a00019a4553fb44e67f628fff0f560f16c2" + integrity sha512-BYa60dZ/KPmNKYxtHa3LSEdfKWHcm/RzP0MjB4AeBPhjS0D6/okhaBesZIY9kVIGDyeenKsJNOmnVt4+dhNnvQ== + +esbuild-linux-mips64le@0.14.10: + version "0.14.10" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.10.tgz#f57bb8b2f1a3063cc91cfd787c8a9130cf863c16" + integrity sha512-nmUd2xoBXpGo4NJCEWoaBj+n4EtDoLEvEYc8Z3aSJrY0Oa6s04czD1flmhd0I/d6QEU8b7GQ9U0g/rtBfhtxBg== + +esbuild-linux-ppc64le@0.14.10: + version "0.14.10" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.10.tgz#becd965bfe3425d41e026f1c4678b393127fecbd" + integrity sha512-vsOWZjm0rZix7HSmqwPph9arRVCyPtUpcURdayQDuIhMG2/UxJxpbdRaa//w4zYqcJzAWwuyH2PAlyy0ZNuxqQ== + +esbuild-linux-s390x@0.14.10: + version "0.14.10" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.10.tgz#cc4228ac842febc48b84757814bed964a619be62" + integrity sha512-knArKKZm0ypIYWOWyOT7+accVwbVV1LZnl2FWWy05u9Tyv5oqJ2F5+X2Vqe/gqd61enJXQWqoufXopvG3zULOg== + +esbuild-netbsd-64@0.14.10: + version "0.14.10" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.10.tgz#6ec50d9e4547a7579f447307b19f66bbedfd868b" + integrity sha512-6Gg8neVcLeyq0yt9bZpReb8ntZ8LBEjthxrcYWVrBElcltnDjIy1hrzsujt0+sC2rL+TlSsE9dzgyuvlDdPp2w== + +esbuild-openbsd-64@0.14.10: + version "0.14.10" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.10.tgz#925ac3d2326cc219d514e1ca806e80e5143aa043" + integrity sha512-9rkHZzp10zI90CfKbFrwmQjqZaeDmyQ6s9/hvCwRkbOCHuto6RvMYH9ghQpcr5cUxD5OQIA+sHXi0zokRNXjcg== + +esbuild-plugin-browserslist@0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/esbuild-plugin-browserslist/-/esbuild-plugin-browserslist-0.4.1.tgz#05ab5ea99f4d15ff7eacc306dce9c84b32e3757a" + integrity sha512-+LyFG83Ij1lueFt2ary1aore1kFCB+NMR6+P/lqTixUM/ifu8a5d8+4KxaI2QYksQ8PaJEYh9pfYw7eY1Xabug== + dependencies: + debug "^4.3.3" + zod "^3.11.6" + +esbuild-plugin-text-replace@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/esbuild-plugin-text-replace/-/esbuild-plugin-text-replace-1.1.3.tgz#3bd357b90e921fe56f4b13916302f77f9bc4f651" + integrity sha512-UY7nVdyxOXomNL0y+qLMcTV2nlbFP7gse1+RIdL1EvevahkSNcGWAAF6XmSE0k7MLbpS/hsLr1PE6n4PI+h5GA== + dependencies: + ts-replace-all "^1.0.0" + +esbuild-sunos-64@0.14.10: + version "0.14.10" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.10.tgz#8d3576d8cac5c4f9f2a84be81b9078d424dbc739" + integrity sha512-mEU+pqkhkhbwpJj5DiN3vL0GUFR/yrL3qj8ER1amIVyRibKbj02VM1QaIuk1sy5DRVIKiFXXgCaHvH3RNWCHIw== + +esbuild-windows-32@0.14.10: + version "0.14.10" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.10.tgz#8a67fca4cb594a340566d66eef3f568f65057a48" + integrity sha512-Z5DieUL1N6s78dOSdL95KWf8Y89RtPGxIoMF+LEy8ChDsX+pZpz6uAVCn+YaWpqQXO+2TnrcbgBIoprq2Mco1g== + +esbuild-windows-64@0.14.10: + version "0.14.10" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.10.tgz#5e6d7c475ff6a71ad0aa4046894364e6c40a9249" + integrity sha512-LE5Mm62y0Bilu7RDryBhHIX8rK3at5VwJ6IGM3BsASidCfOBTzqcs7Yy0/Vkq39VKeTmy9/66BAfVoZRNznoDw== + +esbuild-windows-arm64@0.14.10: + version "0.14.10" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.10.tgz#50ab9a83f6ccf71c272e58489ecc4d7375075f32" + integrity sha512-OJOyxDtabvcUYTc+O4dR0JMzLBz6G9+gXIHA7Oc5d5Fv1xiYa0nUeo8+W5s2e6ZkPRdIwOseYoL70rZz80S5BA== + +esbuild@0.14.10: + version "0.14.10" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.10.tgz#10268d2b576b25ed6f8554553413988628a7767b" + integrity sha512-ibZb+NwFqBwHHJlpnFMtg4aNmVK+LUtYMFC9CuKs6lDCBEvCHpqCFZFEirpqt1jOugwKGx8gALNGvX56lQyfew== + optionalDependencies: + esbuild-android-arm64 "0.14.10" + esbuild-darwin-64 "0.14.10" + esbuild-darwin-arm64 "0.14.10" + esbuild-freebsd-64 "0.14.10" + esbuild-freebsd-arm64 "0.14.10" + esbuild-linux-32 "0.14.10" + esbuild-linux-64 "0.14.10" + esbuild-linux-arm "0.14.10" + esbuild-linux-arm64 "0.14.10" + esbuild-linux-mips64le "0.14.10" + esbuild-linux-ppc64le "0.14.10" + esbuild-linux-s390x "0.14.10" + esbuild-netbsd-64 "0.14.10" + esbuild-openbsd-64 "0.14.10" + esbuild-sunos-64 "0.14.10" + esbuild-windows-32 "0.14.10" + esbuild-windows-64 "0.14.10" + esbuild-windows-arm64 "0.14.10" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -3182,7 +3088,7 @@ eslint-plugin-unicorn@40.0.0: semver "^7.3.5" strip-indent "^3.0.0" -eslint-scope@5.1.1, eslint-scope@^5.1.1: +eslint-scope@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== @@ -3302,26 +3208,16 @@ estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== -estree-walker@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" - integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== - -estree-walker@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" - integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== +estree-walker@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" + integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== esutils@2.0.3, esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -events@^3.2.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - execa@5.1.1, execa@^5.0.0: version "5.1.1" resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" @@ -3374,7 +3270,7 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-glob@3.2.9, fast-glob@^3.1.1, fast-glob@^3.2.7: +fast-glob@3.2.9: version "3.2.9" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.9.tgz#8f55f664b68a236bd29fa165817fc44f2b11faba" integrity sha512-MBwILhhD92sziIrMQwpqcuGERF+BH99ei2a3XsGJuqEKcSycAL+w0HWokFenZXona+kjFr82Lf71eTxNRC06XQ== @@ -3385,6 +3281,17 @@ fast-glob@3.2.9, fast-glob@^3.1.1, fast-glob@^3.2.7: merge2 "^1.3.0" micromatch "^4.0.4" +fast-glob@^3.1.1, fast-glob@^3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" + integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== + dependencies: + "@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@2.1.0, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" @@ -3520,7 +3427,7 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fsevents@^2.3.2, fsevents@~2.3.2: +fsevents@^2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== @@ -3596,12 +3503,19 @@ glob-parent@^6.0.1: dependencies: is-glob "^4.0.3" -glob-to-regexp@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" - integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== +glob@7.1.6: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + dependencies: + 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@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0: +glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== @@ -3935,11 +3849,6 @@ is-hexadecimal@^1.0.0: resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== -is-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" - integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= - is-negative-zero@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" @@ -3982,13 +3891,6 @@ is-potential-custom-element-name@^1.0.1: resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== -is-reference@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" - integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== - dependencies: - "@types/estree" "*" - is-regex@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" @@ -4258,6 +4160,26 @@ jest-haste-map@^27.4.2: optionalDependencies: fsevents "^2.3.2" +jest-haste-map@^27.4.5: + version "27.4.5" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.4.5.tgz#c2921224a59223f91e03ec15703905978ef0cc1a" + integrity sha512-oJm1b5qhhPs78K24EDGifWS0dELYxnoBiDhatT/FThgB9yxqUm5F6li3Pv+Q+apMBmmPNzOBnZ7ZxWMB1Leq1Q== + dependencies: + "@jest/types" "^27.4.2" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + jest-regex-util "^27.4.0" + jest-serializer "^27.4.0" + jest-util "^27.4.2" + jest-worker "^27.4.5" + micromatch "^4.0.4" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.3.2" + jest-haste-map@^27.4.6: version "27.4.6" resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.4.6.tgz#c60b5233a34ca0520f325b7e2cc0a0140ad0862a" @@ -4628,16 +4550,7 @@ jest-watcher@^27.4.6: jest-util "^27.4.2" string-length "^4.0.1" -jest-worker@^26.2.1: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" - integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest-worker@^27.4.1, jest-worker@^27.4.2: +jest-worker@^27.4.2, jest-worker@^27.4.5: version "27.4.5" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.4.5.tgz#d696e3e46ae0f24cff3fa7195ffba22889262242" integrity sha512-f2s8kEdy15cv9r7q4KkzGXvlY0JTcmCbMHZBfSQDwW77REr45IDWwd0lksDFeVHH2jJ5pqb90T77XscrjeGzzg== @@ -4732,7 +4645,7 @@ jsesc@~0.5.0: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= -json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: +json-parse-better-errors@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== @@ -4839,11 +4752,6 @@ load-json-file@^4.0.0: pify "^3.0.0" strip-bom "^3.0.0" -loader-runner@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.2.0.tgz#d7022380d66d14c5fb1d496b89864ebcfd478384" - integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw== - loader-utils@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" @@ -4853,15 +4761,6 @@ loader-utils@^1.4.0: emojis-list "^3.0.0" json5 "^1.0.1" -loader-utils@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.2.tgz#d6e3b4fb81870721ae4e0868ab11dd638368c129" - integrity sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" - locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" @@ -4899,6 +4798,11 @@ lodash.merge@^4.6.2: resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== +lodash@4.17.19: + version "4.17.19" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" + integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== + lodash@4.17.21, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" @@ -4926,7 +4830,7 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -magic-string@^0.25.7: +magic-string@0.25.7, magic-string@^0.25.3: version "0.25.7" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== @@ -5000,7 +4904,7 @@ mime-db@1.51.0: resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== -mime-types@^2.1.12, mime-types@^2.1.27: +mime-types@^2.1.12: version "2.1.34" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== @@ -5034,6 +4938,16 @@ minimist@1.2.5, minimist@^1.2.0, minimist@^1.2.5: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== +mkdirp@1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +moment@2.27.0: + version "2.27.0" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.27.0.tgz#8bff4e3e26a236220dfe3e36de756b6ebaa0105d" + integrity sha512-al0MUK7cpIcglMv3YF13qSgdAIqxHTO7brRtaz3DlSULbqfazqkc5kEjNrLDOM7fsjshoFIihnU8snrP7zUvhQ== + ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" @@ -5059,11 +4973,6 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= -neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - nice-try@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" @@ -5092,6 +5001,11 @@ node-int64@^0.4.0: resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= +node-modules-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= + node-releases@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" @@ -5306,6 +5220,11 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== +package-name-regex@1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/package-name-regex/-/package-name-regex-1.0.8.tgz#4b8388cace6cc415f462ab4a269583d9a2d9f131" + integrity sha512-g3vB2J62dLqf4m50VM4tJUC4sixw3JB+Igd0cF3P/gJhAvmvsmFEV2eWZTeLbwfkKEWTf3+gwQ2C6JFFRxWHEQ== + parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -5416,7 +5335,7 @@ picocolors@^1.0.0: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picomatch@^2.0.4, picomatch@^2.2.2, picomatch@^2.2.3: +picomatch@^2.0.4, picomatch@^2.2.3: version "2.3.0" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== @@ -5431,6 +5350,13 @@ pify@^3.0.0: resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= +pirates@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" + integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== + dependencies: + node-modules-regexp "^1.0.0" + pirates@^4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.4.tgz#07df81e61028e402735cdd49db701e4885b4e6e6" @@ -5586,13 +5512,6 @@ queue-microtask@^1.2.2: resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - react-is@^16.8.1: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" @@ -5798,7 +5717,7 @@ resolve.exports@^1.1.0: resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== -resolve@1.21.0, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.19.0, resolve@^1.20.0: +resolve@1.21.0, resolve@^1.14.2: version "1.21.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.21.0.tgz#b51adc97f3472e6a5cf4444d34bc9d6b9037591f" integrity sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA== @@ -5807,6 +5726,14 @@ resolve@1.21.0, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.19 path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" +resolve@^1.10.0, resolve@^1.20.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + resolve@^2.0.0-next.3: version "2.0.0-next.3" resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" @@ -5827,29 +5754,43 @@ rimraf@3.0.2, rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" -rollup-plugin-polyfill-node@0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-polyfill-node/-/rollup-plugin-polyfill-node-0.8.0.tgz#859c070822f5e38d221e5b4238cb34aa894c2b19" - integrity sha512-C4UeKedOmOBkB3FgR+z/v9kzRwV1Q/H8xWs1u1+CNe4XOV6hINfOrcO+TredKxYvopCmr+WKUSNsFUnD1RLHgQ== +rollup-plugin-inject@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rollup-plugin-inject/-/rollup-plugin-inject-3.0.2.tgz#e4233855bfba6c0c12a312fd6649dff9a13ee9f4" + integrity sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w== dependencies: - "@rollup/plugin-inject" "^4.0.0" + estree-walker "^0.6.1" + magic-string "^0.25.3" + rollup-pluginutils "^2.8.1" -rollup-plugin-terser@7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz#e8fbba4869981b2dc35ae7e8a502d5c6c04d324d" - integrity sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ== +rollup-plugin-license@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-license/-/rollup-plugin-license-2.2.0.tgz#0d19139bbe44dda500fbf15530af07c91949e348" + integrity sha512-xXb1vviEwlJMX+VGUSsglcMA/Rh9d2QzEm94awy4FlnsPqGrXoTYYGOR3UXR6gYIxiJFkr7qmkKF/NXfre/y8g== dependencies: - "@babel/code-frame" "^7.10.4" - jest-worker "^26.2.1" - serialize-javascript "^4.0.0" - terser "^5.0.0" + commenting "1.1.0" + glob "7.1.6" + lodash "4.17.19" + magic-string "0.25.7" + mkdirp "1.0.4" + moment "2.27.0" + package-name-regex "1.0.8" + spdx-expression-validate "2.0.0" + spdx-satisfies "5.0.0" -rollup@2.63.0: - version "2.63.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.63.0.tgz#fe2f7fec2133f3fab9e022b9ac245628d817c6bb" - integrity sha512-nps0idjmD+NXl6OREfyYXMn/dar3WGcyKn+KBzPdaLecub3x/LrId0wUcthcr8oZUAcZAR8NKcfGGFlNgGL1kQ== - optionalDependencies: - fsevents "~2.3.2" +rollup-plugin-node-polyfills@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/rollup-plugin-node-polyfills/-/rollup-plugin-node-polyfills-0.2.1.tgz#53092a2744837164d5b8a28812ba5f3ff61109fd" + integrity sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA== + dependencies: + rollup-plugin-inject "^3.0.0" + +rollup-pluginutils@^2.8.1: + version "2.8.2" + resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" + integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== + dependencies: + estree-walker "^0.6.1" run-parallel@^1.1.9: version "1.2.0" @@ -5858,11 +5799,6 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -safe-buffer@^5.1.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" @@ -5896,15 +5832,6 @@ schema-utils@^2.6.5: ajv "^6.12.4" ajv-keywords "^3.5.2" -schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" - integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - scslre@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/scslre/-/scslre-0.1.6.tgz#71a2832e4bf3a9254973a04fbed90aec94f75757" @@ -5941,20 +5868,6 @@ semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -serialize-javascript@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" - integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== - dependencies: - randombytes "^2.1.0" - -serialize-javascript@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" - integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== - dependencies: - randombytes "^2.1.0" - shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -6032,7 +5945,7 @@ snapshot-diff@0.9.0: jest-snapshot "^27.0.4" pretty-format "^27.0.2" -source-map-support@^0.5.6, source-map-support@~0.5.20: +source-map-support@^0.5.6: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -6050,7 +5963,7 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@^0.7.3, source-map@~0.7.2: +source-map@^0.7.3: version "0.7.3" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== @@ -6060,6 +5973,15 @@ sourcemap-codec@^1.4.4: resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== +spdx-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/spdx-compare/-/spdx-compare-1.0.0.tgz#2c55f117362078d7409e6d7b08ce70a857cd3ed7" + integrity sha512-C1mDZOX0hnu0ep9dfmuoi03+eOdDoz2yvK79RxbcrVEG1NO1Ph35yW102DHWKN4pk80nwCgeMmSY5L25VE4D9A== + dependencies: + array-find-index "^1.0.2" + spdx-expression-parse "^3.0.0" + spdx-ranges "^2.0.0" + spdx-correct@^3.0.0: version "3.1.1" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" @@ -6081,11 +6003,32 @@ spdx-expression-parse@^3.0.0: spdx-exceptions "^2.1.0" spdx-license-ids "^3.0.0" +spdx-expression-validate@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/spdx-expression-validate/-/spdx-expression-validate-2.0.0.tgz#25c9408e1c63fad94fff5517bb7101ffcd23350b" + integrity sha512-b3wydZLM+Tc6CFvaRDBOF9d76oGIHNCLYFeHbftFXUWjnfZWganmDmvtM5sm1cRwJc/VDBMLyGGrsLFd1vOxbg== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids@^3.0.0: version "3.0.11" resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== +spdx-ranges@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/spdx-ranges/-/spdx-ranges-2.1.1.tgz#87573927ba51e92b3f4550ab60bfc83dd07bac20" + integrity sha512-mcdpQFV7UDAgLpXEE/jOMqvK4LBoO0uTQg0uvXUewmEFhpiZx5yJSZITHB8w1ZahKdhfZqP5GPEOKLyEq5p8XA== + +spdx-satisfies@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/spdx-satisfies/-/spdx-satisfies-5.0.0.tgz#d740b8f14caeada36fb307629dee87146970a256" + integrity sha512-/hGhwh20BeGmkA+P/lm06RvXD94JduwNxtx/oX3B5ClPt1/u/m5MCaDNo1tV3Y9laLkQr/NRde63b9lLMhlNfw== + dependencies: + spdx-compare "^1.0.0" + spdx-expression-parse "^3.0.0" + spdx-ranges "^2.0.0" + sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" @@ -6119,14 +6062,6 @@ string-length@^5.0.1: char-regex "^2.0.0" strip-ansi "^7.0.1" -string-replace-loader@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-replace-loader/-/string-replace-loader-3.1.0.tgz#11ac6ee76bab80316a86af358ab773193dd57a4f" - integrity sha512-5AOMUZeX5HE/ylKDnEa/KKBqvlnFmRZudSOjVJHxhoJg9QYTwl1rECx7SLR8BBH7tfxb4Rp7EM2XVfQFxIhsbQ== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - string-width@4.2.3, string-width@^4.1.0, string-width@^4.2.0: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" @@ -6276,11 +6211,6 @@ symbol-tree@^3.2.4: resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== -tapable@^2.1.1, tapable@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== - temp-dir@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-2.0.0.tgz#bde92b05bdfeb1516e804c9c00ad45177f31321e" @@ -6305,26 +6235,6 @@ terminal-link@^2.0.0: ansi-escapes "^4.2.1" supports-hyperlinks "^2.0.0" -terser-webpack-plugin@5.3.0, terser-webpack-plugin@^5.1.3: - version "5.3.0" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.0.tgz#21641326486ecf91d8054161c816e464435bae9f" - integrity sha512-LPIisi3Ol4chwAaPP8toUJ3L4qCM1G0wao7L3qNv57Drezxj6+VEyySpPw4B1HSO2Eg/hDY/MNF5XihCAoqnsQ== - dependencies: - jest-worker "^27.4.1" - schema-utils "^3.1.1" - serialize-javascript "^6.0.0" - source-map "^0.6.1" - terser "^5.7.2" - -terser@^5.0.0, terser@^5.7.2: - version "5.10.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.10.0.tgz#b86390809c0389105eb0a0b62397563096ddafcc" - integrity sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA== - dependencies: - commander "^2.20.0" - source-map "~0.7.2" - source-map-support "~0.5.20" - test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -6392,6 +6302,13 @@ trough@^1.0.0: resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== +ts-replace-all@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/ts-replace-all/-/ts-replace-all-1.0.0.tgz#ef28283ccdb4da7d69fb03cf543e09e51711659b" + integrity sha512-6uBtdkw3jHXkPtx/e9xB/5vcngMm17CyJYsS2YZeQ+9FdRnt6Ev5g931Sg2p+dxbtMGoCm13m3ax/obicTZIkQ== + dependencies: + core-js "^3.4.1" + tsconfig-paths@^3.12.0: version "3.12.0" resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz#19769aca6ee8f6a1a341e38c8fa45dd9fb18899b" @@ -6687,14 +6604,6 @@ walker@^1.0.7: dependencies: makeerror "1.0.12" -watchpack@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.3.0.tgz#a41bca3da6afaff31e92a433f4c856a0c25ea0c4" - integrity sha512-MnN0Q1OsvB/GGHETrFeZPQaOelWh/7O+EiFlj8sM9GPjtQkis7k01aAxrg/18kTfoIVcLL+haEVFlXDaSRwKRw== - dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" - wcwidth@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" @@ -6717,41 +6626,6 @@ webidl-conversions@^6.1.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== -webpack-sources@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.2.tgz#d88e3741833efec57c4c789b6010db9977545260" - integrity sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw== - -webpack@5.49.0: - version "5.49.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.49.0.tgz#e250362b781a9fb614ba0a97ed67c66b9c5310cd" - integrity sha512-XarsANVf28A7Q3KPxSnX80EkCcuOer5hTOEJWJNvbskOZ+EK3pobHarGHceyUZMxpsTHBHhlV7hiQyLZzGosYw== - dependencies: - "@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.0" - es-module-lexer "^0.7.1" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.4" - 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.2.0" - webpack-sources "^3.2.0" - whatwg-encoding@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" @@ -6903,3 +6777,8 @@ yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +zod@^3.11.6: + version "3.11.6" + resolved "https://registry.yarnpkg.com/zod/-/zod-3.11.6.tgz#e43a5e0c213ae2e02aefe7cb2b1a6fa3d7f1f483" + integrity sha512-daZ80A81I3/9lIydI44motWe6n59kRBfNzTuS2bfzVh1nAXi667TOTWWtatxyG+fwgNUiagSj/CWZwRRbevJIg==